PROJ
# PROJ

PROJ (formerly PROJ.4) is a library for performing conversions between cartographic projections. The library is based on the work of Gerald Evenden at the United States Geological Survey (USGS), but since 2019-11-26 is an Open Source Geospatial Foundation (OSGeo) project maintained by the PROJ Project Steering Committee (PSC). The library also ships with executables for performing these transformations from the command line.

## History

The history of PROJ dates back to the late 1970s, and the first release of PROJ was developed by Gerald Evenden in the early 1980s as a Ratfor program. It was based on the General Cartographic Transformation Package or GCTP, which consisted of Fortran subroutines that could be used to project geographic data. The second release of PROJ from 1985 was rewritten in C to run on UNIX systems. The third release of PROJ from 1990, was expanded to support approximately 70 cartographic projections. Evenden further developed a fourth release in 1994, named PROJ.4. The last version maintained by Evenden was 4.3, released on September 24, 1995.

After over four years of inactivity, Frank Warmerdam became the new maintainer and released version 4.4 on March 21, 2000. As of May 2008, PROJ became part of the MetaCRS project, a confederation of coordinate systems related projects under incubation with OSGeo.

With the release of version 5.0 in February 2018, the software was renamed to PROJ, removing version four (".4") from the name. With the acquisition of the proj.org domain name in June 2019, the project was also renamed as PROJ.

## Ports

The string format that PROJ uses to describe coordinate systems and transformations, proj string or proj.4 string, is widely used beyond PROJ proper. A wide variety of ports or bindings in other programming languages have been developed.

* Bindings based on the PROJ library (libproj) exist for Python, Ruby, Rust, Golang, Julia, TCL, MySQL, Excel, Visual Basic, and Fortran. PROJ.4 additionally had bindings for R and Perl.
* Proj4JS (JavaScript) and Proj4J (Java) are ports of PROJ into different programming languages now managed under MetaCRS.
