Geography Markup Language (GML) is an XML grammar for expressing geographic features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet. More information can be found on the Geography Markup Language Standards page on the Open Geospatial Consortium (OGC) website.
The XML specifications that GML is based on are available from the World Wide Web Consortium (W3C) website.
Information about Unicode and UTF-8, the character encoding we have chosen, is available on the Unicode Consortium website.
Feature attribute: A property of a feature implemented as an XML element, as defined in ISO 19109.
XML attribute: Attribute as used in an XML context is referred to as an XML attribute.
Property: Most feature attributes are encoded as GML properties – property means a GML property.
XML schemas are used to define and validate the format and content of the GML. The GML 3.2.1 specification provides a set of schemas that define the GML feature constructs and geometric types. These are designed to be used as a basis for building application-specific schemas, which define the data content.
The Ordnance Survey application schemas, which are referenced by the data, are available online. These schemas make use of XML schema definitions (XSDs) and document type definitions (DTDs) produced by the W3C, which are available from the W3C website.
The W3C-provided XSDs and DTDs are as follows:
xml.xsd: to allow the use of the xml:lang attribute for language qualification.
XMLSchema.dtd: Required by xml.xsd.
datatypes.dtd: Required by XMLSchema.dtd.
The OGC-provided schemas are:
feature.xsd: The feature and property constructs.
geometry.xsd: The geometric constructs, such as polygon and point.
xlinks.xsd: A schema based on the W3C XLINK recommendation provided by the OGC to make use of the XLINK constructs.
The Ordnance Survey-provided schema is as follows:
OSVectorMapLocal.xsd: The feature type, complex type, and simple type declarations.
The ‘OSVectorMapLocal’ schema document defines the following XML namespaces:
The location of the schema is defined as:
https://www.ordnancesurvey.co.uk/xml/cmdschema/local/V2/OSVectorMapLocal.xsd
GML is designed to support a wide variety of capabilities, ranging from simple contextual mapping, such as OS VectorMap Local, to products that include complex geometric property types or even spatial and temporal topology. The Simple Features Profile of GML 3.2.1 defines a restricted subset of GML, allowing scope for greater interoperability.
This product conforms to Simple Features Profile – Level 0.
A geometric property is one that describes a specific geometry. All geometric properties are encoded according to the Simple Features Profile, as referenced above.
The XML attribute ‘srsName’ shall be set to ‘urn:ogc:def:crs:EPSG::27700’, which uses eastings and
northings specified in metres.
EPSG (European Petroleum Survey Group) provides numeric identifiers for many common projections and associated projections or coordinate metadata (such as measurement units or central meridian) for each identifier.
OS VectorMap Local data is available in GML 3.2.1, the most up-to-date version of GML used by Ordnance Survey. This is a simplified single file schema. Code lists will be managed as Code list dictionaries, residing outside of the product schema. Enumerations have been removed.
GML 3.2.1 is supported by most software suppliers and can be read natively with multiple GIS packages without the need for a translator.
OS VectorMap Local will provide GML feature-level change-only updates (COUs). Only change features will be supplied, rather than all of the data within a tile that has changed within it. The product contains maintained feature-level identifiers to enable change to be detected between releases. These identifiers will not have version information.
The features within a COU file will be supplied as transactions. In the OS VectorMap Local product, a transaction identifies whether a feature is new or if it has been removed from the product. These two types of transaction are defined as follows:
<os:insert> These are features which have been newly inserted into the product or the customer’s area of interest (AOI) since the last product supply.
<os:delete> These are features which have ceased to exist in the last product release or features that have moved out of the customer’s AOI. Features which have been deleted will be supplied with the entire feature’s attribution. These features should be removed from the customer's live data holding.
Existing features which have undergone a generalisation, geometry or attribution change since the previous release will be managed in the following way: the feature that existed in the previous release will be entered as a deleted feature in the new COU release, and a new feature with a new ID will be added as an insert, replacing the deleted feature.
In order to maintain the topological relationships of features, the product will not ‘cut’ features at tile edges. This will remove the requirement to merge features which have been separated artificially at tile edges. Exceptions to this include contours, tidal limits (mean high and mean low water) and boundary features.
This will require holdings to be de-duplicated once all tiles have been loaded due to duplication of features which cross tile edges.
In order to remove legacy data and improve the analytical capability of the product, we have added an additional feature class, RailCLine. A number of feature codes have been added, while others have been removed.
The unified modeling language (UML) class diagram of OS VectorMap Local in GML format can be seen below. In the UML diagram, feature types from the Ordnance Survey product specification are orange, all code lists are coloured blue and data type is purple.