NAME

GIS::Distance::GreatCircle - Great circle distance calculations.

SYNOPSIS

my $calc = GIS::Distance::GreatCircle->new();
my $distance = $calc->distance( $lon1, $lat1 => $lon2, $lat2 );

DESCRIPTION

A true Great Circle Distance calculation. This was created because the GIS::Distance::MathTrig calculation uses Math::Trig's great_circle_distance() which doesn't actually appear to use the actual Great Circle Distance formula.

BROKEN

As documented in more detail at the BUGS section of GIS::Distance, the distances returned by this module seem to be invalid. Don't use this module unless you want to help fix it.

FORMULA

c = 2 * asin( sqrt(
  ( sin(( lat1 - lat2 )/2) )^2 + 
  cos( lat1 ) * cos( lat2 ) * 
  ( sin(( lon1 - lon2 )/2) )^2
) )

METHODS

distance

my $distance = $calc->distance( $lon1, $lat1 => $lon2, $lat2 );

This method accepts two lat/lon sets (in decimal degrees) and returns a Class::Measure::Length object containing the distance between the two points.

AUTHOR

Aran Clary Deltac <bluefeet@cpan.org>

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.