General documentation

page general_doc

General API design

The design of the class hierarchy is strongly derived from ISO 19111:2019.

Classes for which the constructors are not directly accessible have their instances constructed with create() methods. The returned object is a non-null shared pointer. Such objects are immutable, and thread-safe.

TODO

General properties

All classes deriving from IdentifiedObject have general properties that can be defined at creation time. Those properties are:

Applicable standards

ISO:19111 / OGC Topic 2 standard

Topic 2 - Spatial referencing by coordinates.

This is an Abstract Specification describes the data elements, relationships and associated metadata required for spatial referencing by coordinates. It describes Coordinate Reference Systems (CRS), coordinate systems (CS) and coordinate transformation or coordinate conversion between two different coordinate reference systems.

ISO 19111:2019

This is the revision mostly used for PROJ C++ modelling.

[OGC 18-005r4, 2019-02-08, ISO 19111:2019] (http://docs.opengeospatial.org/as/18-005r4/18-005r4.html)

ISO 19111:2007

The precedent version of the specification was: [OGC 08-015r2, 2010-04-27, ISO 19111:2007] (http://portal.opengeospatial.org/files/?artifact_id=39049)

WKT2 standard

Well-known text representation of coordinate reference systems.

Well-known Text (WKT) offers a compact machine- and human-readable representation of the critical elements of coordinate reference system (CRS) definitions, and coordinate operations. This is an implementation of ISO:19111 / OGC Topic 2 standard

PROJ implements the two following revisions of the standard:

WKT2:2019

[OGC 18-010r7, 2019-06-24, WKT2-2019] (http://docs.opengeospatial.org/is/18-010r7/18-010r7.html)

WKT2:2015

[OGC 12-063r5, 2015-05-01, ISO 19162:2015(E), WKT2-2015] (http://docs.opengeospatial.org/is/12-063r5/12-063r5.html)

WKT1 specification

Older specifications of well-known text representation of coordinate reference systems are also supported by PROJ, mostly for compatibility with legacy systems, or older versions of GDAL.

GDAL v2.4 and earlier mostly implements:

[OGC 01-009, 2001-01-12, OpenGIS Coordinate Transformation Service Implementation Specification] (http://portal.opengeospatial.org/files/?artifact_id=999)

The [GDAL documentation, OGC WKT Coordinate System Issues] (https://gdal.org/tutorials/wktproblems.html) discusses issues, and GDAL implementation choices.

An older specification of WKT1 is/was used by some software packages:

[OGC 99-049, 1999-05-05, OpenGIS Simple Features Specification For SQL v1.1] (http://portal.opengeospatial.org/files/?artifact_id=829)

ISO 19115 (Metadata)

Defines the schema required for describing geographic information and services. It provides information about the identification, the extent, the quality, the spatial and temporal schema, spatial reference, and distribution of digital geographic data.

PROJ implements a simplified subset of ISO 19115.

GeoAPI

A set of Java and Python language programming interfaces for geospatial applications.

GeoAPI main page

GeoAPI Javadoc

[OGC GeoAPI Implementation Specification] (http://www.opengeospatial.org/standards/geoapi)