NAME Astro::MapProjection - A few simple map projections (Hammer, sinusoidal, ...) SYNOPSIS use Astro::MapProjection qw/miller_projection hammer_projection sinusoidal_projection/; my ($x, $y) = hammer_projection($latitude, $longitude); DESCRIPTION Simple XS module that implements a few map projections (see below). Let me know if you need any others. EXPORT None by default. You can choose to import the following functions: miller_projection hammer_projection sinusoidal_projection PROJECTIONS Hammer projection An equal area map projection after Ernst Hammer. x = 2*sqrt(2) * cos(lat)*sin(long/2) / sqrt(1+cos(lat)*cos(long/2)) y = sqrt(2)*sin(lat) / sqrt(1+cos(lat)*cos(long/2)) <http://en.wikipedia.org/wiki/Hammer_projection> Sinusoidal projection Pseudocylindrical equal-area map projection. Also called Sanson-Flamsteed or Mercartor equal-area projection. x = (long-long_0)*cos(lat) y = lat <http://en.wikipedia.org/wiki/Sinusoidal_projection> Miller cylindrical projection x = long y = 5/4 * ln(tan(pi/4 + 2/5 * lat)) <http://en.wikipedia.org/wiki/Miller_cylindrical_projection> SEE ALSO For more general information on map projections: <http://en.wikipedia.org/wiki/Map_projection> AUTHOR Steffen Mueller, <smueller@cpan.org> COPYRIGHT AND LICENSE Copyright (C) 2009 by Steffen Mueller This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.0 or, at your option, any later version of Perl 5 you may have available.