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.