The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Geo::Sun - Calculates the Geodetic Position of the Sun over the Surface of the Earth

SYNOPSIS

  use Geo::Sun;
  my $gs=Geo::Sun->new;                              #isa Geo::Sun
  my $point=$gs->set_datetime(DateTime->now)->point; #Full OO interface
  printf "Point isa %s\n", ref($point);              #isa GPS::Point
  printf "Latitude: %s, Longitude: %s\n", $point->latlon;

DESCRIPTION

The Geo::Sun package calculates the position of the Sun over the Earth. The user method point_dt takes a DateTime object as a parameter and returns a GPS::Point which is the point on the earth where the Sun is directly over at the given time.

The Geo::Sun package is a wrapper around Astro::Coord::ECI::Sun with a user friendly interface.

USAGE

  use Geo::Sun;
  my $gs=Geo::Sun->new;
  printf "Lat: %s, Lon: %s\n", $gs->point->latlon;

CONSTRUCTOR

new

  my $gs=Geo::Sun->new;

METHODS

point

Returns a GPS::Point for the location of the sun at the current datetime.

  my $point=$gs->point;
  my $point=$gs->set_datetime(DateTime->now)->point;

point_dt

Set the current datetime and returns a GPS::Point

  my $point=$gs->point_dt($datetime);

Implemented as

  my $point=$gs->set_datetime($datetime)->point;

datetime

Sets or returns the current datetime which is a DateTime object. The default is DateTime->now.

set_datetime

Sets datetime returns self

METHODS (INTERNAL)

point_recalculate

Recalculates the point when the DateTime is changed.

point_onchange

Override this method if you want to calculate something when the point changes

sun

Sets or returns the Astro::Coord::ECI::Sun object.

  my $sun=$gs->sun;

ellipsoid

Set or returns the Geo::Ellipsoids object.

  my $ellipsoid=$gs->ellipsoid;  #WGS84

BUGS

Please send to the geo-perl email list.

SUPPORT

Try the geo-perl email list.

LIMITATIONS

Calculations are only good to about 3 decimal places.

AUTHOR

    Michael R. Davis
    CPAN ID: MRDVT
    STOP, LLC
    domain=>stopllc,tld=>com,account=>mdavis
    http://www.stopllc.com/

COPYRIGHT

This program is free software licensed under the...

        The BSD License

The full text of the license can be found in the LICENSE file included with this module.

SEE ALSO