🔃Compound Structure
This page details upcoming data that will be provided for the Compound Structure Feature Type in the OS NGD from the end of March 2026 to give you early insight. Data schema version 3.0 for this feature type is currently not available through the live access services. The information on this page is as accurate as possible, but is subject to change before launch.
Polygon feature which encompasses one or more components and represents a manmade construction that has been built for a specific purpose. Examples include a bridge, a dam, an aqueduct, and a tunnel.
Data schema versioning
The following table provides details about this feature type’s data schema versions, including the reasons behind the changes and the related launch date when each version went live.
Data schema version table
3.0
26 March 2026
Ongoing
Major version increment adding a Related Entity Related Component; adding Geometry Capture Method and Description Capture Method attribution; retiring the four Name Source attributes, and retiring the Geometry Source and Description Source attributes. Operational Status attribute was renamed to Status, and the attribute length was changed from 10 to 20 to allow for 'Under Construction'.
2.0
25 September 2024
Ongoing
Major version increment adding new Network Over attribution, Network Under attribution and classification values for Tunnels.
1.1
25 September 2024
Ongoing
Minor version increment adding classification values for Tunnels.
1.0
29 September 2022
24 September 2024
Initial launch of the Compound Structure Feature Type.
Please see Data schema versioning for in-depth information about data schema versioning in the OS NGD.
Temporal filtering
Temporal filtering allows you to order a one-off snapshot of data from the OS NGD from a current or past date. It is an optional step when you create a new data package in OS Select+Build (the OS NGD download service).
The earliest and latest dates on which you can request a one-off snapshot of a date in the past for this feature type's data schema versions are indicated in the Data schema version table above. Please note that any data temporally filtered earlier than the specified launch date indicated in the table for the data schema versions may contain data inconsistencies.
More information about temporal filtering on OS NGD feature types is available from the Getting started with temporal filtering guide.
Feature type attributes
The following sub-sections provide details about the attributes included with this feature type, their data types in the different output formats, and other important metadata about them.
Loading OS NGD CSV files into databases
Comma-separated values (CSV) file format is universally supported for easy ingestion into all major database products. Before loading OS NGD data contained in CSV files into a database, it is necessary to create relevant tables. Data definition language (DDL) statements for PostgreSQL, SQL Server and Oracle can be accessed in our OS NGD Resources GitHub repository.
For instructions on loading CSV files, see the Getting Started with CSV guide.
osid
Primary identifier for the feature. The OSID is a Globally Unique Identifier (GUID) and requires no centralised authority to ensure uniqueness. Note that the same OSID can occur in more than one feature type when a single feature is represented multiple times in the OS NGD.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 36
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
versiondate
Date when the version was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
versionavailablefromdate
The date this version of the feature became the latest version.
Data Types: String (GeoJSON), DateTime (GPKG), DateTime (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
versionavailabletodate
The date this version of the feature was superseded by an update or ceased to exist.
Data Types: String (GeoJSON), DateTime (GPKG), DateTime (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
changetype
The type of change that generated a new version of the feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: changetypevalue
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
geometry
Geometry for the feature.
Data Types: Geometry (GeoJSON), Geometry (GPKG), WKT (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
Geometry Type: MultiPolygon
geometry_area_m2 (formerly geometry_area)
This attribute was called geometry_area in data schema version 1.0 and was renamed geometry_area_m2 from version 2.0 onward.
The measured area of the geometry in square metres.
Data Types: Number (GeoJSON), Float (GPKG), Real (CSV)
Nullable: false
Precision: 15
Scale: 3
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: No
Data Schema Version: 2.0, 3.0
Data Types: Number (GeoJSON), Float (GPKG), Real (CSV)
Nullable: false
Precision: 15
Scale: 6
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: No
Data Schema Version: 1.1
geometry_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
geometry_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
geometry_source
The source organisation who provided the data.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
🆕 geometry_capturemethod
Indication of the method used to capture or produce the data.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: capturemethodvalue
Max Length: 25
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
theme
The OS NGD theme to which this feature belongs.
Data Types: Array (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: themevalue
Max Length: 40
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
description
A single descriptive value intended for a quick understanding of what the feature represents.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: compoundstructuredescriptionvalue
Code List Version: 2.0
Max Length: 50
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0, 3.0
description_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
description_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
description_source
The source organisation who provided the data.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
🆕 description_capturemethod
Indication of the method used to capture or produce the data.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: capturemethodvalue
Max Length: 25
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
name1_text
Name assigned to identify the feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0, 3.0
name1_language
The language type associated with name1. The valid values are defined in the Language Value Code List.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: languagevalue
Max Length: 3
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name1_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name1_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name1_source
The organisation that provided the information.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
name2_text
The alternative language name assigned to identify the feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0, 3.0
name2_language
The language type associated with name2. The valid values are defined in the Language Value Code List.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: languagevalue
Max Length: 3
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name2_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name2_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name2_source
The organisation that provided the information.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
name3_text
The proper name of a feature, populated where at least three or more names have been captured for the same feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0, 3.0
name3_language
The language the name is expressed in.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: languagevalue
Max Length: 3
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name3_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name3_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name3_source
The organisation that provided the information.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
name4_text
The proper name of a feature, populated where four names have been captured for the same feature.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0, 3.0
name4_language
The language the name is expressed in.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: languagevalue
Max Length: 3
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name4_evidencedate
The date on which the latest evidence was gathered to make an update if required. For example, the date of collection by a surveyor or the date third party information was received.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name4_updatedate
Date when the attribute was last updated.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: true
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
name4_source
The source organisation who provided the data.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0
status (formerly operationalstatus)
This attribute was called operational status in data schema versions 1.0 and 2.0 and was renamed status from version 3.0 onward.
An indicator of whether the feature is currently performing its original function.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: statusvalue
Max Length: 20
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 3.0
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: operationalstatusvalue
Max Length: 10
OS NGD API – Features Filterable: Yes
OS Select+Build Filterable: Yes
Data Schema Version: 1.1, 2.0
capturespecification
Indicates the capture specification used by OS when capturing the feature. This could either be Urban, Rural or Moorland.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: capturespecificationvalue
Max Length: 10
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 1.1, 2.0, 3.0
networkover
Description of the network passing over a bridge. Will be null if the network could not be determined, if the bridge has no network passing over it, or for Compound Structures that are not bridges.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: networkoverunderbridgevalue
Max Length: 10
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 2.0, 3.0
networkunder
Description of the network passing under a bridge. Will be null if the network could not be determined, if the bridge has no network passing under it, or for Compound Structures that are not bridges.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: networkoverunderbridgevalue
Max Length: 10
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 2.0, 3.0
🆕 Related Entity
The Related Entity Related Component provides information from selected expert third parties, allowing for the linking of a Compound Structure feature to its associated feature types.
Related Entity Related Component for Compound Structure Feature Type data schema version 3.0 onward
Customers taking data schema version 3.0 onward of the Compound Structure Feature Type in GeoPackage format will receive the following in their data package:
Feature type: Compound Structure
Related component: Related Entity
A related component will be provided for the Compound Structure Feature Type data schema version 3.0 onward only where the Description attribute is one of the following:
⦁ Aqueduct ⦁ Aqueduct With Footbridge ⦁ Bridge ⦁ Clapper Bridge ⦁ Footbridge ⦁ Lift Bridge ⦁ Swing Bridge ⦁ Transporter Bridge ⦁ Underpass ⦁ Viaduct
Against all other Compound Structure features, the related component will be populated as null.
🆕 relatedentityid
Primary key providing a unique row identifier assigned to enable indexing for efficient querying.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 36
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 featuretypeid
OSID assigned by Ordnance Survey to the compound structure as a persistent identifier. This is used along with the Feature Type Version Date attribute to join the component to the Compound Structure Feature Type.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 36
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 featuretypeversiondate
Date of the feature version to which this related component applies. This is used along with the Feature Type ID attribute to join the component to the Compound Structure Feature Type.
Data Types: String (GeoJSON), Date (GPKG), Date (CSV)
Nullable: false
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferencefeature
Description of the related dataset that the cross reference refers to, for example, 'Third-party Bridge Information'.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Code List Name: dataentitycataloguecompoundstructurevalue
Max Length: 50
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferenceid
Identifier of the related data entity or feature type instance that is the target of the reference or link.
Note: As a minimum, Related Entities will either have a Cross Reference ID, Cross Reference Name or Cross Reference Number.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 relationshiptype
Type of relationship which has been formed between the source and target features, for example, 'Within' or 'Same As'.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Code List Name: relationshiptypevalue
Code List Version: 1.0
Max Length: 30
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferencename
The bridge name extracted from the third-party bridge information record by OS.
Note: As a minimum, Related Entities will either have a Cross Reference ID, Cross Reference Name or Cross Reference Number.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferencenumber
The bridge number extracted from the third-party bridge information record by OS.
Note: As a minimum, Related Entities will either have a Cross Reference ID, Cross Reference Name or Cross Reference Number.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferencetype
The bridge type extracted from the third-party bridge information record by OS.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: true
Max Length: 254
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
🆕 crossreferenceprovider
The organisation that provided the third-party bridge information record.
Data Types: String (GeoJSON), String (GPKG), String (CSV)
Nullable: false
Max Length: 254
OS NGD API – Features Filterable: No
OS Select+Build Filterable: No
Data Schema Version: 3.0
Last updated
Was this helpful?