The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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.