NAME

PDL::GIS::Proj - PDL interface to the Proj4 projection library.

DESCRIPTION

PDL interface to the Proj4 projection library.

For more information on the proj library, see: http://www.remotesensing.org/proj/

AUTHOR

Judd Taylor, Orbital Systems, Ltd. judd dot t at orbitalsystems dot com

DATE

18 March 2003

CHANGES

1.32 (29 March 2006) Judd Taylor

- Getting ready to merge this into the PDL CVS. 

1.31 (???) Judd Taylor

- Can't remember what was in that version

1.30 (16 September 2003) Judd Taylor

- The get_proj_info() function actually works now.

1.20 (24 April 2003) Judd Taylor

- Added get_proj_info().

1.10 (23 April 2003) Judd Taylor

- Changed from using the proj_init() type API in projects.h to the
- proj_init_plus() API in proj_api.h. The old one was not that stable...

1.00 (18 March 2003) Judd Taylor

- Initial version

COPYRIGHT NOTICE

Copyright 2003 Judd Taylor, USF Institute for Marine Remote Sensing (judd@marine.usf.edu).

GPL Now!

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SUBROUTINES

fwd_transform($lon(pdl), $lat(pdl), $params)

Proj4 forward transformation $params is a string of the projection transformation parameters.

Returns two pdls for x and y values respectively. The units are dependent on Proj4 behavior. They will be PDL->null if an error has occurred.

BadDoc: Ignores bad elements of $lat and $lon, and sets the corresponding elements of $x and $y to BAD

inv_transform($x(pdl), $y(pdl), $params)

Proj4 inverse transformation $params is a string of the projection transformation parameters.

Returns two pdls for lat and lon values respectively. The units are dependent on Proj4 behavior. They will be PDL->null if an error has occurred.

BadDoc: Ignores bad elements of $lat and $lon, and sets the corresponding elements of $x and $y to BAD

get_proj_info($params_string)

Returns a string with information about what parameters proj will actually use, this includes defaults, and +init=file stuff. It's the same as running 'proj -v'. It uses the proj command line, so it might not work with all shells. I've tested it with bash.