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.