PROJ.4 - Cartographic Projections Library
Table of Contents
This web page relates to the PROJ.4 Cartographic Projections library originally written by Gerald Evenden then of the USGS.
Latest News
PROJ 4.6.1RC2 is available for testing prior to 4.6.1 final release!
PROJ 4.6.1RC2 includes EPSG 6.17.
Download
The current development source is available by anonymous CVS from the server ":pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot". For example:
% cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot login Password: <enter> % cvs -d :pserver:cvsanon@cvs.maptools.org:/cvs/maptools/cvsroot co proj
The following files are available from the proj ftp directory or http mirror.
- Source Code:
- http://download.osgeo.org/proj/proj-4.6.0.tar.gz or http://download.osgeo.org/proj/proj-4.6.0.zip: Current source release.
- Datum shift grids:
- proj-datumgrid-1.4.zip: US, Canadian, French and New Zealand datum shift grids - unzip in the nad directory before configuring to add NAD27/NAD83 and NZGD49 datum conversion.
- Binaries:
- proj446_win32_bin.zip: Prebuilt Win32 executables, DLL including NAD27 grid shift files.
- proj-4.4.8-1.i386.rpm: Binary distribution for Intel Linux (glibc 2.1). The Mapping Hacks RPM Repository may have more current PROJ.4 RPMs for Fedora Core. The GDF Hannover RPM Repository offers PROJ.4 RPMs for SuSe and Mandrake/Mandriva.
- PROJ.4 in a Debian Package
- PROJ.4 as a pkgsrc package.
- PROJ.4 Ported to the Delphi (Borland C++) environment.
- Legacy:
- PROJ.4.3.3.tar.gz: The last PROJ 4.3 release produced by Gerald Evenden (classic PROJ.4).
- from_kai: A snapshot of everything on the kai.er.usgs.gov/pub/PROJ.4 directory as of March/2000.
Documentation
- OF90-284.pdf (2.7MB): The main users manual for PROJ; however, this dates from PROJ.3 - the addendums proj.4.3.pdf (1MB), proj.4.3.I2.pdf (2MB), and swiss.pdf (78KB) contain important additional information.
- Gerald Evenden's libproj: includes some updates and documentation for his slimmed down libproj.
- proj, cs2cs, geod and api man pages.
- FAQ: Frequently Asked Questions and Answers
- General Parameter Notes
- Projections List page on the GeoTIFF site includes information on how to describe many common projections with PROJ.4 command arguments.
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
- Submit a new bug report (you need to login with an OSGeo Userid)
- List Open Bugs
- List Open Enhancement Requests
Buildbot
The PROJ.4 Buildbot master is hosted on OSGeo Buildbot Farm. There are following builders configured:
- athlonxp_linux_quick - incremental builds of [source:trunk]. Use it if you want to do fast check of your commits.
- athlonxp_linux_full - full builds of [source:trunk]
If the Buildbot Waterfall is green and there are no red boxes, then PROJ.4 is healthy.
Plans
PROJ.4 is in active use by GRASS GIS, MapServer, PostGIS, Thuban, OGDI and OGRCoordinateTransformation as well as various other projects (please let me know about other projects using PROJ.4!).
Since work started on the PROJ.4.4.x series of releases, various bux 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.
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
- Snyder, 1987: Map projections; a working manual.
- PROJ.4 VB Wrappers from Eric G. Miller.
- PROJ4JS - JavaScript? projections implementation.
- GMT - Generic Mapping Tools, includes reprojection services.
- Map projections: An introduction to cartography emphasizing map projections: their properties, applications and basic mathematics.
- GCTPC: The other widely used projection package from the USGS.
- Geotrans: a projections and datum shift program from NIMA/NGA.
- 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.
- MapRef: Assorted general information on projections, and related topics.
- Grids & Datums: Clifford J. Mugnier's columns in PE&RS.
- NGA Publications on Geodesy.
- Paul B. Anderson's Map Projections Site.
