PROJ.4 - Cartographic Projections Library

This web page relates to the PROJ.4 Cartographic Projections library originally written by Gerald Evenden then of the USGS.

Download

The current development source is available by anonymous SVN from  http://svn.osgeo.org/metacrs/proj/trunk/proj.

The following files are available from the  proj ftp directory or  http mirror.

Documentation

Mailing List

A mailing list is available for users and developers of PROJ.4 as well as for discussion of general cartographic projections related issues. Subscription, unsubscription and a web archive can be found at  http://lists.maptools.org/mailman/listinfo/proj. The PROJ.4 mailing list is also available by NNTP at  news://news.gmane.org/gmane.comp.gis.proj-4.devel and via HTML at  http://news.gmane.org/gmane.comp.gis.proj-4.devel.

Bug Tracking

Plans

PROJ.4 is in active use by  GRASS GIS,  MapServer,  PostGIS,  Thuban,  OGDI,  Mapnik,  TopoCad, and  OGRCoordinateTransformation as well as various other projects.

Since work started on the PROJ.4.4.x series of releases, various bug fixes have been incorporated, and the build system has been overhauled to use autoconf/libtool. Support has also been added for 3 and 7 parameter datum shifts, the PJ* structure now also carries datum information and PJ* can be considered a full coordinate system (geographic coordinate systems are also now supported with the +proj=latlong pseudo-projection). The new cs2cs program performs a similar function to the proj program, but transforming from any one coordinate system to another. The new pj_transform() is used to access the extended coordinate system to coordinate system transformation with datum shifting. Work is underway to improve ThreadSafety.

A mapping file (epsg) has also been introduced mapping most EPSG ( http://www.epsg.org/) coordinate systems to PROJ.4 format.

As of May 2008 PROJ.4 has become part of the  MetaCRS project, a confederation of coordinate systems related projects and it is hoped MetaCRS will enter incubation as an  OSGeo project.

Future plans for PROJ.4 will hopefully include better online documentation, refinement of datum shifting support and extension of the external programming API for greater convenience in handling coordinate systems from applications.

If you are a user of PROJ.4, and/or are interested in contributing please drop me a line and join the mailing list.

License

PROJ.4 has been placed under an MIT license. I believe this to be as close as possible to public domain while satisfying those who say that a copyright notice is required in some countries. The COPYING file read as follows:

All source, data files and other contents of the PROJ.4 package are available under the following terms. Note that the PROJ 4.3 and earlier was "public domain" as is common with US government work, but apparently this is not a well defined legal term in many countries. I am placing everything under the following MIT style license because I believe it is effectively the same as public domain, allowing anyone to use the code as they wish, including making proprietary derivatives.

Though I have put my own name as copyright holder, I don't mean to imply I did the work. Essentially all work was done by Gerald Evenden.

 Copyright (c) 2000, Frank Warmerdam

 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
 to deal in the Software without restriction, including without limitation
 the rights to use, copy, modify, merge, publish, distribute, sublicense,
 and/or sell copies of the Software, and to permit persons to whom the
 Software is furnished to do so, subject to the following conditions:

 The above copyright notice and this permission notice shall be included
 in all copies or substantial portions of the Software.

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 DEALINGS IN THE SOFTWARE.

Related Resources

Documentation

Language bindings

Other projections libraries/software

  •  PROJ4JS - Javascript projections implementation.
  •  PROJ4PHP - PHP projections implementation.
  •  GMT - Generic Mapping Tools, includes reprojection services.
  •  GCTPC: The other widely used projection package from the USGS.
  •  Geotrans: a projections and datum shift program from NIMA/NGA.
  •  GeographicLib: C++ class for projection, geodesic and geoid calculations by Charles Karney.
  •  JHLabs Java Map Projection Library: Loosely derived from PROJ.4 with similar syntax.
  •  GeoTools: GeoTools is a Java GIS library that includes sophisticated projections support.
  •  PCTrans: A Projection/Datum converter for Windows from the Dutch Navy, with most worldwide datums