MCPcopy Create free account
hub / github.com/OSGeo/PROJ

github.com/OSGeo/PROJ @9.8.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release 9.8.1 ↗ · + Follow
4,170 symbols 16,197 edges 347 files 1,278 documented · 31% updated 7d ago9.8.1 · 2026-04-10★ 1,99394 open issues

Browse by type

Functions 3,477 Types & classes 693
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

PROJ

Coveralls Status CodeQL Gitter Mailing List Contributor Covenant Release DOI

PROJ is a generic coordinate transformation software, that transforms coordinates from one coordinate reference system (CRS) to another. This includes cartographic projections as well as geodetic transformations.

For more information on the PROJ project please see the web page at:

https://proj.org/

The PROJ mailing list can be found at:

https://lists.osgeo.org/mailman/listinfo/proj/

See the NEWS.md file for changes between versions.

The following command line utilities are included in the PROJ package:

  • proj: for cartographic projection of geodetic coordinates.
  • cs2cs: for transformation from one CRS to another CRS.
  • geod: for geodesic (great circle) computations.
  • cct: for generic Coordinate Conversions and Transformations.
  • gie: the Geospatial Integrity Investigation Environment.
  • projinfo: for geodetic object and coordinate operation queries.
  • projsync: for synchronizing PROJ datum and transformation support data.

More information on the utilities can be found on the PROJ website.

Installation

Consult the Installation page of the official documentation. For builds on the master branch, install.rst might be more up-to-date.

Distribution files and format

Sources are distributed in one or more files. The principle elements of the system are stored in a compressed tar file named proj-x.y.z.tar.gz where "x" will indicate the major release number, "y" indicates the minor release number, and "z" indicates the patch number of the release.

In addition to the PROJ software package, distributions of datum conversion grid files and PROJ parameter files are also available. The grid package is distributed under the name proj-data-x.y.zip, where "x" is the major release version and "y" is the minor release version numbers. The resource packages can be downloaded from the PROJ website.

More info on the contents of the proj-data package can be found at the PROJ-data GitHub repository.

The resource file packages should be extracted to PROJ_LIB where PROJ will find them after installation. The default location of PROJ_LIB on UNIX-based systems is /usr/local/share/proj but it may be changed to a different directory. On Windows you have to define PROJ_LIB yourself.

As an alternative to installing the data package on the local system, the resource files can be retrieved on-the-fly from the PROJ CDN. A network-enabled PROJ build, will automatically fetch resource files that are not present locally from the CDN.

Citing PROJ in publications

See CITATION

Core symbols most depended-on inside this repo

Shape

Function 1,976
Method 1,501
Class 622
Enum 71

Languages

C++91%
C5%
Python4%
TypeScript1%

Modules by API surface

src/iso19111/io.cpp280 symbols
src/iso19111/c_api.cpp252 symbols
src/iso19111/factory.cpp177 symbols
src/iso19111/operation/coordinateoperationfactory.cpp137 symbols
src/grids.cpp137 symbols
src/iso19111/crs.cpp126 symbols
src/iso19111/operation/conversion.cpp115 symbols
src/networkfilemanager.cpp85 symbols
src/iso19111/operation/singleoperation.cpp74 symbols
src/geodesic.c69 symbols
src/iso19111/datum.cpp66 symbols
src/filemanager.cpp66 symbols

For agents

$ claude mcp add PROJ \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page