Skip to main content

ISO 19111 — Referencing by coordinates

View Markdown versionEdit this page on GitHub

ISO 19111 describes coordinate reference systems and coordinate operations. LongitudeOne stores reference identifiers alongside coordinates; that capability does not implement the complete CRS model or establish ISO conformance.

Normative source​

  • ISO, ISO 19111:2019, Geographic information — Referencing by coordinates, edition 3, January 2019: ISO catalogue.
  • Adopted technical reference: OGC 18-005r5, OGC Abstract Specification Topic 2: Referencing by coordinates Corrigendum, version 5.0.1, approved 2021-03-26, published 2021-07-02: official HTML. Alexandre selected this reference during correction of Story #61's review. All technical citations below refer to its numbered HTML clauses; the HTML publication has no printed page numbering.

Corrigendum scope: the preface states consistency with ISO 19111:2019 and incorporation of three editorial corrections from ISO 19111:2019/Amd 1:2021. The revision history identifies definition 3.18 (numbered 3.1.18 in the body), 7.4 Figure 5 and Table 2 as corrected locations. This reference uses that corrected text rather than the superseded OGC 08-015r2/2007 analysis. Separately, OGC 20-040r3, clause 3, explicitly identifies OGC 18-005r5 and ISO 19111:2019 as identical in normative content. These are OGC's source statements, not a claim of direct inspection of the ISO publication. Later OGC revisions and additional ISO corrections are outside this assessment.

Purpose and scope​

The relevant subjects are the definition of a CRS, its axes and units, identification of reference objects, and operations that change coordinates. These distinguish an identifier attached to a geometry from a complete reference system definition and from a calculation that changes its coordinates.

This assessment covers the adopted 2019 model, including static and dynamic CRS metadata. CRS encodings and DBMS axis conventions remain outside this page.

Relevant requirements​

Normative summaries from OGC 18-005r5:

  • CRS definition (9.1.1): a CRS normally combines a coordinate system with a datum or datum ensemble; a derived CRS adds a defining conversion.
  • Axes and tuples (7.2, 10.1): the coordinate system defines axis names, units, directions and sequence. A coordinate tuple has one ordinate per axis and follows that axis sequence.
  • Identification (7.2): a CRS may be identified by a full description or a register citation plus the identifier of its defining record.
  • Coordinate metadata (7.3.1–7.3.2, Requirements 1–2): all tuples in a set must share one CRS; a dynamic CRS additionally requires one coordinate epoch.
  • Operations (3.1.6, 3.1.12, 12.1): conversion changes coordinates between CRSs based on the same datum; transformation uses CRSs based on different datums. Point motion changes coordinates between epochs within one CRS.
  • Conformance (4, Table 1): separate conformance classes assess coordinate metadata, CRS descriptions and coordinate-operation descriptions.

Informative explanation: recording EPSG:4326 supplies a reference to a definition. It does not itself provide axes, units, datum parameters or a coordinate operation implementation. A PHP XY/XYZ/XYM/XYZM layout alone cannot establish conformity with the axes of a particular CRS.

LongitudeOne support​

Assessed implementation: Spatial Types pre-1.0 development snapshot after 0.0.1-alpha.4, revision ceaee5d142c77fc3922ab50c762fa6648fea0e30. This is evidence about a development snapshot, not a released 1.x promise. No DBMS integration is assessed.

FeatureImplementation scopeStatusLimitationsImplementation decisionExtensionsEvidence
Reference identificationTypes snapshotPartially supportedIdentifier only; no full CRS definitionInteger and optional authorityNone documentedReference value
CRS definitionTypes snapshotUnsupportedNo datum, axes or units modelReference identity onlyNone documentedReference value
CRS axis validationTypes snapshotUnsupportedNo CRS lookup or tuple/axis verificationStored ordinates retainedNone documentedSRS guide
Dynamic coordinate metadataTypes snapshotUnsupportedNo coordinate epoch or reference-frame modelIdentifier metadata onlyNone documentedReference value
Coordinate operationsTypes snapshotUnsupportedExternal calculation requiredRelabeling preserves coordinatesNone documentedSRS guide

LongitudeOne implementation decisions: SpatialReference compares the integer identifier and optional authority. Identifier 0 is an unnamed reference rather than a wildcard. Aggregate members must share the parent's full reference. These identity rules are project behavior. Full identity matching supports a single-reference invariant, but does not establish CRS-definition or dynamic coordinate-metadata conformance under clauses 4 and 7.3.

withSpatialReference() changes the declared reference on an immutable copy without calculating new ordinates. It therefore does not perform the coordinate operations described in OGC 18-005r5, clause 12.1. A caller must obtain the target ordinates through an external component.

Extensions: none are documented for this assessed subset. This is not an ecosystem-wide absence claim. No blanket ISO 19111 conformance is claimed.