ISO 19136 — Geography Markup Language
GML describes geographic features and their spatial and non-spatial properties in XML. Its geometry schemas provide an interchange representation; a PHP geometry classification is not itself a GML document or an XML schema.
Normative source
This reference examines ISO 19136:2007, Geographic information — Geography Markup Language (GML), first edition, September 2007 (ISO catalogue). The accessible technical source is OGC 07-036, OpenGIS Geography Markup Language (GML) Encoding Standard, 3.2.1, dated 2007-08-27 (official PDF). OGC identifies GML 3.2 as ISO 19136:2007 in its conformance test suite. All technical clause references below refer to the inspected OGC 07-036 text.
The OGC GML catalogue lists the corrected GML 3.2.2 document, 07-036r1, separately. This page summarizes the base 3.2.1 text, without asserting corrected-edition requirements or conformance to them. ISO identifies ISO 19136-1:2020 as the successor to the withdrawn 2007 edition; requirements of that successor are outside this reference's scope.
The edition examined here provides a verified geometry reference. It does not establish that LongitudeOne implements or claims conformance to ISO 19136.
Purpose and scope
GML covers XML application schemas, geographic features, geometries, reference systems, topology, time and other geographic information (OGC 07-036, clause 1). The geometry subjects relevant to LongitudeOne's spatial primitives are:
- geometry families and aggregates (clauses 10–11);
- coordinate tuples and lists (10.1.4);
- reference-system identification and coordinate dimensions (10.1.3.2).
GML is broader than a geometry-only format. Its XML identities, property elements and application schemas are separate from geometry family names.
Relevant requirements
Geometry objects and families
Normative summary: geometry types derive from AbstractGeometryType, and
geometry elements belong to the AbstractGeometry substitution group directly
or indirectly. Geometry elements have a gml:id identifier (10.1.3.1).
Point, curve, surface and solid schemas are described in 10.3–10.6. Aggregates
include MultiGeometry, MultiPoint, MultiCurve and MultiSurface (11.3).
These XML structures must not be inferred solely from a PHP enum case.
Coordinates and reference systems
Normative summaries:
srsNamereferences a CRS. When absent, the containing context supplies the CRS.srsDimensioncounts coordinate values per position, derives from the CRS and is omitted whensrsNameis omitted (10.1.3.2).posrepresents a direct position, with CRS information that can come from the containing geometry (10.1.4.1).posListrepresents positions in one CRS. Its number of values equals the position count multiplied by the CRS dimension. Supplyingcountalso requiressrsDimension(10.1.4.2).Pointcontains a single coordinate tuple. The oldercoordinateselement is deprecated in favour ofpos(10.3.1).
Informative explanation: an integer SRID is not the same representation as
the URI-valued srsName. Likewise, an XYM layout has three stored ordinates but
does not by itself establish a three-axis CRS. A GML mapping needs an explicit
interpretation of coordinates and their reference system.
Conformance
Normative summary: GML application schemas use the schema components from clauses 7–19 according to clause 21; profiles follow clause 20. Clause 2 defines conformance classes rather than requiring every application to implement all GML capabilities (2.1). Geometry names alone do not establish conformance.
LongitudeOne support
The assessed implementation is Spatial Core 1.3.0, revision
1289582288e8954243de5ccb1f28ab7e78f4e9a4. It provides PHP enums and technical
primitives, including geometry families and XY/XYZ/XYM/XYZM coordinate layouts.
The support record describes that released package; it does not assign a GML
support status to other libraries or DBMS integrations.
| Feature | Implementation scope | Status | Limitations | Implementation decision | Extensions | Evidence |
|---|---|---|---|---|---|---|
| Geometry classification | Core 1.3.0 | Supported | PHP classification only | Geometry enum | None documented | Enum |
| Coordinate layouts | Core 1.3.0 | Supported | No GML/CRS mapping | Distinct Z and M | None documented | Coordinate enum |
| GML geometry XML | Core 1.3.0 | Unsupported | No XML representation API | Technical primitives | None documented | Public API |
| GML schemas and validation | Core 1.3.0 | Unsupported | No schema validation API | Technical primitives | None documented | Public API |
LongitudeOne implementation decision: enum membership describes a model
classification. It does not supply concrete geometry objects, GML elements,
gml:id, CRS URIs or XML schema validation. The supported primitive rows above
are implementation capabilities, not claims of GML conformance.
Extensions: none are documented for the assessed GML capabilities. SQL/MM layout modifiers and names in a PHP enum are not identified here as GML extensions. No blanket ISO 19136 conformance is claimed.