|
Geo::Forward - Calculate geographic location from lat, lon, distance, and heading. |
Geo::Forward - Calculate geographic location from lat, lon, distance, and heading.
use Geo::Forward; my $obj = Geo::Forward->new(); # default "WGS84" my ($lat1,$lon1,$faz,$dist)=(38.871022, -77.055874, 62.888507083, 4565.6854); my ($lat2,$lon2,$baz) = $obj->forward($lat1,$lon1,$faz,$dist); print "Input Lat: $lat1 Lon: $lon1\n"; print "Input Forward Azimuth: $faz\n"; print "Input Distance: $dist\n"; print "Output Lat: $lat2 Lon: $lon2\n"; print "Output Back Azimuth: $baz\n";
This module is a pure Perl port of the NGS program in the public domain ``forward'' by Robert (Sid) Safford and Stephen J. Frakes.
The new() constructor may be called with any parameter that is appropriate to the ellipsoid method which establishes the ellipsoid.
my $obj = Geo::Forward->new(); # default "WGS84"
Method to set or retrieve the current ellipsoid object. The ellipsoid is a Geo::Ellipsoids object.
my $ellipsoid=$obj->ellipsoid; #Default is WGS84
$obj->ellipsoid('Clarke 1866'); #Built in ellipsoids from Geo::Ellipsoids
$obj->ellipsoid({a=>1}); #Custom Sphere 1 unit radius
This method is the user frontend to the mathematics. This interface will not change in future versions.
my ($lat2,$lon2,$baz) = $obj->forward($lat1,$lon1,$faz,$dist);
Add tests for more ellipsoids.
Please send to the geo-perl email list.
No guarantees that Perl handles all of the double precision calculations in the same manner as Fortran.
Michael R. Davis qw/perl michaelrdavis com/
Copyright (c) 2006 Michael R. Davis (mrdvt92)
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Net::GPSD Geo::Spline Geo::Ellipsoid Geo::Ellipsoids
|
Geo::Forward - Calculate geographic location from lat, lon, distance, and heading. |