Skip to main content

ISO 19136 — Geography Markup Language

View Markdown versionEdit this page on GitHub

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:

  • srsName references a CRS. When absent, the containing context supplies the CRS. srsDimension counts coordinate values per position, derives from the CRS and is omitted when srsName is omitted (10.1.3.2).
  • pos represents a direct position, with CRS information that can come from the containing geometry (10.1.4.1).
  • posList represents positions in one CRS. Its number of values equals the position count multiplied by the CRS dimension. Supplying count also requires srsDimension (10.1.4.2).
  • Point contains a single coordinate tuple. The older coordinates element is deprecated in favour of pos (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.

FeatureImplementation scopeStatusLimitationsImplementation decisionExtensionsEvidence
Geometry classificationCore 1.3.0SupportedPHP classification onlyGeometry enumNone documentedEnum
Coordinate layoutsCore 1.3.0SupportedNo GML/CRS mappingDistinct Z and MNone documentedCoordinate enum
GML geometry XMLCore 1.3.0UnsupportedNo XML representation APITechnical primitivesNone documentedPublic API
GML schemas and validationCore 1.3.0UnsupportedNo schema validation APITechnical primitivesNone documentedPublic 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.