---
title: ISO 19107:2019 — Spatial schema
description: Records ISO 19107:2019 through OGC 19-092, LongitudeOne geometry-model usage and the limits of the accessible evidence.
canonical_html: ./iso-19107.html
canonical_markdown: ./iso-19107.md
---

[View HTML version](./iso-19107.html)

ISO 19107:2019 is the spatial-schema edition selected by the Product Owner for
LongitudeOne. The official [OGC Abstract Specification catalogue][ogc-catalogue]
records it as **OGC 19-092**, *Topic 1.0 — ISO 19107:2019 Geographic information —
Spatial schema*, version **2.0**, document type **AS** (Abstract Specification).
The catalogue's document link leads directly to the [ISO 19107:2019 record][iso2019].
This identifies the adopted reference; it does not supply its normative clauses.

LongitudeOne uses geometry-family and dimension classifications in its PHP model.
The implementation evidence below explains how those classifications are checked;
it does not establish compliance with ISO 19107:2019.

## Normative reference and accessible scope

| Reference                                    | Edition or version       | Source and accessible evidence                                     |
| -------------------------------------------- | ------------------------ | ------------------------------------------------------------------ |
| ISO 19107:2019                               | Edition 2, December 2019 | [ISO catalogue][iso2019]: title, publication metadata and abstract |
| OGC 19-092, Abstract Specification Topic 1.0 | Version 2.0, AS          | [OGC catalogue][ogc-catalogue]: identification and direct ISO link |

The OGC catalogue identifies ISO 19107:2019 as its Topic 1.0 reference. No separate
OGC publication date, complete OGC 19-092 text or declaration that an independently
available OGC text is normatively identical has been verified. The identifier's
`19` prefix is not used as evidence of a publication date.

The official ISO catalogue **Abstract** describes conceptual schemas for spatial
characteristics of geographic entities and consistent spatial operations. Its
scope includes vector geometry and topology, and access, query, management,
processing and exchange of geographic information. It describes applicability
normally up to three spatial dimensions, one temporal dimension and spatially
dependent parameters, with spatial projections of topological dimension at most
three. This is an **informative scope summary from the catalogue**, not a
clause-level statement of dimensional constraints or conformance requirements.

LongitudeOne does not have the budget to acquire the published ISO standards.
The official OGC source and selected edition were verified on **2026-10-11**;
the OGC catalogue links to the ISO record rather than an accessible full text.
No complete ISO 19107:2019 or OGC 19-092 normative text has been verified.
Consequently, the following remain **Not assessed**:

- geometry and topology class definitions and constraints;
- applicable coordinate and topological dimension requirements;
- spatial operation contracts and relationships;
- conformance classes, requirement identifiers, amendments and corrigenda.

These subjects require exact clauses from the selected edition before a direct
LongitudeOne comparison can be completed. The reference choice is resolved;
access to those clauses remains the evidence gap for Task #65 and Story #61.
A complete normative assessment requires that text, or explicit Product Owner
acceptance of a reduced assessment scope.

### Historical references

OGC Simple Feature Access 1.2.1, **OGC 06-103r4**, Introduction, identifies its
model as a profile of **ISO 19107:2003**. Its Annex A describes the correspondence
but is informative. The [official document][sfa] remains relevant to the separate
[Simple Features reference](../ogc/ogc-06-103r4.md); it does not substitute for
ISO 19107:2019.

The project-held **ISO/IEC CD 13249-3:201x(E)**, dated **2009-01-16**, cites
ISO 19107 without an edition in 2.2 and imports spatial terms in 3.1.3.
This is a SQL/MM Committee Draft, not an ISO 19107 draft. See the
[SQL/MM source record](iso-iec-13249-3.md#normative-source).

## How LongitudeOne uses spatial-schema concepts

### Geometry families and implementation availability

LongitudeOne identifies families with `GeometryTypeEnum`: Point, curve and
surface families, collections and additional model families. Its
`isInstantiable()` classification is checked for every enum case by
[`GeometryTypeEnumTest::testInstantiabilityClassification()`][geometry-tests].

The separate [`SpatialTypeImplementationStatus::isFullyImplemented()`][status] check
records class availability.

The [SQL/MM reference](iso-iec-13249-3.md#geometry-model-and-dimensions) records
the verified SQL/MM comparison for its geometry family.

### Geometry dimension and coordinate layouts

LongitudeOne keeps the geometry's intrinsic dimension separate from the number
of coordinate ordinates. `TopologicalDimensionEnum` distinguishes points (0),
curves (1), surfaces (2) and volumes (3), with a separate empty value (-1).
`GeometryTypeEnum::topologicalDimension()` maps families to that classification;
mixed collections have no single type-level dimension.

`CoordinateDimensionEnum` separately describes XY, XYZ, XYM and XYZM layouts.
Its tests check ordinate counts, order and Z/M presence. Consequently, an XYZM
point remains point-dimensional even though its coordinate has four ordinates.
This is **LongitudeOne implementation behavior**, not a claim that an ISO edition
requires these exact PHP enums or the empty sentinel.

`TopologicalDimensionEnumTest` checks the dimension categories, while
`GeometryTypeEnumTest` checks their family mapping. These tests establish the
expected PHP classification. Direct ISO verification would additionally need
the selected edition's definitions and applicable object constraints.

## LongitudeOne support and assessment limits

**Core** denotes Spatial Core **1.3.0**, revision
`1289582288e8954243de5ccb1f28ab7e78f4e9a4`.
**Types** denotes the Spatial Types **pre-1.0 development snapshot** after
`0.0.1-alpha.4`, revision `ceaee5d142c77fc3922ab50c762fa6648fea0e30`.
Snapshot findings do not promise released availability. No DBMS scope is assessed.

The supported records describe PHP features only. Their equivalence to individual
ISO 19107:2019 requirements remains **Not assessed**.

| Feature               | Implementation scope | Status              | Limitations              | Implementation decision | Extensions   | Evidence                                                       |
| --------------------- | -------------------- | ------------------- | ------------------------ | ----------------------- | ------------ | -------------------------------------------------------------- |
| Family classification | Core                 | Supported           | PHP metadata only        | Explicit enum cases     | Not assessed | [Enum][geometry]; [tests][geometry-tests]                      |
| Dimension distinction | Core                 | Supported           | PHP primitives only      | Separate enums          | Not assessed | [Topology tests][topology-tests]; [layout tests][layout-tests] |
| Geometry classes      | Types                | Partially supported | Subset below             | PHP objects             | Not assessed | [Types catalogue][types]                                       |
| ISO conformance       | Core and Types       | Not assessed        | 2019 clauses unavailable | No blanket claim        | Not assessed | No direct ISO audit                                            |

The [Types catalogue][types] documents Point,
LineString, Polygon, CircularString, CompoundCurve, Triangle, GeometryCollection,
MultiPoint, MultiLineString and MultiPolygon in XY/XYZ/XYM/XYZM, and
PolyhedralSurface in XYZ/XYZM. It also identifies unavailable families, including
CurvePolygon, MultiCurve, MultiSurface, TIN and BRepSolid. These are implementation
gaps in the assessed snapshot, not an inventory of all ISO 19107 requirements.

No LongitudeOne extension to ISO 19107:2019 is asserted: deciding whether a model
feature exceeds that edition requires its verified clauses. The OGC 19-092
identification resolves the reference choice but does not complete that assessment.

## Related references

- [ISO reference overview](index.md)
- [SQL/MM Spatial implementation comparisons](iso-iec-13249-3.md)
- [Spatial Core 1.x geometry primitives](../../spatial-core/v1/geometry/index.md)
- [Reference architecture and support records](../../shared/spatial-reference-documentation-architecture.md)

[iso2019]: https://www.iso.org/standard/66175.html

[sfa]: https://docs.ogc.org/is/06-103r4/06-103r4.pdf

[ogc-catalogue]: https://www.ogc.org/standards/abstract-specification/

[geometry]: https://github.com/longitude-one/spatial-core/blob/1289582288e8954243de5ccb1f28ab7e78f4e9a4/lib/Enum/GeometryTypeEnum.php

[geometry-tests]: https://github.com/longitude-one/spatial-core/blob/1289582288e8954243de5ccb1f28ab7e78f4e9a4/tests/Unit/Enum/GeometryTypeEnumTest.php

[topology-tests]: https://github.com/longitude-one/spatial-core/blob/1289582288e8954243de5ccb1f28ab7e78f4e9a4/tests/Unit/Enum/TopologicalDimensionEnumTest.php

[layout-tests]: https://github.com/longitude-one/spatial-core/blob/1289582288e8954243de5ccb1f28ab7e78f4e9a4/tests/Unit/Enum/CoordinateDimensionEnumTest.php

[status]: https://github.com/longitude-one/spatial-types/blob/ceaee5d142c77fc3922ab50c762fa6648fea0e30/lib/Implementation/SpatialTypeImplementationStatus.php

[types]: https://github.com/longitude-one/spatial-types/blob/ceaee5d142c77fc3922ab50c762fa6648fea0e30/docs/instantiable-spatial-types.md
