🔃Compound Structure

circle-exclamation

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

Version ↓
Launch Date
Latest Date
Change

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.

circle-info

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 repositoryarrow-up-right.

For instructions on loading CSV files, see the Getting Started with CSVarrow-up-right 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)

circle-info

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

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 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)

circle-info

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

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

  • 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

  • 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

  • Max Length: 10

  • OS NGD API – Features Filterable: No

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0, 3.0


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.

circle-check
circle-info

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

  • 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.

circle-info

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.

circle-info

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.

circle-info

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?