package GIS::Distance::Formula; =head1 NAME GIS::Distance::Formula - Role for all the GIS::Distance::Formula:: classes. =head1 DESCRIPTION This role enforces an API and provides shared information for the formula classes that use it. =cut use Any::Moose '::Role'; use Carp qw( croak ); requires 'distance'; =head1 ATTRIBUTES =head2 kilometer_rho Number of kilometers around the equator of the earth. Defaults to 6371.64. =cut has 'kilometer_rho' => ( is => 'ro', isa => 'Num', default => 6371.64, ); =head2 deg_ratio Number of units in a single decimal degree (lat or lon) at the equator. The default, 0.0174532925199433, is derived from: $gis->distance( 10,0 => 11,0 )->km() / $gis->kilometer_rho() =cut has 'deg_ratio' => ( is => 'ro', isa => 'Num', default => 0.0174532925199433, ); 1; __END__ =head1 AUTHOR Aran Clary Deltac =head1 LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.