PROJ C++ API
|
The design of the class hierarchy is strongly derived from ISO 19111:2018.
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
All classes deriving from IdentifiedObject have general properties that can be defined at creation time. Those properties are:
osgeo::proj::metadata::Identifier::URI_KEY ("uri"): the URI of the identifier, provided as a string. Often unused
osgeo::proj::common::IdentifiedObject::DEPRECATED_KEY ("deprecated"): the deprecation flag of a osgeo::proj::common::IdentifiedObject, provided as a boolean.
osgeo::proj::common::ObjectUsage::OBJECT_DOMAIN_KEY ("objectDomain"): the object domain(s) of a osgeo::proj::common::ObjectUsage, provided as a osgeo::proj::common::ObjectDomainNNPtr or a osgeo::proj::util::ArrayOfBaseObjectNNPtr of osgeo::proj::common::ObjectDomainNNPtr.
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.
This is the revision mostly used for PROJ C++ modelling.
OGC 18-005r1, 2018-04-04, ISO 19111:2018 (not yet adopted, at time of writing)
The precedent version of the specification was: OGC 08-015r2, 2010-04-27, ISO 19111:2007
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:
OGC 18-010r1, 2018-06-08, WKT2-2018 (not yet adopted, at time of writing)
OGC 12-063r5, 2015-05-01, WKT2-2015
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.3 and earlier mostly implements:
OGC 01-009, 2001-01-12, OpenGIS Coordinate Transformation Service Implementation Specification
The GDAL documentation, OGC WKT Coordinate System Issues 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
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.
A set of Java and Python language programming interfaces for geospatial applications.