NAME

GIS::Distance::Formula - Formula base class.

DESCRIPTION

This is the parent class for all GIS::Distance formula classes such as those listed at "FORMULAS" in GIS::Distance.

To author your own formula class:

package My::Formula;

use parent 'GIS::Distance::Formula';

sub _distance {
    my ($lat1, $lon1, $lat2, $lon2) = @_;
    
    # ...
    
    return $kilometers;
}

1;

Then use it:

my $gis = GIS::Distance->new('My::Formula');
my $km = $gis->distance( @coords );

The global $GIS::Distance::Formula::SELF is available when your _distance() subroutine is called if, and only if, the entry point was "distance" in GIS::Distance and NOT "distance_metal" in GIS::Distance or otherwise.

Much of the interface described in GIS::Distance is actually implemented by this module.

SUPPORT

See "SUPPORT" in GIS::Distance.

AUTHORS

See "AUTHORS" in GIS::Distance.

COPYRIGHT AND LICENSE

See "COPYRIGHT AND LICENSE" in GIS::Distance.