Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 443 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

osngd

Loading...

INTRODUCTION TO OS NGD

Loading...

Loading...

Loading...

Loading...

GETTING STARTED

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

OS NGD NEWS

Loading...

Loading...

Loading...

Loading...

Loading...

Data and Service Status

Loading...

Loading...

Loading...

Loading...

DATA STRUCTURE

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

OS NGD Explained

This page explains what the OS NGD is, how to access it and who can use it.

What is the OS NGD?

How do I access the OS NGD?

Who can use the OS NGD?

Short YouTube video explaining what the OS NGD is.
Short YouTube video showing the OS NGD access methods of OS Select+Build and the OS NGD APIs.

Getting Started Information

This section includes getting started guides to help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.

What's next?

Introduction to OS NGD

This section explains what the OS NGD is and who can access it, outlines the key benefits to customers, and details how to download sample data or visualise it online.

What's next?

OS NGD Documentation

Welcome to OS NGD documentation! Here you can learn how to get started using OS NGD data via OS Select+Build and the OS NGD APIs.

What's the OS NGD?

Short YouTube video explaining what the OS NGD is.

What's available on this site?

This self-serve site is where you will find documentation to help you get started using OS NGD data via the download service of OS Select+Build and the two OS NGD APIs. Using the left-hand-side navigation menu, you can select and view pages and sections of interest, including:

OS NGD Key Benefits to Customers

This page lists the key benefits of the OS NGD to customers.

The key benefits of the OS National Geographic Database (NGD) to customers are as follows:

  • Increased data update frequency: With the new OS NGD APIs and OS Select+Build you can access themes of data which are updated up to daily.

  • Choose exactly what data you take: For the first time, you can select and build your own data package/s rather than taking pre-selected OS products. For example, if you're only interested in buildings data, then you just select the OS NGD Buildings Theme. There's no need to take a larger product and spend time filtering out the buildings data from it. You can also select data from different OS NGD collections to build your own bespoke data package/s.

  • New, easier ways to access data: The download service of OS Select+Build lets you access only the data you need in the format you want. OS NGD API – Features and OS NGD API – Tiles give you online access to the OS NGD to help you quickly request data using the latest OGC API – Features and OGC API – Tiles standards, respectively.

  • Customer-friendly data formats: OS NGD data is available in four easy-to-use data formats: GeoPackage, CSV (comma-separated values), GeoJSON (via OS NGD API – Features only) and vector tiles (via OS NGD API – Tiles only).

  • More discoverable data: Improved data structures and metadata within the OS NGD, new and bespoke documentation within OS Select+Build, and a brand new online Documentation Platform mean you'll find the right data and support you need quicker than ever before.

  • Built with the future in mind: The OS NGD is much more flexible, allowing for changes to the data structure and enhancements to be made when needed to meet evolving customer needs.

  • Rich attribution: OS NGD data has been enriched with attribution to ensure that it's straightforward to navigate and query. Attribute names have also been simplified to make them easier to understand.

  • Included in the Public Sector Geospatial Agreement (PSGA): Therefore, OS NGD data is free at point of use for Public Sector organisations. It's also available to OS Partners for commercial resell in your solutions.

The launch of the OS NGD does not instigate withdrawal of any of the existing OS Premium or OS OpenData Products, including APIs. These products will continue to be managed through their product lifecycle, including withdrawal, separately to the OS NGD. The OS NGD gives new and enhanced ways for customers to access the most trusted and up-to-date geographic information from OS.

Unique identifiers

The OS NGD primarily uses a new identifier called the OSID (OS Identifier) to uniquely identify features. The OSID is used persistently and allows the unique identification of records in the OS NGD. It should be noted that the OSID is not unique across the OS NGD, but rather is only unique at a feature type level. The reason for this is, when possible, the same OSID will be used on multiple features when they represent the same geographical feature. For example, a point feature in the OS NGD Geographical Names Theme which represents a water body will have the same OSID as the more detailed water body representation in the OS NGD Water Features Theme.

Other unique identifiers are also present in the OS NGD. These include the UPRN (Unique Property Reference Number) and USRN (Unique Street Reference Number). These remain the unique identifiers in our data to represent Address and Local Authority Street records, respectively.

The TOID (Topographic Identifier) is also present in the OS NGD, but in most instances this is an optional attribute and therefore should not be relied upon to complete data linking or for implementing COUs. The reason for this identifier being optional is the improved currency on which the OS NGD will be published, meaning the TOID which is created in our existing OS product systems will not always be allocated to features as frequently as they will be accessible via the OS NGD.

There are two access methods for OS NGD data:

Find out what the key benefits of the OS NGD are.

Download OS NGD sample data or visualise it online.

Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Our getting started guides will help you access, use and style OS NGD data. You'll also find in-depth information on OS NGD design, and webinars, tutorials and case studies.

View frequently asked questions about OS NGD data and access methods (OS Select+Build and OS NGD APIs).

Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

Access all of the code lists for the OS NGD.

Terminology and access

OS NGD data is different from our other products because you access it from a single source where you'll find the data you need without having to download whole datasets. It also has a simpler data structure, designed to help you answer questions and develop more intelligent solutions, with quicker loading and implementation.

OS NGD terminology: themes, collections and feature types

Theme

A theme is a macro grouping of features which all represent similar geographic entities. Themes are the highest level of grouping within the OS NGD, and examples include ā€˜Buildings’ and ā€˜Transport’.

Themes allow for quick discovery and navigation when using OS Select+Build (the OS NGD download service) or the OS NGD APIs. They also give you the ability to quickly access all OS data relating to your particular theme of interest.

Collection

A collection is a sub-grouping of the OS NGD themes. Collections group together similar types of data within a theme. Examples include ensuring network and routing data is separated from topographic features. For example, in the OS NGD Water Theme, there are two collections: OS NGD Water Features (topographic data) and OS NGD Water Network (network data).

This makes it easier for you to access only the data you require.

Feature type

A feature type is the most granular level of grouping within the OS NGD. Feature types have their own data model and specifications which are not commonly shared with other feature types.

When you order data through OS Select+Build (the OS NGD download service), the data you receive will be provided at a feature type level.

Who can access the OS NGD?

How do you access the OS NGD?

  • OS Select+Build: A download service which enables you to choose only the data you require and select how you want to receive your data.

  • OS NGD API – Features: An OGC API – Features service.

  • OS NGD API – Tiles: A vector tiles service based on OGC API – Tiles.

OS NGD Sample Data

Download OS NGD sample data or visualise it online.

There are now two options available for you to interact with OS NGD sample data:

Sample data for most OS NGD feature types are available through the tool. The sample data always use the latest data schema version available for each feature type.

Downloadable sample data

OS NGD Collection
Available Formats
Sample Data Coverage

GeoPackage, CSV

One 5km x 5km area (Exeter only)

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

GeoPackage, CSV

Three 5km x 5km areas

Sample data for the collections are available in GeoPackage and CSV (comma-separated values) formats.

One zip file of sample data is provided per OS NGD collection. Within each of these zip files, the individual feature types for each collection are separated into their own folder.

Sample data always use the latest data schema version available for each collection.

Standard sample data areas

The sample data for each OS NGD collection typically cover three 5km x 5km areas in Great Britain: Exeter (England), Newport (Wales), and Inverness (Scotland).

Exceptions

  • Please note that sample data are not available for the OS NGD Islands Address Collection or OS NGD Boundaries Collection.

  • GB Address Collection sample data is available for Exeter only.

Please note that as we are publishing three 5km x 5km sample data areas for most of the OS NGD collections, a small number of feature types are not represented within these areas and therefore their record counts will be zero:

  • Landform Point (OS NGD Land Features Collection)

  • Maintenance Point (OS NGD RAMI Collection)

  • Railway Link Set (OS NGD Transport Network Collection)

File formats and naming

Available formats for OS NGD data

OS NGD data is available in four easy-to-use formats: GeoPackage, CSV (comma-separated values), GeoJSON and vector tiles. The download service of OS Select+Build supports GeoPackage and CSV. OS NGD API – Features supports GeoJSON. OS NGD API – Tiles supports vector tiles.

CSV overview

CSV files are delimited text files which use commas to separate each attribute from the next. CSV is one of the file formats available via OS Select+Build. A single record is commonly provided per line, with a new line being started for each new record.

Geometry attribution will be provided as Well-Known Text (WKT).

CSV offers the following benefits:

  • The single file is familiar to many customers and well used across GIS and data science tools.

  • It is plug and play with most databases.

  • The ability to quickly load large datasets using COPY method rather than INSERT.

If you want a file format that allows you to quickly load OS NGD data into a database / central data repository and the option to receive COU (Change-Only Update) supplies, then CSV is your best choice.

Please be aware that CSV files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size. We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

CSV structure

The following table shows how different attribute types in the OS NGD are delivered when you choose to receive a CSV format. This includes whether to expect quotes, and how NULL values are treated.

Attribute type
Quotes (Y/N)
If NULL
Example

Integer

N

"

123

Real

N

"

1.23

Decimal

N

"

1.23

Text

N

"

Some Text

Text (including comma in string)

Y

"

"Some, Text"

Array (code list)

Y

"

"item 1,item 2"

Timestamp

N

"

2022-08-17T00:00:00.000Z

Date

N

"

2022-08-31

GeoPackage overview

GeoPackage (GPKG) is an open standard data format as defined by the Open Geospatial Consortium (OGC). It is one of the file formats available via OS Select+Build. GeoPackage is designed to be a lightweight format that can contain large amounts of varied and complex data in a single, easy to distribute and ready to use file. Please be advised that older versions of GIS software may need updating before being able to display and interact with GeoPackage files.

GeoPackage offers the following benefits:

  • The single file is easy to transfer and offers the end-user a rich experience.

  • Attribute names are not limited in length, making it user-friendly.

  • The file size limit is very large at 140TB, so lots of data can be easily accommodated (please note that a file size limit may be imposed by the file system to which the file is written).

  • It supports raster, vector and database formats, making it a highly versatile solution.

  • It is an OGC standard.

  • In most cases, it is a plug and play format.

If you want a file format that allows you to quickly load full supplies of OS NGD data into a GIS, then GeoPackage is your best option.

GeoJSON overview

GeoJSON is an IETF standard designed to represent simple geographical features and their non-spatial attributes. It is used for encoding geographic data structures using JavaScript Object Notation (JSON). GeoJSON is used by OS NGD API – Features.

Supported geometry types:

  • Point

  • LineString

  • Polygon

  • Multipart geometries: MultiPoints, MultiLineString, or MultiPolygon features

Vector tiles overview

Vector tiles are clipped tiles, or grid squares, composed of layers of vector features which are optimised for caching, scaling and producing map imagery quickly. They serve in a similar way to raster tiles but have the added functionality of being customisable by users. A client application requests tiles based on a zoom level and extent, and the server responds with binary data representing the vector tiles containing the layers to be visualised on that map.

OS NGD API – Tiles serves vector tiles as raw information which is presented using compressed packets of geographic data using the Protocolbuffer Binary Format (.pbf).

Vector tiles offer the following benefits:

  • User customisation and styling functionality – customise your map with full and dynamic design control.

  • Small file size – lightweight tiles that are efficient and quick to render in your client application.

  • Pixel perfect maps – high-resolution, beautiful mapping for all devices (web and mobile devices).

  • Snapping ability – due to the data being vector, data can be snapped to and traced.

  • Smooth zooming and scaling effect – a seamless user experience when zooming in and out of maps.

  • Advanced features – vector tiles contain geographic data (not just images) which can be interrogated and analysed.

File naming

When you place an order for OS NGD data via OS Select+Build, the following file naming convention will be applied to the data you receive:

themeshortcode_collectionshortcode_featuretype

In order to keep file names manageable and not overly long, shortened file names ('short codes') have been used for both the theme and collection. Using short codes in our naming convention also ensures we have consistency in naming between OS Select+Build and the OS NGD APIs.

An example of how these short codes are used is below, with the example showing a file name which would be created for an order of the Built Address Feature Type within the OS NGD GB Address Collection of the OS NGD Address Theme:

add_gb_builtaddress

A full list of the short codes we use in OS Select+Build and the OS NGD APIs is detailed in the following table:

Theme
Theme short code
Collection
Collection short code

Buildings

bld

Building Features

fts

Water

wtr

Water Features

fts

Water Network

ntwk

Land

lnd

Land Features

fts

Structures

str

Structure Features

fts

Transport

trn

Transport Features

fts

Transport Network

ntwk

RAMI

rami

Administrative and Statistical Units

asu

Boundaries

bdy

Address

add

GB Address

gb

Islands Address

isl

Geographical Names

gnm

Named Features

fts

Data ordering and currency

Geographic filtering

There are three options within OS Select+Build (the OS NGD download service) in relation to the geographic extent of your order. These are:

  • Great Britain: Receive all data for the whole of Great Britain.

  • Customer Specified Area: Draw an area of interest (AOI) and only receive the data which intersects this area.

  • Pre-defined Area: Select a pre-defined area, and only receive the data which intersects this area.

The only exception to the above is the OS NGD Address Islands Collection; this collection contains data for Northern Ireland, the Isle of Man, and the Channel Islands, and it will be provided as a full supply of data independent of any geographic filtering applied to your OS NGD recipe.

COU Supplies are not available for AOIs. Monthly Full Supplies are available for AOIs.

Order update options

When accessing the OS NGD, the following order update options will be available:

  • One Off Full Supply

  • Regular Full Supply

  • Change-Only Update (COU; after an initial Full Supply)

  • No Update

The following frequencies will be available dependent on the type of order you place:

  • Daily Supply: This will provide you with the latest updates OS have loaded and verified for publication since the previous day as a COU file.

  • Monthly Supply: Either a Full Supply or COU Supply of all the changes which have occurred in the previous month.

  • Annual Supply: A Full Supply of the data to show how the data looked at the end of each year.

Further details about the options available to you can be found further down on this page.

Please note:

  • Monthly orders provide data for the 1st of the month. For example, if you ordered a Monthly order on 17 September 2024, you would receive the data as it was on 01 September 2024.

  • If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release.

    • For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). As per the bullet above, this data will not be part of Annual Full Supply orders until 01 January 2026.

Update files

If you choose to receive a COU supply for your CSV data, this can be provided on either a daily or monthly frequency. In both cases, your COU file will contain any changes which have been made to the underlying data within the selected time frequency. If no changes have been made to a selected feature type of your choice, then you will receive a blank COU file.

File supply

If you use OS Select+Build to access the OS NGD, then a separate download file will be provided for each feature type you order. For example, if your selected theme has two feature types you will be supplied with two separate files (CSV or GeoPackage) as part of your order.

Ordering combinations

The following tables summarise the different options available to you dependent on what you specify when ordering your data through OS Select+Build.

For the purposes of the tables below, the following definitions are being used:

  • Unfiltered means a Great Britain supply with no further attribute filters applied.

  • Filtered means an order for data which either has a geographic filter applied or an attribute filter applied.

GPKG files

Initial supply
Update options

Daily (filtered / unfiltered)

N/A

Monthly (filtered / unfiltered)

Monthly Full Supply

Annual (filtered / unfiltered)

Annual Full Resupply with data from 01 January

Please note that COU supplies are only available for CSV files; they are not available for GeoPackage files.

CSV files

Initial supply
Update options

Daily (filtered)

N/A

Daily (unfiltered)

Daily COU

Monthly (filtered)

Monthly Full Supply

Monthly (unfiltered)

Monthly COU or Monthly Full Supply

Annual (filtered / unfiltered)

Annual Full Resupply with data from 01 January

Currency of OS NGD data

OS Select+Build and OS NGD API – Features

Whether accessing OS NGD data through OS Select+Build or OS NGD API – Features, the following currency of the data will apply:

Theme
Collection
Update frequency

OS NGD Address (*N.B. Not available in OS NGD API – Features)

Both OS NGD Address collections

Daily

OS NGD Administrative and Statistical Units (*N.B. Not available in OS NGD API – Features)

OS NGD Boundaries

Biannual

OS NGD Buildings

OS NGD Buildings Features

Daily

OS NGD Geographical Names

OS NGD Named Features

Daily

OS NGD Land

OS NGD Land Features

Daily

OS NGD Land Use

OS NGD Land Use Features

Daily

OS NGD Structures

OS NGD Structure Features

Daily

OS NGD Transport

OS NGD Transport Features

Daily (apart from the Street Light Feature Type which is updated monthly)

OS NGD Transport Network

Monthly

OS NGD RAMI

Monthly

OS NGD Water

OS NGD Water Features

Daily

OS NGD Water Network

Quarterly

For collections that are not updated daily, the table below provides the date of the last update. It also shows the version of the OS MasterMap product to which the OS NGD data corresponds:

Collection
Last Updated
Corresponding OS MasterMap product

OS NGD Boundaries

09 May 2025

Boundary-Line –

May 2025 publication

OS NGD Transport Features – Street Light Feature Type only

04 June 2025

N/A

OS NGD Transport Network

04 June 2025

OS MasterMap Highways Network – June 2025 publication

OS NGD RAMI

04 June 2025

OS MasterMap Highways Network – June 2025 publication

OS NGD Water Network

29 April 2025

OS MasterMap Water Network – April 2025 publication

OS NGD API – Tiles

Please note:

  • The OS NGD Address Theme is only available via OS Select+Build and is not available via OS NGD API – Features or OS NGD API – Tiles.

  • The OS NGD Administrative and Statistical Units Theme is only available via OS Select+Build and OS NGD API – Tiles and is not available via OS NGD API – Features.

  • Feature types in the Routing and Asset Management Information (RAMI) Collection (of the OS NGD Transport Theme) are only available via OS Select+Build and OS NGD API – Features and are not available via OS NGD API – Tiles.

  • The Waterbody Catchment and River Basin District Catchment Feature Types (of the Water Features Collection in the OS NGD Water Theme) are not available via OS NGD API – Features but they are available via OS Select+Build and OS NGD API – Tiles.

Data schema versioning

Through the OS NGD, Ordnance Survey aims to iterate and release data enhancements quicker than ever before. We want to be able to do this without disrupting customers who have adopted data schemas and are heavily reliant on a specification remaining the same for a longer period of time. With this in mind, the OS NGD is able to run multiple data schema versions for a single feature type at any given time.

Data schema version: The specification to which OS delivers an OS NGD feature type. This includes the attributes a feature type contains, what the attributes are called, the data types of the attributes, whether they are nullable, the precision (if applicable), the scale (if applicable), whether there is a code list associated with an attribute, and the max length (if applicable).

When we release a new data schema version in the OS NGD, the changes will be visible on the feature type pages of this documentation platform. As you can see from the image below, each attribute on a feature type page states which data schema version it is present within, with the Version Date attribute in the example below being present in both data schema versions 1.0 and 2.0:

Please note that data schema versioning is implemented at a feature type level. Therefore, increments and withdrawals of data schema versions are done at a feature type level and not at an OS NGD wide level.

How has data schema versioning been implemented?

As new enhancements are made to a given feature type in the OS NGD which require the schema to be uplifted (for example, new attributes being added, resulting in a major schema version increment from 1.0 to 2.0), the new data schema version will become available via the OS NGD access services (i.e. OS Select+Build and the OS NGD APIs).

There are two types of version increments that can be applied:

  • Minor: A non-breaking change that does not usually impact a customer’s implementation of the data, for example, the addition of an attribute value to a code list.

  • Major: A significant breaking change that usually impacts a customer’s implementation of the data, for example, the addition or removal of an attribute.

When a data schema undergoes a minor version increment, the previous version will no longer be available. This is because the change is deemed to be so small that there is little to no work involved in customers migrating to the latest version of the data.

When a data schema undergoes a major version increment, the previous version will become known as being in 'maintenance' and the new data schema version will be known as the ā€˜latest’. This reflects an understanding of the work required for customers to move to a new version and allows time for this to happen.

Latest: The latest data schema version released for a given feature type.

Maintenance: An older data schema version for a given feature type, but one which is still receiving updates and can be accessed by customers via OS NGD access services.

End Of Life: A retired data schema version for a given feature type which is no longer receiving updates and cannot be ordered by customers via OS NGD access services.

When using the OS NGD access services, you will be able to choose which data schema version you want to use for feature types when ordering or interacting with the data where more than one major version exists. You can choose from data schema versions which are in the 'latest' or 'maintenance' states.

If you choose not to specify a data schema version for a given feature type or if you don't change the selection from its default, then you will always be provided with the latest data schema version for that feature type.

Older data schema versions (i.e. those in a maintenance state) will remain in the OS NGD for a period of time; it's important to note that these maintenance versions will continue to receive updates. Before any data schema version is retired for a given feature type (i.e. when it no longer receives updates and will be removed from the ordering and selection process), customer communications will be distributed, and a notice period will be issued to allow sufficient time for customers to upgrade to a newer version of a data schema.

Code list versioning

Code lists within the OS NGD have only one type of version increment applied: major.

When a code list undergoes a major version increment, all feature types that implement the code list will undergo a minor version increment, reflecting the data change that will occur.

Worked example

In the worked example below, we demonstrate how a feature type has new major data schema versions released (v2.0 and then v3.0), while maintaining older data schema versions (v1.0 and then v2.0), before the original data schema version (v1.0) moves into end of life and is retired.

  • In this example, the feature type starts with a single data schema version (v1.0), known as the latest data schema version.

  • At a point in the future, data enhancements are made which require the data schema version to be uplifted, so a second major data schema version (v2.0) is released. As there can only be one latest data schema version (v2.0), the original data schema version (v1.0) drops down into maintenance – but it still receives updates and is still accessible to customers via the OS NGD access services.

  • Further again into the future, additional new enhancements are made to the feature type, requiring a third major data schema version (v3.0) to be released. Again, as before, there can only be one latest data schema version for a feature type (v3.0), so the second data schema version (v2.0) drops down into maintenance. Two major data schema versions (v1.0 and v2.0) are now in maintenance, but again, both are still receiving updates and are accessible to customers via the OS NGD access services.

  • At a future point, and after customer communications have been distributed and a formal notification period has elapsed, it is decided to retire the original data schema version (v1.0). V1.0 moves into the end of life state, where it stops receiving updates and can no longer be accessed by customers via the OS NGD access services. V3.0 remains the latest data schema version and v2.0 remains in maintenance, with both data schema versions receiving updates and being accessible to customers via the OS NGD access services.

Annual Full Supply orders and data schema versioning

If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release.

For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). The data for the new feature types and the new data schema versions will not be part of Annual Full Supply orders until 01 January 2026.

Coordinate reference systems

OS Select+Build

The GeoPackage and CSV formats accessible via OS Select+Build are available in four different coordinate reference systems dependent on your selection:

  • British National Grid (BNG: EPSG: 27700)

  • British National Grid + ODN Height (EPSG: 7405)

  • European Terrestrial Reference System (ETRS89: EPSG: 4258)

  • World Geodetic System (WGS84: EPSG: 4326)

Default coordinate reference systems for OS Select+Build

The following table outlines the default coordinate reference system used by each OS NGD collection in OS Select+Build:

Selecting a coordinate reference system

If you don't choose a particular coordinate reference system for your data package, OS Select+Build will automatically select the default coordinate reference systems for the feature types in your data package for you.

OS NGD APIs

OS NGD API – Features

The GeoJSON format accessible via OS NGD API – Features is available in four different coordinate reference systems:

  • British National Grid (BNG: EPSG: 27700).

  • World Geodetic System (WGS84: EPSG: 4326)

  • British National Grid + ODN Height (EPSG: 7405)

  • Web Mercator (EPSG: 3857)

OS NGD API – Tiles

The vector tiles format accessible via OS NGD API – Tiles is available in two different coordinate reference systems:

  • British National Grid (BNG: EPSG: 27700)

  • Web Mercator (EPSG: 3857)

Definitions for the coordinate reference systems available in the OS NGD

Attribute information for feature types

  • Name and Definition: The name of the attribute and what it is describing.

  • Data Types: The values the attribute can take. For example, a numeric value or a string. This is provided for all three data formats – GeoJSON, GeoPackage, and CSV.

  • Nullable: A True or False value to denote whether the attribute always has to be populated with a value (False) or can be NULL (True).

  • Code List Name: The name of the code list used in association with the attribute (if applicable) and a hyperlink to the page displaying that code list.

  • Max Length: Values are given here to indicate the maximum length that you will find in the attribute, to aid in developing applications.

  • Multiplicity: Describes how many times this value is expected to be populated in the data. These values may be used in combination.

    • 1: There must be a value.

    • 2: There must be two values.

    • n: There may be one or more values.

    • 0: Population is optional.

  • OS NGD API – Features Filterable: A Yes / No value to denote whether you can refine your query in OS NGD API – Features specifically on this attribute.

  • OS Select+Build Filterable: A Yes / No value to denote whether you can refine your order in OS Select+Build on this attribute.

COU supplies

Change-Only Updates (COUs) are only available for CSV data supplies of the OS NGD. The benefit of taking COU supplies is that you only receive the features which have changed since your last supply, reducing the overall size of the files you receive.

Upon OS NGD launch, if you choose to receive a COU supply for your CSV data, this can be provided on either a daily or monthly frequency. In both cases, your COU file will contain any changes which have been made to the underlying data within the selected time frequency. If no changes have been made to a selected feature type of your choice, then you will receive a blank COU file.

The key attribution required to use and implement a COU is detailed below:

  • Unique Identifier: The unique identifier for the feature type you are using is how you will ensure you are updating the correct records in your data holdings. In most instances the unique identifier will be the OSID, but this is not always true, therefore please check the appropriate feature type pages in our documentation.

  • Version Date: This is the date when the feature was last updated in OS product databases.

  • Version Available From Date: This is the date when the feature became the latest version and was published to customers.

  • Version Available To Date: This is the date when the feature was superseded by an update or ceased to exist.

  • Change Type: This is a code list which gives more information about the type of change which has occurred.

Please note, a single feature may be updated multiple times in a single COU file. This would happen where a single feature has changes committed in our product databases more than once within your selected COU frequency. Instead of suppressing all changes other than the last edit, your COU will contain all edits we have made to that feature. This is likely to occur more commonly if you choose to take a monthly supply, compared to daily, but it could also occur in a daily COU.

Please be aware that a feature can move between OS NGD feature types and even between OS NGD themes when OS makes data improvements or, in some instances, when a feature undergoes a change. For example, Pre-Build Address features will naturally change to Built Address features over time.

Getting Started with GeoPackage

What is GeoPackage?

Key features and benefits of GeoPackage

GeoPackage offers users the following key features and benefits:

  • The single file is easy to transfer and offers the end-user a rich experience.

  • Attribute names are not limited in length, making the format user-friendly.

  • The file size limit is very large at 140 TB, so lots of data can be easily accommodated (please note that a file size limit may be imposed by the file system to which the file is written).

  • It supports raster, vector and database formats, making it a highly versatile solution.

  • It is an OGC standard.

  • In most cases, it is a plug and play format.

  • Data will be supplied in British National Grid (ESPG:27700), World Geodetic System (WGS84: EPSG: 4326), or British National Grid + ODN Height (EPSG: 7405), depending on your selection when ordering OS NGD data.

Accessing GeoPackage data via GIS software

The following sub-sections provide step-by-step instructions on how to access GeoPackage data via various GIS software packages, all current versions of these support GeoPackages natively.

Converting / Loading a GeoPackage to other data formats

It is possible to use Extract, Transform, Load (ETL) tools to convert the data into different formats and to load into databases.

In the OS NGD GeoPackages, the column ordering is slightly different to those listed on the individual feature types pages, and therefore the OS NGD CSV files.

Additionally, the geometry column will always be the second column; however, the attribute, or its value, isn't usually visible in GIS software.

The remaining ordering of columns will match the attribute listings on the feature types pages.

OS NGD Fundamentals

OS NGD Fundamentals covers the core elements of OS NGD design, including data formats, coordinate reference systems used, data schema versioning, and data ordering and currency.

Introduction

The following pages provide an overview of the OS National Geographic Database (OS NGD); they cover the core elements of its design, including data formats, the coordinate reference systems used, and how Change-Only Updates (COUs) will be provided, amongst other topics:

OS NGD Fundamentals

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Downloading with OS Select+Build

Discover how to download OS NGD data using our bespoke download service, OS Select+Build.

Accessing OS NGD APIs

Learn how to access and use OS NGD API – Features and OS NGD API – Tiles.

Styling OS NGD Data

Resources for styling OS NGD data.

OS NGD Webinars, Tutorials and Case Studies

Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

FAQs

Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

Data Structure

Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

Code Lists

Access all of the code lists for the OS NGD.

OS NGD Sample Data

Download OS NGD sample data or visualise it online.

OS NGD News

Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

Data and Service Status

Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

OS NGD Key Benefits to Customers

Find out what the key benefits of the OS NGD are.

OS NGD Explained

This page details what the OS NGD is, how to access it and who can use it.

OS NGD Key Benefits to Customers

This page lists the key benefits of the OS NGD to customers.

OS NGD Sample Data

Download sample data for OS NGD collections in GeoPackage or CSV formats. Sample data always use the latest data schema version available for each collection.

OS NGD Product Viewer Tool

The OS NGD Product Viewer Tool lets you visualise product sample data online for three areas (Exeter, Newport and Inverness). Sample data for most OS NGD feature types are available through the tool. The sample data always use the latest data schema version available for each feature type.

OS NGD Fundamentals

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Getting Started

Our getting started guides will help you access, use and style OS NGD data. You'll also find in-depth information on OS NGD design, and webinars, tutorials and case studies.

FAQs

View frequently asked questions about OS NGD data and access methods (OS Select+Build and OS NGD APIs).

OS NGD News

Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

Data Structure

Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

Code Lists

Access all of the code lists for the OS NGD.

How do I access it?

(the download service)

Who can use it?

The OS NGD is available to OS Partners and to public sector organisations who are members of the .

OS NGD Key Benefits to Customers

OS NGD Sample Data

OS NGD News

Data and Service Status

OS NGD Fundamentals

Getting Started

FAQs

Data Structure

Code Lists

The nine OS NGD themes are: , , , , , , , , and .

The OS NGD is available via the on either the . There are three access methods to choose from once you are on the OS Data Hub:

You can visualise sample data online through the new .

You can download sample data (in GeoPackage or CSV formats) from the .

OS NGD Product Viewer Tool

A new is available that lets you visualise product sample data online for three areas (Exeter, Newport and Inverness).

Sample data are available to download from the for the following OS NGD collections:

More information about the GeoJSON IETF standard can be found .

To get access to the OS NGD you must first log into the . The OS NGD is accessible via both the .

You can use the to manage your daily / monthly COU supply of OS NGD data.

*Please see the page for more information on what features are available in this API.

When accessing OS NGD data through OS NGD API – Tiles, the data currency is weekly for the basemap and variable for the three data overlays – please see the for more information on update frequency, available feature types and available attribution for this API.

A code list will undergo a major version change when a new code list value is added to it. Values will never be removed from a code list because this would impact within the OS NGD.

Collection
Default coordinate reference system

When (the Download service for OS NGD), you can choose what coordinate reference system you'd like to receive the data in.

Coordinate reference system
Definition

On the feature type pages (which are located in the ), the following information can be found about each attribute:

Data Schema Version: The OS NGD schema version the data above applies to. Please note that concurrent schema versions may be available at one time. For more information on how data schema versioning works in the OS NGD, please refer to the .

There are some restrictions on when you can choose to take COUs; these restrictions are dependent on the selections you make when ordering OS NGD data. Please see the for more information.

You can use the to manage your daily / monthly COU supply of OS NGD data.

GeoPackage (.gpkg) is an open, non-proprietary, platform-independent, and standard data format for geographic information systems (GIS), as (OGC). It is designed to be a lightweight format that can contain large amounts of varied and complex data in a single, easy to distribute and ready to use file. GeoPackage is natively supported by numerous software applications.

The first column is an additional fid attribute, which is an INTEGER NOT NULL column. This acts as a primary key and is a requirement of the .

These pages should be used in conjunction with the more detailed pages available within the which are specifically focussed on the different OS NGD themes, collections and feature types.

šŸ“–
šŸ“„
šŸ“Œ
šŸŽØ
šŸ‘©ā€šŸ«
ā“
šŸ—ƒļø
šŸ“
šŸ—ŗļø
šŸ“£
āš™ļø
✨
šŸ‘Øā€šŸ«
✨
šŸ—ŗļø
šŸ”Ž
šŸ“–
ā–¶ļø
ā“
šŸ“£
šŸ—ƒļø
šŸ“
šŸ–„ļø
šŸ‘„
✨
šŸ—ŗļø
šŸ“£
āš™ļø
šŸ“–
ā–¶ļø
ā“
šŸ—ƒļø
šŸ“
šŸ†•
OS Select+Build
OS NGD APIs
Public Sector Geospatial Agreement (PSGA)
Address
Administrative and Statistical Units
Buildings
Geographical Names
Land
Land Use
Structures
Transport
Water
OS Data Hub
Premium Plan or Public Sector Plan
OS NGD Product Viewer Tool
OS Data Hub
OS NGD Product Viewer Tool
OS Data Hub
here
OS Data Hub
Premium Plan and Public Sector Plan on the OS Data Hub
OS Downloads API
'What data is available' (for OS NGD API – Features)
'What data is available' (for OS NGD API – Tiles) page
temporal filtering

GB Address

British National Grid (EPSG: 27700).

Islands Address

European Terrestrial Reference System

(EPSG: 4258)

Boundaries

British National Grid (EPSG: 27700).

Building Features

British National Grid (EPSG: 27700).

Named Features

British National Grid (EPSG: 27700).

Land Features

British National Grid (EPSG: 27700).

Land Use Features

British National Grid (EPSG: 27700).

Structure Features

British National Grid (EPSG: 27700).

Routing and Asset Management Information (RAMI)

British National Grid (EPSG: 27700) for all feature types, except the Average And Indicative Speed Feature Type which is British National Grid + ODN Height (EPSG: 7405).

Transport Features

British National Grid (EPSG: 27700).

Transport Network

British National Grid + ODN Height (EPSG: 7405) for most feature types in the collection; British National Grid (EPSG: 27700) for the Ferry Terminal, Path, Road, Road Junction, Street and Pavement Link Feature Types.

Water Features

British National Grid (EPSG: 27700).

Water Network

British National Grid + ODN Height (EPSG: 7405) for the Water Link and Water Node Feature Types; British National Grid (EPSG: 27700) for the Water Link Set Feature Type.

British National Grid (BNG: EPSG: 27700)

The British National Grid (BNG) spatial reference system uses the OSGB36 geodetic datum and a single Modified Transverse Mercator projection for the whole of Great Britain. Positions on this projection are described using easting and northing coordinates in units of metres. The BNG is a horizontal spatial reference system only; it does not include a vertical (height) reference system.

British National Grid + ODN Height (EPSG: 7405)

The BNG with ODN height reference uses the OSGB36 geodetic datum and a modified Transverse Mercator projection for the whole of Great Britain. Positions in this system are described by easting and northing coordinates plus a height value, all in units of metres. Please note, this will only be available for some OS NGD feature types.

European Terrestrial Reference System (ETRS89: EPSG: 4258)

The European Terrestrial Reference System uses the ETRS89 geodetic reference system which is the EU-recommended frame of reference for European data. Positions on this projection are described using latitude and longitude, and coordinates are provided in degrees. ETRS89 is a horizontal spatial reference system only; it does not specify a vertical (height) reference system. Please note, this coordinate system is only used for the OS NGD Islands Address Collection due to the coverage of this data being Northern Ireland, Isle of Man, and the Channel Islands.

World Geodetic System (WGS84: EPSG: 4326)

The WGS84 spatial reference system uses the WGS84 geodetic datum. Positions on this projection are described as latitude and longitude, and coordinates are provided in decimal degrees. There will also be an option to receive this reference system via CRS 84, meaning the coordinates will be provided as longitude / latitude rather than latitude / longitude.

Web Mercator (EPSG: 3857)

Web Mercator is not a recognised geodetic system, but it is used for many visualisation and web mapping use cases. It uses the WGS84 geodetic datum, and positions on this projection are described as easting and northing, all in units of metres.

GB Address
šŸ†•
Building Features
Land Features
šŸ†•
Land Use Features
šŸ†•
Named Features
Routing and Asset Management Information (RAMI)
šŸ†•
Structure Features
šŸ†•
Transport Features
šŸ†•
Transport Network
Water Features
Water Network
Data Structure section
Data schema versioning page
'Data ordering and currency' page
OS Downloads API
defined by the Open Geospatial Consortium
ArcGIS Pro
ArcMap
CadCorp SIS
MapInfo Professional
QGIS
FME
GDAL
OGC GeoPackage specification
Terminology and access
File formats and naming
Data ordering and currency
COU supplies
Data schema versioning
Unique identifiers
Coordinate reference systems
Attribute information for feature types
Data Structure section

FME

Reading GeoPackage data via FME

FME is a data integration platform which can read the GeoPackage format and be used to convert and transform the data into other formats or databases. The below example shows how to read a GeoPackage into an FME workbench.

Requirements

  • FME Desktop

  • An FME license

  • A GeoPackage dataset

Instructions

1

In the FME top ribbon, click the Add Reader button

A dialog box will appear.

2

Select OGC GeoPackage in the Format dropdown and click the three dots button next to the Dataset box to specify which GeoPackage you want to read

The Coordinate System should also be set appropriately.

3

Click Parameters in the Add Reader dialog box

Another dialog box will appear to specify OGC GeoPackage Parameters.

Here, specific layers within the GeoPackage can be selected, rather than importing the entire file. Additionally, the Search Envelope can be used to clip the GeoPackage to an extent.

4

Select the layers to be added into the workbench

Click OK when the required themes / layers have been selected.

An orange reader will appear which will display the name of the GeoPackage table that has been ā€˜read in’.

Cadcorp SIS

Accessing GeoPackage data via CadCorp

Requirements

  • CadCorp SIS (version SIS 9 or later)

  • A GeoPackage dataset

Instructions

These instructions were created using CadCorp SIS 9 Desktop Express; however all versions of CadCorp SIS 9 or later support GeoPackage.

1

In the upper ribbon, select Add Overlay.

2

In the Add Overlay dialog box select Files > File

From here, a file browser dialog box appears where you can map to where the GeoPackage has been stored locally.

3

Navigate to the GeoPackage file

Once the correct GeoPackage has been located, click Finish.

The data should now appear on the map.

QGIS

Accessing GeoPackage data via QGIS

Requirements

  • QGIS (version 2.10.1 or later)

  • A GeoPackage dataset

Instructions

These instructions were created using QGIS version 3.22. Other versions of QGIS can be used, from version 2.10.1 onwards.

1

Open a new or existing QGIS project.

2

Add a layer by selecting Layer > Add Layer > Add Vector Layer from the top ribbon of the workspace.

The Data Source Manager - Vector dialog box will appear.

3

Select the GeoPackage that will be loaded using the three dots button located next to the Vector Dataset(s) box.

Navigate to the GeoPackage. Double-click the file or select it, then click Add. A separate dialog box will appear.

4

Select the layers of the GeoPackage to be added to the map

It is possible to add selected layers, numerous layers or all layers. Once the relevant layers have been selected, click Add Layers.

The GeoPackage layers should now be viewable in the layers list on the left-hand side of the workspace.

ArcGIS Pro

Accessing GeoPackage data via ArcGIS Pro

Requirements

  • ArcGIS Pro (version 1.1 or later)

  • A GeoPackage dataset

Certain versions of ArcPro (for example, version 2.5) require GeoPackages to have a spatial index added before the data can be viewed on the map. This can be done in the Catalog by opening the Feature Class Properties window within the 'Indexes' page.

Instructions

These instructions were created using ArcGIS Pro version 2.5, but versions from 1.1 onwards will support GeoPackage.

1

Open an existing project or create a new one

To create a new project, select Map from the Blank Templates section, then enter a Name and a Location for the project in the Create a New Project section. Click OK.

2

Select Map > Add Data from the ribbon at the top of the project,

A dialog box will appear.

3

Adding a GeoPackage into ArcGIS Pro

Navigate to the GeoPackage to be added into ArcGIS Pro. Select the GeoPackage and click Open. This will open the GeoPackage to reveal the individual layers.

4

Select all of the relevant layers and click OK

The selected layers will then be added into ArcGIS Pro.

More than one layer can be selected at any time by holding down the Ctrl (control) key and clicking on multiple layers.

The layers added into ArcGIS Pro will appear in the contents pane on the left-hand side of the project.

Getting Started with CSV

What is a CSV file?

A comma-separated values (CSV) file is a common interchange format for spreadsheets and databases which facilitates a simplistic use of data. Each field is either textual or numeric. Within the CSV, each field is separated from the next by a comma. CSV file format is universally supported for easy ingestion into all major database products.

Please be aware that CSV files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size. We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

Change-Only Update (COU) files are only available for CSV data supplies of the OS NGD.

If you are using a large Area of Interest (AOI) or a full GB supply of data, for performance reasons we would suggest you load the CSV data into a database rather than trying to open directly in a GI system.

Key features of OS NGD CSV format

CSV offers users the following key features:

  • Change-Only Update (COU) files are only supplied in CSV format (they are not supplied in GeoPackage format)

  • Geometry provided as Well-Known Text (WKT)

  • Header rows included in the file

  • There will be one record per line in each file

  • Fields will be separated by commas

  • Where string fields contain commas, they will be delimited by double quotes

  • Double quotes inside strings will be escaped by doubling

  • Records will be terminated by Carriage Returns and Line Feeds

  • CSV files will be Unicode encoded in UTF-8

ArcMap

Accessing GeoPackage data via ArcMap

Requirements

  • ArcMap (version 10.2.2 or later)

  • A GeoPackage dataset

Certain versions of ArcMap (for example, version 10.8.1) require GeoPackages to have a spatial index added before the data can be viewed on the map. This can be done in the Catalog by opening the Feature Class Properties window within the 'Indexes' page.

Instructions

These instructions were created using ArcMap version 10.7, but versions from 10.2.2 onwards will also support GeoPackage features.

1

Select the Add Data button from the ribbon at the top of the workspace

2

Navigate to the appropriate folder containing the GeoPackage to be uploaded

The GeoPackage file will look similar to the one in the following screenshot:

3

Double-click on the GeoPackage file to reveal the layers within it.

Select the layers you want to upload into ArcMap.

More than one layer can be selected at any time by holding down the Ctrl (control) key and clicking on multiple layers.

Add the relevant selected GeoPackage layers into the map by clicking the Add button.

The GeoPackage layers should now be viewable in the layers list in the Table Of Contents on the left-hand side of the workspace.

Getting Started with Attribute Filtering

Introducing attribute filtering

Attribute filtering is an optional step for those with advanced OS data knowledge.

You cannot apply attribute filters to feature types in existing recipes held in your OS Select+Build Recipe Library; they can only be added to new recipes during the recipe creation stage.

The following sub-sections give step-by-step instructions on how to add attribute filters to a new recipe and provide worked examples of creating both simple and nested filters.

How do I add attribute filters to a new recipe?

To add attribute filters to a new recipe:

1
2

Select Download from the main menu

3

Choose OS Select+Build from the secondary navigation menu

4

Click the Create a new recipe button, adding the relevant details to your recipe

5

The Advanced Filter Options panel will slide into view from the right, you can begin to build your filter(s):

  • For a simple filter, select +Add rule.

  • For a more complex nested filter, select +Add group.

  • Once you have added all of your relevant filters, click Apply Filter.

  • Click the Create recipe button.

Worked example of creating a simple filter

In the following worked example of creating a simple filter, we will use the OS NGD Buildings Theme and select the Building Part Feature Type from the Building Features Collection. Our aim is to build a filter to select buildings where education is recorded as the land use.

1
2

Select Download from the main menu

3

Choose OS Select+Build from the secondary navigation menu

4

Click the Create a new recipe button

5

Click on the arrow to the right of Buildings within the theme selection tree to see the collections available within the theme, then click on the arrow to the right of Buildings Features to see the feature types available within that collection

6

Click on the check box next to Building Part to select that feature type

7

The Advanced Filter Options panel will slide into view from the right, where you can begin to build your filter(s).

8

Build a filter where the OS Land Use Tier A attribute is set to Education.

In the Advanced Filter Options panel, click + Add rule, then select OSLandUseTierA from the first drop-down.

Leave the operator in the second drop-down as: = (i.e. the equal sign), then select Education from the third drop-down.

  • Click Apply filter.

9

Click the Create recipe button

Your filter will return buildings where education (Education) is recorded as the land use (OS Land Use Tier A attribute).

Worked example of creating a nested filter

What if, in addition to the simple filter above (returning results for buildings with a land use of education), we want those results to show only buildings over 15 metres in height? What if you also wanted to add an additional filter to show buildings with a land use of rail? To achieve this, you could create a nested filter using the + Add group option.

1

Follow the steps outlined above for creating a simple filter for Building Part until you reach the Advanced Filter Options panel step

2

In the Advanced Filter Options panel, click + Add group, then select OSLandUseTierA from the first drop-down

Leave the operator in the second drop-down as: = (i.e. the equal sign), then select Education from the third drop-down.

3

Click + Add rule to add a second rule below the OSLandUseTierA rule

4

In the second rule, select relativeHeightMaximum from the first drop-down, set the operator in the second drop-down as > (i.e. the more than sign), and type 15 in the input box

5

Before continuing, select whether you would like the rules within the group to have an And or an Or condition

In this case, you should select And from the And / Or selector.

Next, click + Add group.

The application has drawn an extra box for you. Whatever rules are contained inside this box will be evaluated together, before combining with any rules outside the box.

  • Before continuing, select whether you would like the rule in the second group to have an And or an Or condition. In this case, you should select Or from the And / Or selector.

  • In the rule in the extra box, select OSLandUseTierA from the first drop-down, leave the operator as = (i.e. the equal sign) in the second drop-down, and select Transport: Rail from the third drop-down.

  • Click Apply filter.

6

Click the Create recipe button.

Your filter will return results for buildings (Building Part) that have either an education (Education) land use if that building is over 15 metres high or a railway land use (Transport:Rail).

How do I check if filters are used in an existing recipe?

To check what filters have been applied to feature types in an existing recipe:

1
2

Select Download from the main menu

3

Choose OS Select+Build from the secondary navigation menu

4

In your OS NGD Select+Build Recipe Library, scroll or search for the recipe.

5

Click on the name of the recipe you would like to find out more about

You are now within the Recipe details screen, where you can view detailed information about the recipe, including the recipe's name, the date it was created, etc. If filters have been applied to the recipe, a filter icon (i.e. a black funnel symbol) will appear under the recipe name alongside text stating: 'Filters have been applied to this recipe'.

  • Click View all filters to view all of the filters that have been applied to feature types in the recipe.

In the example recipe below, you can see that there is a filter icon (i.e. the black funnel symbol) against the Building Part Feature Type; therefore, this feature type has filters applied to it.

GDAL

Using GDAL to load a GeoPackage into a database

Requirements

  • GDAL version 1.11.0 or above (with access to a command line interface to use it)

  • A GeoPackage dataset

Instructions

1

ogrinfo <PATH_TO_GEOPACKAGE>

Example:
ogrinfo wtr_ntwk_waterlinkset.gpkg
ogrinfo output
INFO: Open of `C:\wtr_ntwk_waterlinkset.gpkg'
      using driver `GPKG' successful.
1: wtr_ntwk_waterlinkset
2: wtr_ntwk_waterlinkset_wtrlinkref (None)

Without any arguments supplied, ogrinfo will return the layers contained within the GeoPackage.

2

Use ā€˜Summary Only’ (-so) and ā€˜List all features of all layers’ (-al) arguments to view summary information about the layers within the GeoPackage

ogrinfo<PATH_TO_GEOPACKAGE>-so -al

Example:
ogrinfo wtr_ntwk_waterlinkset.gpkg -so -al
ogrinfo detailed output
INFO: Open of `C:\wtr_ntwk_waterlinkset.gpkg'
      using driver `GPKG' successful.
Layer name: wtr_ntwk_waterlinkset
Geometry: Unknown (any)
Feature Count: 116
Extent: (209562.134000, 79229.510000) - (341688.834000, 853194.875000)
Layer SRS WKT:
PROJCRS["OSGB 1936 / British National Grid",
[...]

Combined, these arguments will provide summary information about all the layers within the GeoPackage, including projection, schema, feature count and extents.

3

The arguments below will load all layers from the source GeoPackage into the specified target schema in the database:

ogr2ogr -f PostgreSQL "PG:user=<USERNAME>password=<PASSWORD> dbname=<DATABASENAME>host=<HOST>port=<PORTNUMBER>active_schema=<TARGETSCHEMA>" <PATHTOGEOPACKAGE>

<USERNAME>, <PASSWORD>, <DATABASENAME>, <HOST>, <PORTNUMBER> are the connection details of the target PostgreSQL database.

<TARGETSCHEMA> is the schema in the database that the layers should be loaded into. If this doesn’t exist or if it is omitted, they will be loaded into the default schema, the default is usually the ā€˜public’ schema.

ogr2ogr -f PostgreSQL "PG:user=example_user password=example_password dbname=postgres host=localhost port=5432 active_schema=example_schema" wtr_ntwk_waterlinkset.gpkg

This will create twp tables in the example_schema schema:

schemaname     | tablename
---------------+---------------------------------
example_schema | wtr_ntwk_waterlinkset
example_schema | wtr_ntwk_waterlinkset_wtrlinkref

Accessing OS NGD APIs

Learn how to access and use OS NGD API – Features and OS NGD API – Tiles.

The following pages provide an overview of the OS National Geographic Database (NGD) APIs and how you can access them. They cover the core elements of the design (including data available), technical specifications, and how to get started, amongst other topics.

The APIs are self-documenting and allow you to easily discover what OS NGD data is available before using it. You can explore the various data collections for free to decide what best suits your needs. The data is ready to use in numerous applications (desktop, web, and mobile), enabling you to power your applications with rich, consistent and current information about the real world.

Getting Started with Temporal Filtering

Introducing temporal filtering

Temporal filtering allows you to order a one-off snapshot of data from the OS National Geographic Database (NGD) from a current or past date.

You cannot apply a temporal filter to an existing data package held in your Data packages list; a temporal filter can only be added to new data packages during the data package creation stage.

The earliest date you can request for the majority of feature types in the OS NGD via a temporal filter is 29 September 2022.

Please note, as new feature types are added to the OS NGD, their temporal filter range will begin on the date they are added (for example, 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

If you request a temporal filter date for your new data package that precedes the date a feature type in the data package was added to the OS NGD, then no results will be returned.

How do I add a temporal filter to a new data package?

To create a new OS NGD data package and apply a temporal filter to it:

1
2

Select Download from the main menu

3

Choose OS Select+Build from the secondary navigation menu

4

In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you wish to create a data package against, select that recipe, then click the Add data package button.

5

Select add a data package in the secondary navigation menu to add details to your data package

6

Give your data package a name

7

Choose the area you want to receive your data for

This may be either all of Britain or Predefined Area (this means you receive data and it will not be refined by location) or Draw a polygon / upload a file / use an OS polygon to select a smaller area for your data to be provided for.

8
9
10

Select the updates you want

Instead of selecting the 'not required' or COU (Change-Only Update) frequency options (which are available under the 'Select updates' drop-down), to apply a temporal filter, you should select the option for a one-off snapshot of a current or past date by ticking the following check box:

11

Select the supply date needed for the snapsho

12

Click the Create data package button

You will receive an email confirming that your data package is being created and another one when your new data package is ready to download.

Attribute filtering is a new concept which we have introduced as part of OS Select+Build. The filters can help you to narrow down the exact data you need from the OS National Geographic Database (NGD). If required, you can add attribute filters to individual feature types when you create a new bespoke recipe of OS NGD data using OS Select+Build. (The has step-by-step instructions on how to create a new recipe.)

Log into your account

See the for more information on creating recipes.

Click the filter icon next to the feature type(s) you want to add a filter to in the theme selection tree

Log into your account

Click on the filter icon to the right of Building Part

Log into your account

is a translator library for raster and vector geospatial data formats that is released under an X/MIT style Open Source by the . It comes with a variety of useful command line utilities for data translation and processing. The following section covers the loading of GeoPackage datasets into a database using the ETL tool GDAL. The process will be similar for other databases such as Oracle and SQL Server, as well as converting to other data formats.

A database with extension enabled

Use the program to list information about the GeoPackage

Load the GeoPackage into a PostgreSQL database using the program

Different loading options (including renaming tables, reprojecting the data, etc.) can be found on the page.

These pages should be used in conjunction with the more detailed pages within the which are specifically focussed on the different OS NGD themes, collections and feature types.

The OS NGD APIs are available via the .

Temporal filtering is an optional step when you create a new data package against one of your existing recipes. For further information and step-by-step instructions on creating recipes and data packages, please see the .

Log into your account.

Select the desired

Select a file format: or

OS Data Hub
OS Data Hub
OS Data Hub
GDAL
License
Open Source Geospatial Foundation
PostgreSQL
PostgreSQL
PostGIS
ogrinfo
ogr2ogr
PostgreSQL / PostGIS — GDAL documentation
Getting started with an API project
OS NGD API – Features
OS NGD API – Tiles
Data Structure section
OS Data Hub
OS Data Hub
coordinate reference system
CSV
GeoPackage
creating a new data package in OS Select+Build
Downloading with OS Select+Build page
Downloading with OS Select+Build page
'Downloading with OS Select+Build' page
YouTube video showing how to add attribute filters to a new recipe in OS Select+Build.
YouTube video showing how to add a temporal filter to a new data package in OS Select+Build.

Loading CSV files

Loading OS NGD CSV files into databases

It is recommended that you have a basic understanding of database terminology before following the guides in the tabs below. The guides contain generic instructions, and it is recognised that there are multiple ways to load CSV files into databases which may be more suitable to your environment and existing processes.

Downloading with OS Select+Build

Discover how to download OS NGD data using our bespoke download service, OS Select+Build.

What is OS Select+Build?

For the first time, you can select and build only the data you require rather than taking off-the shelf OS products. For example, if you're only interested in buildings information, then you just select the OS NGD Buildings Theme and the content you require within that theme. There's no need to take a whole product and spend time filtering out the data you need from it.

You can also take data from different OS NGD collections. For example, you could select the Building Line and Building Part Feature Types (which are both in the Building Features Collection of the Buildings Theme) and the Structure Line Feature Type (which is in the Structure Features Collection of the Structures Theme).

The screenshot below shows what selecting this data would look like using OS Select+Build. The secondary navigation menu on the left-hand side of the screen is where you select the feature types you want from the tree view of the OS NGD themes, collections, and feature types, and where you can apply filters to the feature types (if needed). The right-hand side panel displays the definition for the feature type you've selected and lists all the attributes present within it.

Recipes

What is a recipe?

A recipe is a bespoke selection of OS NGD data which is made by a user within OS Select+Build. Recipes allow you to choose the OS NGD data that best fits your requirements.

Every new recipe you create will be stored in your OS NGD Select+Build Recipe Library. This library will be visible to other people in your organisation. It provides a central place for colleagues to view and use recipes.

How do I create a new recipe?

Before you create a data package to receive your OS NGD data, you'll need to create a recipe.

To create a new recipe:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • Click the Create a new recipe button.

  • Add the following details to your recipe under Create your recipe in the secondary navigation menu:

    • Give your recipe a name.

    • Add a description for your recipe.

    • Select your OS NGD data by choosing the themes, collections and feature types you want to include in your recipe.

    • If you wish to choose which schema version (where applicable) you'd like to receive the data in for a feature type, click on the feature type name within the tree view in the secondary navigation menu, then choose a data schema version from the drop-down box in the right-hand side panel.

    • Add filters to the feature types, if needed.

  • Click the Create recipe button.

Your new recipe will now instantly be available in your OS Select+Build Recipe Library.

Please note:

  • We recommend defining a naming convention for your organisation before creating OS NGD recipes and / or data packages.

How do I find my OS Select+Build Recipe Library?

Any recipes created by your organisation will be stored in your OS Select+Build Recipe Library in the OS Data Hub.

To find your OS Select+Build Recipe Library:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

You will then be taken to your organisation's OS Select+Build Recipe Library.

How do I check what's in a recipe?

You can easily check details about any of your organisation's existing recipes, including a recipe's name, description, creation date, author, the filters used (if applicable), and what OS NGD themes, collections and feature types are included in a recipe.

To check what's in an existing recipe:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you would like to find out more about.

  • In this view, you can see the following high-level details about a recipe:

    • The recipe's name

    • The recipe's author

    • The date the recipe was created

    • A description of the recipe, if one has been added

    • OS NGD theme tags to show which themes are included in the recipe

In the screenshot below, you can see that the example recipe includes the following OS NGD themes: Land, Buildings, and Structures.

To see what OS NGD themes, collections and feature types are in a recipe, follow the steps above to find a recipe in your OS Select+Build Recipe Library, then:

  • Click on the name of the recipe you would like to find out more about.

  • You are now within the Recipe details screen, where you can view detailed information about the recipe, including:

    • The recipe's name

    • A description of the recipe, if one has been added

    • An option to view all of the filters applied to feature types in the recipe (if applicable)

    • The date the recipe was created

    • The recipe's author

    • An option to show the data schema version of each feature type in the recipe

    • A recipe tree detailing the OS NGD themes, collections, and feature types included in the recipe

How do I delete a recipe?

A recipe can be deleted within your recipe library. You can do this if you are the author of the recipe or an admin user.

To delete a recipe:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to delete.

  • Click on the name of the recipe to view the recipe details.

In this view, you will be able to see the Recipe actions dropdown

  • Click the Recipe actions dropdown.

  • Click the Delete recipe button.

  • Click on the name of the recipe to view the recipe details.

    • If there are no data packages associated with the recipe, you will be asked to confirm the deletion of the recipe.

    • Where there are data packages associated, you will see the following warning:

  • Click the Delete recipe button.

A shared recipe cannot be deleted.

How do I edit the name of my recipe?

To edit a recipe's name:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to edit.

  • Click on the name of the recipe to view the recipe details.

  • Click on the pencil icon next to the recipe name.

  • Enter the required changes to the recipe name.

  • To save your changes, simply click away from the edit box.

The change log will update to reflect the change to the recipe name.

How do I edit the description of my recipe?

To edit a recipe's desciption:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to edit.

  • Click on the name of the recipe to view the recipe details.

  • Click on the pencil icon next to the recipe description.

  • Enter the required changes to the recipe description.

  • To save your changes, simply click away from the edit box.

The change log will update to reflect the change to the recipe description.

How do I share a recipe?

A recipe can be shared with another organisation to enable collaboration.

To share a recipe:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your organisation's OS Select+Build Recipe Library, scroll or search for the recipe you want to share.

In this view, you will be able to see the Share recipe button; please note that you can only share recipes created by your organisation.

  • Click the Share recipe button.

The share recipe dialog will appear.

  • Search for the organisation with whom you wish to share the recipe. To do this, just start to type the organisation's name, then select the correct organisation from the list.

  • Add a message for the organisation receiving the recipe to provide them with context around why you are sharing the recipe with them.

  • Click Send.

How do I accept a recipe shared with me?

To accept a shared recipe:

You will see a new notification at the top right of your screen, indicated by a bell button and a number count of any unread notifications.

  • Click the bell button.

You will then see details of a notification explaining You have been sent a shared recipe, which will include the name of the organisation that shared the recipe with you, along with a message if they added one when sharing the recipe.

  • Click View recipe details.

The recipe details will be displayed for you to review. If you are happy with the shared recipe:

  • Click the Accept recipe button.

You will be presented with a dialog box explaining: When you accept a recipe, it is added to your organisation’s recipe library. It will show as 'shared'. You can create data packages from it, but you can’t share the recipe with other organisations.

If another team member in your organisation declines the invitation to accept a shared recipe before you view it, you may no longer have access to the shared recipe.

Shared recipes that you have accepted from another organisation can be identified by the presence of the Shared with me tag against them.

How do I reject a recipe shared with me?

To reject a shared recipe:

You will see a new notification at the top right of your screen, indicated by a bell button and a number count of any unread notifications.

  • Click the bell button.

You will then see details of a notification explaining You have been sent a shared recipe, which will include the name of the organisation that shared the recipe with you, along with a message if they added one when sharing the recipe.

  • Click View recipe details.

The recipe details will be displayed for you to review. If this recipe is not right for you and you want to reject it:

  • Click the Reject button.

Once a shared recipe is rejected, you will not be able to access it again.

Data packages

How do I create a new data package?

Once you've created a recipe, you'll then need to create a data package against it to receive your OS NGD data.

To create a new OS NGD data package:

  • Select Download from the main menu.

  • Choose OS Select+Build from the secondary navigation menu.

  • In your OS NGD Select+Build Recipe Library, scroll or search for the recipe you wish to create a data package against, select that recipe, then click the Add data package button.

  • Add the following details to your data package under Add a data package in the secondary navigation menu:

    • Give your data package a name.

    • Choose the area you want to receive your data for: Either all of Britain or Predefined Area (this means you receive data and it will not be refined by location) or Draw a polygon / upload a file / use an OS polygon to select a smaller area for your data to be provided for.

    • Select the updates you want: Either not required or COU (Change-Only Update) frequency. There is also an option to select a one-off snapshot of a current or past date.

    • Set your initial supply date.

  • Click the Create data package button.

You will receive an email confirming that your data package is being created and another one when your new data package is ready to download.

When you order data through OS Select+Build, the data package/s you receive will be provided at a feature type level. Each feature type you order will be available to download as a .zip file. Currently, grouped files are not available for OS NGD data packages.

Single or multiple data packages can be created from a single defined recipe. Creating multiple data packages from a single recipe is useful if you want to select a different file format or area of interest for a recipe.

Please note that the Annual Full Supply order frequency option will not be available for the the three new feature types released in March 2023 (River Basin District Catchment, Waterbody Catchment, and Average and Indicative Speed Feature Types) or the data schema version 2.0 addressing feature types until 01 January 2023. If you select this order frequency for a data package containing one (or more) of the three new feature types or the data schema version 2.0 addressing feature types before 01 January 2023, then you will receive blank files.

How do I find and download an existing data package?

All OS NGD, OS OpenData and OS Premium data packages created and ordered by your organisation will be catalogued in your Data packages list in the OS Data Hub.

To find and download an existing data package:

  • Select Download from the main menu.

  • Choose Data packages from the secondary navigation menu.

You will be then taken to your Data packages list.

  • Scroll through the list to find a particular data package or use the search bar to search by data package name, data package number, or product name.

Data packages linked to an OS NGD recipe can be identified by their prefix of 'OS NGD Recipe' against the recipe name in the Product column in the Data packages list:

  • Once you have found the data package you want from the list, click the Download button in the Status column.

You are now within the Data package summary screen, where you can view and download files. Under 'Individual file downloads' in the bottom left-hand side of your screen, you will see a .zip file for every feature type in your data package order.

  • Click on a file to download it.

What is the Order Summary file?

This is also known as a manifest file, a computing file which contains metadata. We provide an Order Summary file for each feature type in your data package. The following file naming convention will be applied to each Order Summary file you receive:

  • collection_featuretype_orderSummary.jso

For example, the file name for the Building Part Feature Type Order Summary file would look like this:

  • bld_fts_buildingpart_orderSummary.jso

The example below shows the information an Order Summary file contains:

{
 "featureName": "bld-fts-buildingline",
 "crs": "http://www.opengis.net/def/crs/EPSG/0/27700",
 "schemaVersion": "1.0",
 "validFromDate": null,
 "validToDate": "2023-03-01",
 "recordCount": 202653
}

Things to remember

You can:

  • Delete a recipe

  • Edit the name or decription of a recipe

  • Create multiple data packages from a single recipe.

  • Delete a data package.

  • Search through your organisation's recipes in the OS Select+Build Recipe Library using the recipe name, description, or content (i.e. themes, collections, or feature types).

  • Search through your organisation's data packages in the Data packages list screen using the data package name, data package number, or product name.

  • Share a recipe with another organisation that has access to OS Select+Build.

You can't:

  • Edit the data or filtering within recipe once it's been created.

  • Download the contents of an OS NGD data package using the grouped file function.

Future OS Select+Build enhancements being considered:

  • The ability to edit a recipe.

Landing page

Technical Specification

API Reference

OS NGD API – Features Technical Specification provides an overview of the endpoints available, as well as the parameters that can be used with each endpoint. The Technical Specification is intended to be used by customers who want to integrate with the API. The service offers the following endpoints:

Use of CQL Operators

The OS NGD API – Features supports a generic filter grammar called Common Query Language (CQL) for specifying enhanced filter criteria to return a subset of features. CQL is written using a familiar text-based syntax, making it more readable and better-suited for creating complex filters.

The following table documents the supported operators:

Conformance

Collections

Collection

Queryables

Features

OS NGD API – Features

What is OS NGD API – Features?

Things to remember for OS NGD API – Features

You can:

  • Request specific features using location, attribute, and / or time queries.

  • Interrogate highly detailed feature information.

  • Freely discover what OS NGD data collections are available.

  • Explore the OS NGD data schemas and queryables.

  • Request data in GeoJSON format.

  • Visualise OS data and apply your own styling.

You can't:

  • Create a scalable map of Great Britain across zoom levels.

  • Request more than 100 features in a single transaction.

  • Access data from the:

    • OS NGD Address Theme

    • OS NGD Administrative and Statistical Units Theme

    • Waterbody Catchment and River Basin District Catchment Feature Types (of the OS NGD Water Features Collection in the OS NGD Water Theme)

Processing COUs

The process to load the COU files will depend on a number of factors based on your own environment and requirements, including:

  • Database software

  • Data loading method or software

  • Feature retention and lifecycle requirements

Feature retention options

There are two main scenarios that represent either extreme of the feature lifecycle options:

  1. Latest feature view

  2. Full feature archive

Latest feature view

In this scenario, the COU files are processed and only the current version of every feature is retained. This will result in the same data holdings that would be achieved if a new full supply was received on this date.

To achieve this, either post-processing will have to be done once all COU data is loaded into a database, or the loading process will need to evaluate the COU data against your existing data and process accordingly. This processing will be based on the supplied attributes which detail the type of change and the dates for that version.

Change type

Each feature type is supplied with a Change Type attribute (changetype), which is populated from a code list value (changetypevalue).

Below is a table of the possible change types and the resultant actions required to maintain a latest feature view of the data for the specific feature type. Individual features should be targeted based on that feature type's unique identifier. In the majority of feature types, this will be the osid, but this is not always the case; therefore, please check the appropriate feature type documentation.

Version dates

A single feature may be updated multiple times in a single COU file when multiple changes occur within the selected COU frequency. Instead of suppressing all changes other than the last edit, the COU will contain all of the edits which have been made to that feature.

To obtain the current 'live' view of a feature, the latest edit is required; all previous edits can be discounted. In essence, this requires the following two processes:

  1. Discarding all feature records with the exception of the latest Version Available From Date (versionavailablefromdate)

  2. Discarding all feature records that have a Version Available To Date (versionavailabletodate) populated, i.e. it is NOT NULL. These records will also have the Change Type Value (changetypevalue) of 'End Of Life' or 'Moved To A Different Feature Type'.

Full feature archive

In this scenario, every record is retained, giving a full lifecycle since the supply started of each feature. This will result in multiple records for each feature.

To enable this in a database, the default primary keys (as defined in the provided DDL scripts) will have to be changed to also include the version available from and to dates (versionavailablefromdate, versionavailabletodate).

Prior to loading the data into a database, it is necessary to create the relevant tables in the database. We have supplied the DDL statements that can be accessed in our .

These instructions are based on version 14, but should work for all supported versions. The instructions assume that you have set-up your database with the spatial extension.

Once connected to your PostgreSQL database, with the relevant schema and table created, the CSV file can be loaded with the following SQL statement using the :

COPY destination_schema.destination_table 
    FROM 'source_path_to_csv_file\source_name_of_csv_file.csv'
    DELIMITER ','
    CSV HEADER
    ENCODING 'UTF8';

PostGIS will automatically store the geometry data that is supplied in Well-Known Text (WKT) format.

There is a known bug affecting PostgreSQL versions 11, 12 and 13 in Windows environments, where the COPY command cannot load files larger than 4GB. As a workaround, version 14 (or later) of the COPY command can be used to load data into the affected database versions.

For reference, the error message states ERROR: could not stat file.

These instructions are based on 2019, but should work for all supported versions.

Once connected to your SQL Server database, with the relevant schema and table created, the CSV file can be loaded with the following SQL statement using the :

BULK INSERT destination_schema.destination_table
FROM 'source_path_to_csv_file\source_name_of_csv_file.csv'
WITH (
    FORMAT = 'CSV',
    FIRSTROW = 2
);

It is not possible to BULK INSERT the geometries directly in their Well-Known Text (WKT) format.

However, it is possible to change the destination geometry column to a nvarchar(max) type, and then either post process the table or use a a computed column to generate a geometry type column (see code examples below).

Post process example
-- Add new geometry column
ALTER TABLE destination_schema.destination_table
ADD new_geometry_column_name geometry;

-- Set new geometry column using existing WKT column
UPDATE destination_schema.destination_table
SET [new_geometry_column_name] =  geometry::STGeomFromText(destination_table.geometry, /* EPSG_CODE_OF_GEOM */); 

-- Optional drop original WKT column
ALTER TABLE destination_schema.destination_table
DROP COLUMN geometry;
Computed column example
ALTER TABLE destination_schema.destination_table
ADD new_computed_column_name AS
    geometry::STGeomFromText(destination_table.geometry, /* EPSG_CODE_OF_GEOM */) persisted;

It is not possible to load OS NGD CSV files into an Oracle database using the default SQL*Loader utility. The geometries are supplied in Well-Known Text (WKT) format and some of them are too large for SQL*Loader to process.

OS Select+Build is our download service that gives you access to OS National Geographic Database (NGD) data. You can use it to choose and download the OS NGD data you need (by ) and select how you want to receive your data.

There are two different file formats options available when you download OS NGD data from OS Select+Build: GeoPackage and CSV. Various are available.

OS Select+Build is available via the .

OS NGD data is structured by ; the main advantage to this data structure is that you can easily find and select individual feature types across different themes and build your own recipes and data package/s containing only the data you are interested in. There's also the option to select all or only a few feature types from a single theme.

Log into your account.

Selecting a data schema version for a feature type is an optional step; if you don't choose a particular data schema version for a feature type, OS Select+Build will always select the latest available data schema version for you by default. See the for more information.

Adding filters to feature types is an optional step for those with advanced OS data knowledge; see the for more information on applying filters and step-by-step instructions.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Log into your account.

Select the desired .

Select a file format: or .

Log into your account.

Collect your data package(s) via the or the .

Operator Type
Supported Operators

With OS NGD API – Features, you can filter by attribute, location and / or time to create your own customised data selections. Based on the latest standard, this API can help accelerate your time-to-value by making it easier to build awesome things with our trusted geospatial data. You can use it to reduce your data management overheads, automate your workflows, and innovate at pace.

Detailed geospatial data

Provides online access to detailed OS NGD data, including buildings, transport and land.

New, easier ways to access data

OS NGD API – Features gives you direct, online access to the OS NGD and schemas using the latest OGC API – Features standard.

Rich attribution information

Access detailed geometries and rich attribution through OS NGD API – Features for only the data you need using spatial, attribute and/or time queries

On-demand access

Eliminates the need to download, store and maintain large datasets.

Up-to-date mapping

Benefit from current, detailed and accurate data to help you generate new location-based insight converting NGD data into meaningful and actionable information.

Efficient data processing

Reduce workload by offering direct access to the required data.

Enhanced decision making

Provides detailed feature attribution for better and more informed analysis.

  • Format: Vector (Lines, Points, Polygons)

  • Data Source: See for further information

  • Coverage: Great Britain

  • Update: See for further information

  • OS Data Hub plan: Premium Plan, Public Sector Plan

If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

Change-Only Update (COU) files are only available for CSV data supplies of the OS NGD. Further information about COU data supplies can be found on the page.

changetypevalue
Action

However, with the relevant schema and table created in your Oracle database, the CSV file can be loaded using ETL (extract, transform, load) tools, for example, or .

OS NGD Resources GitHub repository
PostgreSQL
PostGIS
COPY command
Microsoft SQL Server
BULK INSERT command
GDAL
FME
theme, collection and feature type
supply options
OS Data Hub
themes, collections, and feature types
OS Data Hub
'Data schema versioning' page
'Getting Started with Attribute Filtering' page
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
OS Data Hub
coordinate reference system
CSV
GeoPackage
OS Data Hub
OS Data Hub
OS Downloads API

Comparison

EQUAL TO [ = ], LESS THAN [ < ], LESS THAN OR EQUAL TO [ <= ], GREATER THAN [ > ], GREATER THAN OR EQUAL TO [ >= ], ISNULL, LIKE, IN, BETWEEN

Logical

AND, OR, NOT [ <> ]

Array

AEQUALS, ACONTAINS, ACONTAINEDBY, AOVERLAPS

Spatial

INTERSECTS

New

Insert as a new feature

Moved From A Different Feature Type

Insert as a new feature

End Of Life

Delete existing feature based on unique identifier

Moved To A Different Feature Type

Delete existing feature based on unique identifier

Modified Attributes

Update the record (see section below)

Modified Geometry

Update the record (see section below)

Modified Geometry And Attributes

Update the record (see section below)

Landing page

OS NGD API – Features landing page

Conformance

List the OS NGD API – Features conformance to the OGC API - Features specification.

Collections

Get a list of all the available OS NGD feature types.

Collection

Get information about a specific OS NGD feature type.

Schema

Get the schema for a specific OS NGD feature type.

Queryables

Get a list of queryable attributes for a specific OS NGD feature type.

Features

Get features in an OS NGD feature type.

Feature

Get a specific feature in an OS NGD feature type by its OSID.

COU supplies
What data is available?
Currency of OS NGD data
YouTube video showing how to create a recipe using OS Select+Build.
YouTube video showing how to create and download a data package using OS Select+Build.

GIS Software

Accessing OS NGD data with OS NGD API – Features via GIS software

The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Features in various GIS software packages:

  • Cadcorp SIS

  • ESRI ArcGIS Online

  • ESRI ArcGIS Pro

  • QGIS

OGC API – Features
OS Places API
changetypevalue

Feature

ESRI ArcGIS Online

Accessing OS NGD data with OS NGD API – Features via ESRI ArcGIS Online

ArcGIS Online is a web-based platform geographic information system (GIS). ArcGIS Online services are managed by Esri and accessed by a client running on a wide range of options.

The instructions that follow demonstrate how to connect to OS NGD API – Features using ESRI ArcGIS Online.

What you need

  • Access to the ESRI ArcGIS Online service.

Instructions

1

Add a new layer

Once you've signed into your ESRI ArcGIS Online account and opened the map viewer. Zoom in to a small area to reduce the number of requests that are initially sent to the API.

  • Select Layers > Add > Add layer from URL.

2

Add an API and set up custom parameters

In the Add Layer dialog:

  • URL: Enter the base URL for OS NGD API – Features, excluding the API Key. For example, https://api.os.uk/features/ngd/ofa/v1.

  • Type: Select OGC feature layer.

  • Select Custom request parameters and enter the following:

    • Parameter: key

    • Value: [Insert your OS API Key here]

  • Click Next.

3

Adding layers to the map

In the Add Layer dialog:

  • To add a layer to the map: Select a layer to add to the map and then click Add to map.

The layer will then display in the Layers panel and the data will display on the map:

Features will automatically refresh when you zoom or pan on the map. If you wish to add multiple layers to the same map, repeat steps 2 and 3.

Schema

Getting Started

What data is available?

What feature types are available in OS NGD API – Features?

The following table documents the OS NGD datasets available through the OS NGD API – Features showing the themes, collections and lists the available feature types.

OS NGD themes and collections have been created to group similar geographic entities and data types, making it quicker and easier to identify the data you need. The OGC API - Features standard also references feature collections, and in the context of OS NGD datasets, this is equivalent to feature types.

The following naming convention has been applied to the feature collections: theme-collection-featuretype-version. Short codes have been used for both the theme and collection to keep the feature collection names manageable and not overly long. An example of the short codes used is below:

bld-fts-buildingline-1

Click on the theme to find out more information about the dataset:

Theme
Collection
Feature Type(s)

QGIS

Accessing OS NGD data with OS NGD API – Features via QGIS

QGIS is an open GIS (Geospatial Information System) desktop application that allows you to display, interrogate, visualise and create geospatial information including from geo-centric APIs (for example, a WFS).

The instructions that follow demonstrate how to connect to OS NGD API – Features using QGIS.

What you need

  • QGIS (version 3.12.0 or later).

Instructions

1

Set up a new connection

Once a new project with a base map map has been set up, zoom in to a small area to reduce the number of requests that are initially sent to the API. Select Layer > Add Layer > Add WFS / OGC API - Features Layer.

2

Create a new connection

In the Data Source Manager | WFS / OGC API - Features dialog click New and in the New WFS Connection dialog:

  • Name: Provide a name for the connection. You can reuse this connection in the future.

  • URL: Copy the OS NGD API – Features endpoint address from the OS Data Hub and paste it into this field. Your API Key is automatically appended to this URL in the key parameter.

  • Authentication: Leave these settings at their defaults. You do not need a username or password as authentication is done through your API Key.

  • Version: Click Detect to identify the version.

  • Enable feature paging: Select this option, if necessary.

  • Page size: Enter a maximum page size. This limits the page size to a maximum number of features. We recommend a setting of about 100 to speed up response times. Larger values may result in a very slow response time.

  • Other: Leave the other settings at their defaults.

  • Click OK.

3

Adding layers to the map

Data Source Manager | WFS / OGC API - Features dialog:

  • Select your new connection in the dropdown, if necessary.

  • Click Connect.

When you click Connect, a list of layers available in OS NGD API – Features populates in the main box:

  • To add a layer to the map: Select the layer to highlight it. You can select multiple layers by using the Ctrl key.

  • Only request features overlapping the view extent: Select this option.

  • Click Add.

The layer will then display in the Layers panel and the data will display on the map:

Leaflet

Accessing OS NGD API – Features via Leaflet

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

2

Insert your API Key and OS NGD collection

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Add a variable called collectionID, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

3

Add a basemap

  • Define the configuration options for the map, defining minZoom, maxZoom, center, zoom, maxBounds, attributionControl.

    • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

    • center: Sets the initial centre point of the map.

    • zoom: Sets the initial zoom level of the map.

    • maxBounds: Defines the maximum bounds and restricts panning the map.

    • style: Defines the style of the map, configured via a URL pointing at the style specified.

    • attributionControl: When set to 'false', it hides the attribution control which displays map credits.

  • Initialize the map with the id of the <div> element and the configuration option defined in mapOptions.

  • Using the 'L.tileLayer' method, specify the basemap layer for OS Maps API, which includes your API Key to load the tiles to your map.

4

Add an OS NGD API – Features layer

  • Create a function called fetchFeatures that fetches the API based on the current map extent (bounding box) by generating a bbox string.

  • Construct the API request URL to fetch OS NGD data from OS NGD API – Features. The URL includes the collectionId, bbox and apiKey.

  • Once the features have been returned in JSON, update the source data of the map's layers to display the features.

5

Load and update features on the map dynamically

The map.on('moveend',...) event handler fetches and updates the features based on the map's current extent.

Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan and zoom across the map.

What's next?

Congratulations! You've successfully created a map using Leaflet and added an OS NGD layer using OS NGD API – Features in a few steps.

OpenLayers

Accessing OS NGD API – Features via OpenLayers

OpenLayers is easy to use and can be integrated with a variety of other web development frameworks.

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

2

Insert your API Key and OS NGD collection

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Add a variable called collectionId, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

3

Add a basemap

  • Create a source for the basemap layer using OS Maps API and initialise the ol.map class with the applicable map properties – target, layers and view. Add the following code inside the JavaScript block:

The above code creates the main map instance using the OpenLayers library where you can specify various properties:

  • target: Defines where the map should be displayed. In this instance, it is set to the id of the <div> element.

  • layers: An array containing the layers to be added to the map.

  • view: Defines the initial view of the main, containing various settings such as projection, extent (the geographic bounds of the map), minimum and maximum zoom levels, centre of the map and the initial zoom level.

4

Add an OS NGD API – Features layer

  • Define and initialise the source using the ol.source.Vector class to make a request to OS NGD API – Features. By utilising the ol.loadingstrategy.bbox this means that data from OS NGD API – Features will be loaded based on the visible map extent.

  • To create a separate layer to overlay OS NGD data onto the map, you will need to add the ngdFeatures layers to the ol.map object to render both layers on the map.

Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan across the map.

What's next?

Congratulations! You've successfully created a map using OpenLayers and added an OS NGD layer using OS NGD API – Features in a few steps.

Zoom Levels

What is a Tile Matrix Set?

A Tile Matrix Set is a standardised way to divide the coverage of the service into a regularly spaced grid system made up of tiles (512x512 pixels).

By defining the tile matrix set for each coordinate reference system, we can ensure interoperability across different software, achieve accurate positioning with consistent behaviour, and improve performance.

EPSG:3857 Tile Matrix Set

The table below shows the resolution (meters per pixel) and scale of the zoom levels within the EPSG:3857 tile matrix set.

The zoom levels start at 6 to fit in with the industry standard initial zoom layer. This improves the interoperability of this tile matrix set with third party tools and applications.

EPSG:27700 Tile Matrix Set

The table below shows the resolution (meters per pixel) and scale of the zoom levels within the EPSG:27700 tile matrix set.

The zoom levels start at 0 rather than at 6 used for the EPSG:3857 tile matrix set, but the range of resolutions & scales is comparable. EPSG:27700 zoom level 0 is similar to EPSG:3857 zoom level 6.

Technical Specification

OS NGD API – Tiles Technical Specification provides an overview of the endpoints available, as well as the parameters that can be used with each endpoint. The Technical Specification is intended to be used by customers who want to integrate with the API. The service offers the following endpoints:

A preloaded base map, for example, .

OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

The following pages provide an overview of how to get started using OS NGD API – Features. They provide step-by-step instructions to get started in the most common and .

These pages should be read in conjunction with the more detailed pages within the section and the API's .

, , ,

, , ,

, , , ,

, ,

, , , ,

, , , ,

, , , , , , , , , , , , , , , , ,

, , , , , , , , , , , , ,

, , ,

, ,

Find out more about the hierarchy of OS NGD data from the page.

If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

A preloaded basemap, for example, or .

OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

As best practice, only load layers that relate to your current task – not all layers. The more features you call, the longer it takes to load them into QGIS. In addition, each feature, regardless of its layer, counts towards your .

is an open-source JavaScript library for displaying interactive maps on the web or mobile. A simple and lightweight library that will enable you to display and visualise location data and build dynamic applications.

OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

is a free and open-source JavaScript library for displaying interactive maps on the web. It is a powerful tool that can be used to create a wide variety of map-based applications, from simple web maps to complex GIS applications.

OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

Zoom level
Resolution
Scale
Open or Premium
Zoom level
Resolution
Scale
Open or Premium
GIS software
web mapping libraries
Data Structure
Technical Specification
OS NGD Terminology and Access
OS Places API
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Features | Template (EPSG:3857) | Leaflet</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.css" />
    <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.js"></script>
    
    <!--Add the Leaflet libraries-->
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.4/dist/leaflet.css" />
    <script src="https://unpkg.com/leaflet@1.9.4/dist/leaflet.js"></script>
    
   
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
// Set API Key 
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId= 'INSERT_COLLECTIONID_HERE';
// Initialize the map.
    const mapOptions = {
        minZoom: 7,
        maxZoom: 20,
        center: [ 50.727589, -3.541809 ],
        zoom: 18,
        maxBounds: [
            [ 49.528423, -10.76418 ],
            [ 61.331151, 1.9134116 ]
        ],
        attributionControl: false
    };

    const map = L.map('map', mapOptions);

    // Load and display ZXY tile layer on the map.
    const basemap = L.tileLayer(`https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`, {
        maxZoom: 20
    }).addTo(map);
// Add layer group to make it easier to add or remove layers from the map.
    const lyrGroup = new L.layerGroup().addTo(map);

// Define an asynchronous function to fetch and display the NGD Features API features.
    async function fetchFeatures(bounds) {
        // Generate a BBOX string for the map extent.
        const bbox = bounds.toBBoxString();

        // Construct the NGD Features API request URL.
        const url = `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?key=${apiKey}&bbox=${bbox}`;

        // Fetch features from the API endpoint.
        const features = await fetch(url).then(response => response.json());

        // Parse the GeoJSON data and display it on the map.
        lyrGroup.clearLayers().addLayer(L.geoJSON(features));
    }

// Get the visible map bounds (BBOX).
    let bounds = map.getBounds();

// Initial fetch and display of features.
    fetchFeatures(bounds);
// Add event which will be triggered when the map has finshed moving (pan + zoom).
// Implements a simple strategy to only request data when the map viewport invalidates
// certain bounds.
    map.on('moveend', function() {
        let bounds1 = new L.latLngBounds(bounds.getSouthWest(), bounds.getNorthEast()),
            bounds2 = map.getBounds();

        if( JSON.stringify(bounds) !== JSON.stringify(bounds1.extend(bounds2)) ) {
            bounds = bounds2;
            fetchFeatures(bounds);
        }
    });
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Features | Template (EPSG:3857) | OpenLayers</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.css" />
    <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.js"></script>
    
    <!--Add the OpenLayers libraries-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@v8.1.0/ol.css" />
    <script src="https://cdn.jsdelivr.net/npm/ol@v8.1.0/dist/ol.js"></script>
    
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
// Set API Key 
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId= 'INSERT_COLLECTIONID_HERE';
// Initialize the map object.
    const map = new ol.Map({
        target: 'map',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.XYZ({
                    url: `https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`
                })
            })
        ],
        view: new ol.View({
            projection: 'EPSG:3857',
            extent: ol.proj.transformExtent([ -10.76418, 49.528423, 1.9134116, 61.331151 ], 'EPSG:4326', 'EPSG:3857'),
            minZoom: 7,
            maxZoom: 20,
            center: ol.proj.fromLonLat([ -3.541809, 50.727589 ]),
            zoom: 18
        })
    });
// Create the NGD Features API layer (with BBOX strategy).
    const ngdFeatures = new ol.layer.Vector({
        source: new ol.source.Vector({
            format: new ol.format.GeoJSON(),
            url: function(extent) {
                return (
                    `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?key=${apiKey}&bbox=${extent.join(',')}&bbox-crs=http://www.opengis.net/def/crs/EPSG/0/3857`
                );
            },
            strategy: ol.loadingstrategy.bbox
        })
    });

    // Add the NGD Features API layer to the map.
    map.addLayer(ngdFeatures);

6

1222.9924525628201

4367830.1877243574709

OpenData

7

611.49622628141

2183915.0938621787354

OpenData

8

305.748113140705

1091957.5469310893677

OpenData

9

152.8740565703525

545978.7734655446839

OpenData

10

76.4370282851763

272989.3867327723419

OpenData

11

38.2185141425881

136494.693366386171

OpenData

12

19.1092570712941

68247.3466831930855

OpenData

13

9.554628535647

34123.6733415965427

OpenData

14

4.7773142678235

17061.8366707982714

OpenData

15

2.3886571339118

8530.9183353991357

OpenData

16

1.1943285669559

4265.4591676995678

Premium data

17

0.5971642834779

2132.7295838497839

Premium data

18

0.298582141739

1066.364791924892

Premium data

19

0.1492910708695

533.182395962446

Premium data

0

3584

12799999.998

OpenData

1

1792

6399999.99899

OpenData

2

896

3199999.999496063

OpenData

3

448

1599999.9997480316

OpenData

4

224

799999.9998740158

OpenData

5

112

399999.9999370079

OpenData

6

56

199999.99996850395

OpenData

7

28

99999.99998425198

OpenData

8

14

49999.99999212599

OpenData

9

7

24999.999996062994

OpenData

10

3.5

12499.999998031497

OpenData

11

1.75

6249.9999990157485

OpenData

12

0.875

3124.9999995078742

Premium data

13

0.4375

1562.4999997539371

Premium data

14

0.21875

781.2499998769686

Premium data

15

0.109375

390.6249999384843

Premium data

OS NGD Buildings
Building Features
Building
Building Access Location
Building Line
Building Part
OS NGD Geographical Names
Named Features
Crowd Sourced Name Point
Named Area
Named Point
Named Road Junction
OS NGD Land
Land Features
Land
Land Point
Landform
Landform Line
Landform Point
OS NGD Land Use
Land Use Features
Site
Site Access Location
Site Routing Point
OS NGD Structures
Structure Features
Compound Structure
Field Boundary
Structure
Structure Line
Structure Point
OS NGD Transport
Transport Features
Cartographic Rail Detail
Rail
Road Line
Road Track Or Path
Street Light
Transport Network
Connecting Link
Connecting Node
Ferry Link
Ferry Node
Ferry Terminal
Path
Path Link
Path Node
Railway Link
Railway Link Set
Railway Node
Pavement Link
Road
Road Junction
Road Link
Road Node
Street
Tram On Road
Routing and Asset Management Information (RAMI)
Average And Indicative Speed
Highway Dedication
Maintenance Area
Maintenance Line
Maintenance Point
Reinstatement Area
Reinstatement Line
Reinstatement Point
Restriction
Routing Hazard
Routing Structure
Special Designation Area
Special Designation Line
Special Designation Point
OS NGD Water
Water Features
Inter Tidal Line
Tidal Boundary
Water
Water Point
Water Network
Water Link
Water Link Set
Water Node

Landing page

OS NGD API – Tiles landing page.

Conformance

List the OS NGD API – Tiles conformance to the OGC API - Tiles specification.

Collections

Get a list of all the available tile layers available.

Collection

Get information about a specific tile layer.

Tile Matrix Sets

Get the available tiling schemes and definition.

Tiles

Get tilesets and vector tiles from a specific tile layer.

Styles

Get a list of the available styles and the stylesheet.

Libraries

Accessing OS NGD data with OS NGD API – Features via web mapping libraries

The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Features in various web mapping libraries:

  • Leaflet

  • MapLibre GL JS

  • OpenLayers

  • Python (Geopandas)

GIS Software

Accessing OS NGD data with OS NGD API – Tiles via GIS software

The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Tiles in various GIS software packages:

  • Cadcorp SIS

  • QGIS

Libraries

Accessing OS NGD data with OS NGD API – Tiles via web mapping libraries

The following sub-sections provide step-by-step instructions on how to access OS NGD data via OS NGD API – Tiles in various web mapping libraries:

  • Leaflet

  • MapLibre GL JS

  • OpenLayers

rate limits
Leaflet
code examples
OpenLayers
code examples

Landing page

Tile Matrix Sets

Tiles

MapInfo Professional

Accessing GeoPackage data via MapInfo Professional

Requirements

  • MapInfo Professional (version 15.2 or later)

  • A GeoPackage dataset

Instructions

These instructions were completed using MapInfo Professional version 2019; however, any version from 15.2 onwards can be used.

1

Select Open > Table in the top ribbon.

A dialog box will appear where you can search for the appropriate GeoPackage.

2

Locate the GeoPackage in the file explorer and click Open.

Another dialog box will appear showing the layers available to be imported.

3

Select which layers to import into MapInfo Progessional from the GeoPackage

Once the layers have been selected, click OK.

The data should now be available in your workspace.

Cadcorp SIS

Accessing OS NGD data with OS NGD API – Features via Cadcorp SIS

The Cadcorp Spatial Information SystemĀ® (Cadcorp SISĀ®) is an integrated family of geospatial products comprising desktop, web, and developer applications.

Cadcorp SIS Desktop connects directly to the OS Data Hub through dedicated wizards.

What you need

  • Cadcorp SIS (version SIS 9 or later).

Instructions

These instructions are based on Cadcorp SIS Desktop version 9.1.1668.

1

Add overlay

Once a new map has been set up, in the Home tab, click Add Overlay.

2

Select API

In the Overlay Types dialog:

  • Select Ordnance Survey (GB) > OS (GB) Data Hub, and then click Next.

In the OS (GB) Data Hub dialog:

  • Select OS National Geographic Database (NGD) API – Features.

  • API Key: Enter your API key.

  • Premium/Public Sector Plan: Select this option if you have this plan.

  • Save in the UI settings database (encrypted): Select this option.

  • Click Next.

3

Adding layers to the map

In the OS Data Hub NGD API – Features Data Themes and Feature Types dialog:

  • Well-known ā€˜recipe’: Select a predefined recipe, if available.

  • Data Themes: Select your data themes.

  • Features: If necessary, use the editing tools (on the right) to delete feature types or to change the order in which they display in your SIS Workspace Definition (SWD). By default, all feature types within the selected data themes are available in the right panel.

  • Local cache: Select this option to store the data temporarily on your machine. If you save and reopen the SWD, the data will still be available as it is fetched from your local cache.

  • One-off import: Select this option to do a one-off import of the data. If you save and reopen the SWD, the data will not be available and you will need to re-import it. These imports have a larger file size.

  • Filtering: These settings are used in conjunction and define how much data is required for display. It is recommended that you always set a spatial filter and feature limit.

    • Spatial: The Intersect with current view extent option limits the download to only selected features within the current window extent. You can also load features within a specific area of interest using the polygon feature to draw your area of interest on the map BEFORE opening the Add Overlay dialog.

    • Maximum number of features: Limits the number of feature values downloaded to the number set. This limit is applied per feature within any filtered spatial area.

  • Click Finish.

The selected layer(s) will then display in the SIS Workspace Definition (SWD) and the data will display in the map area:

ESRI ArcGIS Pro

Accessing OS NGD data with OS NGD API – Features via ESRI ArcGIS Pro

ESRI ArcGIS Pro is a desktop geographic information system (GIS) application that allows users to maintain, visualise and analyse spatial data.

The instructions that follow demonstrate how to connect to OS NGD API – Features using ESRI ArcGIS Pro.

What you'll need

  • ESRI ArcGIS Pro (version 3.4.0 or later).

Instructions

1

Set up a connection

Once a new project with a new map has been set up, select Insert > Connections > Server > New OGC API Server.

2

Add an API URL and set up custom parameters

In the Add OGC API Server Connection dialog:

  • Server URL: Enter the URL for OS NGD API – Features, excluding the API Key. For example, https://api.os.uk/features/ngd/ofa/v1.

  • Select Custom request parameters and enter the following:

    • Parameter: key

    • Value: [Insert your OS API Key here]

  • Click OK.

3

Adding layers to the map

You can explore the available layers in OS NGD API – Features by using the ArcGIS Pro Catalog panel.

In the Catalog panel:

  • To add a layer to the map: Right-click on a layer and select Add to Current Map.

In the pop-up Add OGC API Layer(s) dialog:

  • Set the maximum features returned: Set the maximum number of features to be displayed (we suggest 1000).

  • To specify the extent:

    • Select the Use Spatial Extent checkbox.

    • Get extent from: Select Current visible extent.

    • Click OK to load the features onto the map.

The layer will then display in the Contents panel and the data will display on the map:

4

Adjusting the map view

Features will not automatically refresh when you zoom or pan on the map. This is purposely designed to protect the API from unnecessary spikes in usage.

If the extent of the screen changes and you need to update the features displayed, right-click on the layer in the Contents panel, then select the OGC Features property for the layer, re-click Current visible extent, and click Apply and OK. This will force ESRI ArcGIS Pro to send a new request to the API and load features based on the new extent.

MapLibre GL JS

Accessing OS NGD API – Features via MapLibre GL JS

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Features | Template (EPSG:3857) | Maplibre GL JS</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.css" />
    <script src="https://cdn.jsdelivr.net/gh/OrdnanceSurvey/os-api-branding@0.3.1/os-api-branding.js"></script>
    
    <!--Add the Maplibre GL JSlibraries-->
    <link rel="stylesheet" href="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.css" />
    <script src="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.js"></script>
   
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
2

Insert your API Key and OS NGD collection

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Add a variable called collectionId, replacing 'INSERT_COLLECTIONID_HERE' with the collection ID for the desired OS NGD feature type and version (for example, bld-fts-buildingpart-1).

// Set API Key 
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId= 'INSERT_COLLECTIONID_HERE';
3

Add a basemap

  • To add the OS Maps API, you will need to define the map style using MapLibre GL JS's format. This specifies the source of map tiles, which will be retrieved from OS Maps API in the 'Light' raster tiles style.

  • Initialise the map object using the maplibregl.Map class to configure the basemap layer and define its properties – container, minZoom, maxZoom, maxBounds, style, center and zoom.

  • Add navigation controls to the map, excluding the compass button and disabling map rotation.

// Create a map style object using the ZXY service.
    const style = {
    "version": 8,
        "sources": {
            "raster-tiles": {
            "type": "raster",
            "tiles": [`https://api.os.uk/maps/raster/v1/zxy/Light_3857/{z}/{x}/{y}.png?key=${apiKey}`],
            "tileSize": 256
            }
         },
         "layers": [{
             "id": "os-maps-zxy",
             "type": "raster",
             "source": "raster-tiles"
         }]
     };
     
     // Initialize the map object.
         const map = new maplibregl.Map({
             container: 'map',
             minZoom: 6,
             maxZoom: 19,
             style: style,
             maxBounds: [
                 [-10.76418, 49.528423],
                 [1.9134116, 61.331151]
             ],
             center: [-3.541809, 50.727589],
             zoom: 17
         });
         
         map.dragRotate.disable(); // Disable map rotation using right click + drag.
         map.touchZoomRotate.disableRotation(); // Disable map rotation using touch rotation gesture.
         
         // Add navigation control (excluding compass button) to the map.
         map.addControl(new maplibregl.NavigationControl({
             showCompass: false
             }));

The above code creates the main map instance using the MapLibre GL JS library where you can specify various properties:

  • container: Defines where the map should be displayed. In this instance, it is set to the id of the <div> element.

  • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

  • maxBounds: Defines the maximum bounds and restricts panning the map.

  • style: Defines the style of the map, configured via a URL pointing at the style specified.

  • center: Sets the initial centre point of the map.

  • zoom: Sets the initial zoom level of the map.

4

Add an OS NGD API – Features layer

  • Create an empty GeoJSON placeholder to hold the feature objects called by OS NGD API – Features.

  • Create a function called fetchFeatures that fetches the API based on the current map extent (bounding box) by generating a bbox string.

  • Construct the API request URL to fetch OS NGD data from OS NGD API – Features. The URL includes the collectionId, bbox and apiKey.

  • Once the features have been returned in JSON, update the source data of the map's layers to display the features.

let layers = [ 'polygon', 'linestring', 'point' ];

// Create an empty GeoJSON FeatureCollection.
const geoJson = {
    "type": "FeatureCollection",
    "features": []
};

// Define an asynchronous function to fetch and display the NGD Features API features.
async function fetchFeatures(bounds) {
        // Generate a BBOX string for the map extent.
        const bbox = bounds.toArray().toString();

        // Construct the NGD Features API request URL.
        const url = `https://api.os.uk/features/ngd/ofa/v1/collections/${collectionId}/items?&key=${apiKey}&bbox=${bbox}`;

        // Fetch features from the API endpoint.
        const features = await fetch(url).then(response => response.json());

        // Update the source data with the new GeoJSON data.
        layers.forEach((element) => map.getSource(element).setData(features))
}
5

Load and update features on the map dynamically

  • Event listeners are triggered when the map loads and finishes moving (panning or zooming) to load and update features based on the map's updated extent. Inside the map.on('load',...) event handler, we add styles for various types of features, including polygons, linestrings and points so that any collectionId specified will render.

The map.on('moveend',...) event handler will then fetch and update the features based on the map's current extent.

map.on('load', () => {
    // Add a fill style layer to render polygons on the map.
    map.addLayer({
        "id": "polygon",
        "type": "fill",
        "source": {
            "type": "geojson",
            "data": geoJson
        },
        "layout": {},
        "paint": {
            "fill-color": "rgba(51,136,255,0.3)",
            "fill-outline-color": "#38f"
        },
        "filter": [ "==", "$type", "Polygon" ]
    });

    // Add a line style layer to render linestrings on the map.
    map.addLayer({
        "id": "linestring",
        "type": "line",
        "source": {
            "type": "geojson",
            "data": geoJson
        },
        "layout": {},
        "paint": {
            "line-color": "#38f",
            "line-width": 1
        },
        "filter": [ "==", "$type", "LineString" ]
    });

    // Add a circle style layer to render points on the map.
    map.addLayer({
        "id": "point",
        "type": "circle",
        "source": {
            "type": "geojson",
            "data": geoJson
        },
        "layout": {},
        "paint": {
            "circle-color": "rgba(51,136,255,0.8)",
            "circle-radius": 4,
            "circle-stroke-color": "#fff",
            "circle-stroke-width": 1
        },
        "filter": ["==", "$type", "Point"]
    });

    // Get the visible map bounds (BBOX).
    let bounds = map.getBounds();

    // Initial fetch and display of features.
    fetchFeatures(bounds);
        
    // Add event which will be triggered when the map has finshed moving (pan + zoom).
    // Implements a simple strategy to only request data when the map viewport invalidates
    // certain bounds.
    map.on('moveend', function() {
        let bounds1 = new maplibregl.LngLatBounds(bounds.getSouthWest(), bounds.getNorthEast()),
            bounds2 = map.getBounds();

        if( JSON.stringify(bounds) !== JSON.stringify(bounds1.extend(bounds2)) ) {
            bounds = bounds2;
            fetchFeatures(bounds);
        }
    });
});

Features within the viewport extent will load initially (first 100 features) and will continue to load as you pan and zoom across the map.

What's next?

Congratulations! You've successfully created a map using MapLibre GL JS and added an OS NGD layer using OS NGD API – Features in a few steps.

Styles

Getting Started

Cadcorp SIS

Accessing OS NGD data with OS NGD API – Tiles via Cadcorp SIS

The Cadcorp Spatial Information SystemĀ® (Cadcorp SISĀ®) is an integrated family of geospatial products comprising desktop, web, and developer applications.

Cadcorp SIS Desktop connects directly to the OS Data Hub through dedicated wizards.

What you need

  • Cadcorp SIS (version SIS 9.1 or later).

Instructions

These instructions are based on Cadcorp SIS Desktop version 9.1.2109.64.

1

Add overlay

Once a new map has been set up, in the Home tab, click Add Overlay.

2

Select API

In the Overlay Types dialog:

  • Select Ordnance Survey (GB) > OS (GB) Data Hub, and then click Next.

In the OS (GB) Data Hub dialog:

  • Select OS National Geographic Database (NGD) API – Tiles.

  • API Key: Enter your API key.

  • Premium/Public Sector Plan: Select this option if you have this plan.

  • Save in the UI settings database (encrypted): Select this option.

  • Click Next.

3

Adding layers to the map

  • In the OS (GB) Data Hub NGD API - Tiles dialog, select the appropriate layer from the list of available options, and then click Finish.

The selected layer will then display in the SIS Workspace Definition (SWD) and the data will display in the map area:

QGIS

Accessing OS NGD data with OS NGD API – Tiles via QGIS

QGIS is an open GIS (Geospatial Information System) desktop application that allows you to display, interrogate, visualise and create geospatial information including from geo-centric APIs (for example, a Vector Tiles Service).

The instructions that follow demonstrate how to connect to OS NGD API – Tiles using QGIS.

What you'll need

  • QGIS (version 3.22.0 or later).

Instructions

1

Set up a new connection

Once a new project with a base map map has been set up, select Layer > Add Layer > Add Vector Tile Layer.

2

Create a new connection

In the Data Source Manager | Vector Tile dialog:

  • Click New

  • Select New Generic Connection...

In the Data Source Manager | Vector Tile dialog:

  • Name: Provide a name for the connection.

  • Min. and Max. Zoom Levels: Set these as follows based on your preferred projection:

    • Web Mercator (EPSG: 3857): Min Zoom = 6; Max Zoom = 19

    • British National Grid (BNG: EPSG: 27700): Min Zoom = 0; Max Zoom = 15

  • Authentication: Leave these settings at their defaults.

  • Other: Leave all other settings at their defaults.

  • Click OK.

To retrieve tiles and style them appropriately, you will need two URLs. The URLs have slight variations based on the collection ID and projection.

Here are some example URLs to retrieve the basemap (ngd-base) in Web Mercator (EPSG: 3857):

Please note: You will need to replace the /{tileMatrix}/{tileRow}/{tileCol} used in the default 'retrieve tile' URL with /{z}/{y}/{x} to be able to connect to OS NGD API – Tiles.

3

Add layer

Navigate to Layer > Data Source Manager > Vector Tile.

In the Data Source Manager | Vector Tile dialog:

  • Select your new connection to OS NGD API – Tiles

  • Click Add.

The layer will then display in the Layers panel and the data will display on the map:

Leaflet

Accessing OS NGD API – Tiles via Leaflet

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Tiles | Template (EPSG:3857) | Leaflet</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
    <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
    
    <!--Add the Leaflet libraries-->
    <link rel="stylesheet" href="https://unpkg.com/leaflet@1.9.3/dist/leaflet.css" />
    <link rel="stylesheet" href="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.css" />
    <script src="https://unpkg.com/leaflet@1.9.3/dist/leaflet.js"></script>
    <script src="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.js"></script>
    <script src="https://unpkg.com/@maplibre/maplibre-gl-leaflet@0.0.19/leaflet-maplibre-gl.js"></script>
    
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
2

Insert your API Key

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Inside the <script> tag, add another variable called collectionIdwith the collection ID for the OS NGD API – Tiles basemap – ngd-base.

// Set API Key and collection ID
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId = 'ngd-base';
3

Adding a fetch and response interceptor

  • We need to intercept and customise the style request, adding a tiles property to provide a correctly formatted URL and ensure authentication through the apiKey is enabled to make sure that the correct tiles are requested.

  • Add the following code inside the JavaScript block:

// Modify the JSON style request incorporate a `tiles` property which lists an array of tile endpoints.
// The '&key=' HTTP query parameter is also appended to each tile endpoint to authenticate the request.
// NOTE: The {z}, {x} and {y} template values are replaced with the corresponding integers at runtime.
    const { fetch: originalFetch } = window;
    window.fetch = async (...args) => {
        let [ resource, config ] = args;

        let response = await originalFetch(resource, config);
        if( response.url != `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857` )
            return response;

        // Response interceptor.
        const json = () =>
            response.clone().json().then((data) => {
                delete data.sources[ collectionId ].url;
                data.sources[ collectionId ].tiles = [ `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/tiles/3857/{z}/{y}/{x}?key=${apiKey}` ];
                return data;
            });

        response.json = json;
        return response;
    };
4

Create a map and map view

  • Initialize the map object using the L.Map class to configure the vector tile layer and the mapOptions variable to define its properties – minZoom, maxZoom, maxBounds, center and zoom.

// Initialize the map.
    const mapOptions = {
        minZoom: 7,
        maxZoom: 20,
        center: [ 50.727589, -3.541809 ],
        zoom: 18,
        maxBounds: [
            [ 49.528423, -10.76418 ],
            [ 61.331151, 1.9134116 ]
        ],
        attributionControl: false
    };

    const map = L.map('map', mapOptions);

    // Load and display vector tile layer on the map.
    const gl = L.maplibreGL({
        style: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`
    }).addTo(map);

The above code creates the main map instance using the Leaflet library where you can specify various properties:

  • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

  • maxBounds: Defines the maximum bounds and restricts panning the map.

  • center: Sets the initial centre point of the map.

  • zoom: Sets the initial zoom level of the map.

What's next?

Congratulations! You've successfully created a vector map using Leaflet using OS NGD API – Tiles in a few steps.

Python (Geopandas)

Accessing OS NGD API – Features via Python (Geopandas)

What you'll need

  • The following dependencies installed:

1

Import the required libraries

import requests
import geopandas as gpd
from shapely.geometry import shape
2

Set up your OS API credentials

# OS NGD API - Features API Key
api_key = "INSERT_API_KEY"

# OS NGD API - Features base URL
base_url = "https://api.os.uk/features/ngd/ofa/v1"

# OS NGD API - Features CollectionId
collection= "wtr-fts-water-2"
3

Request data from OS NGD API – Features

# Define your bounding box
bbox = [-314177.76517933805,6641680.87433119,-304909.7754997604,6653318.411887609] # Example: Glastonbury Canal

# Initialize an empty list to collect all features
all_features = []

# Loop through 20 pages
for page in range(20):
 offset = page * 100  # Calculate the offset based on the page number
 params = {
        "key": api_key,
        "bbox": ",".join(map(str, bbox)),
        "limit": 100,
        "offset": offset,
        "bbox-crs": "http://www.opengis.net/def/crs/EPSG/0/3857",
        "crs": "http://www.opengis.net/def/crs/EPSG/0/3857",
 }
 
 # Send a request to the OS NGD API - Features
 response = requests.get(f"{base_url}/collections/{collection}/items", params=params)
 
 # Check if the request was successful
 if response.status_code == 200:
   data = response.json()
   features = data.get("features", [])
   all_features.extend(features)
   if len(features) < params["limit"]:  # Stop as there are no more features to retrieve 
     break
 else:
   print(f"Error: {response.status_code}")
   break  # Stop the loop in case of an error
4

Load data into a GeoPandas DataFrame

# Extract the geometries and attributes for each feature
geometry = [shape(feature["geometry"]) for feature in all_features]
attributes = [feature["properties"] for feature in all_features]

# Create a GeoDataFrame from the geometries and attributes
gdf = gpd.GeoDataFrame(attributes, geometry=geometry)

# Set the CRS of the GeoDataFrame to EPSG:3857 (Web Mercator)
gdf.set_crs("EPSG:3857", inplace=True)
5

Plot Data

# Plot the features
gdf.plot(figsize=(12,8),facecolor="#2d8fb6", edgecolor="#b19d3e", lw=0.05)

Styling OS NGD Data

Resources for styling OS NGD data.

Stylesheets

You can select one of two styles – contextual or analytical – to visualise OS NGD data, available in QGIS, ArcMap, and SLD formats.

The GitHub repository below contains a stylesheets folder of cartographic and analytical styling resources for OS Select+Build data and OS NGD API – Features:

Tutorial on downloading and using OS stylesheets

Resources for styling OS NGD API – Tiles

OS NGD News

This section contains pages relating to new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

2025 announcements

June 2025 – OS NGD Building Feature Type data improvements for Basement Presence, Construction Material and Number of Floors

May 2025 – Height data enhancement for OS NGD Structures and OS NGD Buildings data

March 2025 – OS NGD enhancements release now live

2024 announcements

What's next?

OS NGD Webinars, Tutorials and Case Studies

Learn more about the OS NGD through our webinars and tutorials. Case studies demonstrate how customers across numerous sectors are already using and benefiting from OS NGD data.

To help make getting started easier with OS Select+Build and the OS NGD APIs, we have created the following tutorial videos (available from our YouTube channel) to give you step-by-step guidance:

Additional useful OS NGD data tutorials:

OS NGD tutorials on More than Maps

Find out how customers across numerous sectors are using and benefiting from OS NGD data:

Data and Service Status Information

This section contains pages relating to OS NGD live service disruption, planned maintenance, current data issues and resolved data issues.

What's next?

Future OS NGD Data Enhancements

A high-level summary of upcoming data enhancements for the OS NGD.

OS NGD delivery roadmap for 2025 and 2026

The OS NGD delivery roadmap (as of March 2025) can be seen in the following image; the roadmap details what was delivered in the March 2025 data enhancements release, and what is planned for delivery in the upcoming September 2025 and March 2026 data enhancements release:

In the future, we plan to deliver over 15 data enhancements to the OS NGD (detailed below). As we design and develop these data enhancements, more details will be added to this page.

Future planned data enhancements to the OS NGD

Land and Land Use

  • Extending inter tidal areas to include obscured polygons beneath elevated structures

  • New attribution to indicate if land is vacant or derelict

Water

  • Improved river width attribution

  • New feature types for continuous tidelines to complement the existing Tidal Boundary Feature Type

Transport

  • New attribution for cycle lanes and bus lanes

Address

  • Ongoing improvements to address data regarding the consistency of address positioning, usage classifications, address lifecycle and business names

Administrative and Statistical Units

  • Improved alignment of administrative and electoral boundaries with topographic features, where appropriate

  • Addition of feature types for postcode points and enhanced postcode areas

Change

  • Improved 'reason for change' metadata to make it easier for customers to identify change that is relevant to their use cases

Change Log

This page lists changes made to OS NGD documentation. Changes will be made for a variety of reasons, including reflecting any alterations made to the OS NGD data itself as we enhance and improve the offering, plus simple improvements to the documentation to aid understanding.

The table below gives a summary of the changes made and the date upon which those changes took effect:

OS NGD Improvements

A high-level summary of data improvements implemented for the OS NGD.

June 2025 – OS NGD Building Feature Type data improvements for Basement Presence, Construction Material and Number of Floors

As a result of work in collaboration with Verisk, there will be improvements made in June 2025 to the Basement Presence, Construction Material and Number of Floors attribution in the OS NGD Building Feature Type. This work has involved improving the processing of energy performance certificate (EPC) data to increase accuracy; changes in some capture type and confidence levels in OS NGD data may be seen.

As a result of this improvement work, customers may receive larger than usual Change-Only Updates (COUs) if they take a daily supply of OS NGD Building Feature Type data schema versions 2.0, 3.0 and 4.0 throughout June 2025 as the data flows through. Customers taking their supply monthly of this feature type may receive larger than usual COUs in their July 2025 data package. No action is required by customers. If you have any further questions, please get in touch.

May 2025 – Height data enhancement for OS NGD structures and OS NGD buildings data

At Ordnance Survey, we are modernising our data creation platforms. This includes the creation of additional height data for our building and structures datasets. A recent key improvement we've made as part of these efforts was to improve the accuracy and granularity of the height evidence date attribute, which details the date of capture for the imagery used to derive the height data.

Previously, height metadata was derived from large imagery flight blocks (exceeding 500km²), which sometimes required several flights over multiple days. This occasionally resulted in buildings and structures being assigned an imagery date different from the actual capture date.

Our new system allows the population of imagery date metadata to a more granular level, using the appropriate flight block. This ensures there is only one imagery date per building or structure feature, giving a more accurate representation of height evidence date for a specific feature. As a result, from 10 May 2025, some customers using Change-Only Updates (COUs) may notice that a small number of height evidence dates have changed to slightly older dates as we move to the new system. This change reflects more accurate data, not incorrect data.

This impacts some features in the following data schema versions:

  • Structures

    • Structure Feature Type v1.0

    • Structure Feature Type v2.0

    • Structure Feature Type v3.0

  • Buildings

    • Building Part Feature Type v1.0

    • Building Part Feature Type v2.0

    • Building Feature Type v4.0

Some customers may also see a larger than usual supply of COU if taking a daily supply of the above data schema versions as change begins to flow into the data from the start of our flying season, where data is captured using aerial imagery during the National Cyclic Revision (NCR) programme.

The .xlsx file below contains a complete list of features across all feature types that have a revised height evidence date that's earlier than previously stated.

FAQs

Frequently asked questions on OS NGD data and access methods (OS Select+Build and OS NGD APIs).

General FAQs

Why are there TOIDs in the OS NGD which are not in OS Premium Products?

Features are now available to customers more quickly in the OS NGD than they are in OS Premium or OS OpenData Products. OS NGD features that will also ultimately be supplied in existing products with a TOID will now appear in the OS NGD in advance of their publication in OS Premium or OS OpenData Products. At a future refresh of OS Premium or OS OpenData Products, these features will appear with the same TOID.

Why do I have different start dates when applying temporal filters to different feature types?

The earliest date on which you can request a one-off snapshot of a date in the past for data in a feature type in most collections is 29 September 2022, but that date can be later for certain feature types (for example, it's 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

How is OS NGD file naming managed?
Why am I receiving blank files?

You could have received blanks files for one of the following reasons:

  • You are collecting data via a COU (Change-Only Update) and there has been no change.

  • You have selected a feature type from one of the following OS NGD collections which has a different update frequency from your selected COU: OS NGD Boundaries Collection (updated biannually), OS NGD Transport Features Collection (updated daily, with the exception of the Street Light Feature Type which is updated monthly), OS NGD Transport Network Collection (updated monthly), OS NGD RAMI Collection (updated monthly),or the OS NGD Water Network Collection (updated quarterly).

  • You have requested data via a temporal filter (i.e. a one-off snapshot of a date in the past) that predates the start date for data from one or more of the collections in your order. The earliest date on which you can request a one-off snapshot of a date in the past for data in a feature type in most collections is 29 September 2022, but that date can be later for certain feature types (for example, it's 28 March 2023 for the Waterbody Catchment Feature Type). Each feature type page states the earliest start date available for temporal filtering on that feature type.

  • You have selected the Annual Full Supply order frequency option for a data package containing one (or more) of the new feature types or new data schema versions of existing feature types released in March and / or September of the current year. If you select an Annual Full Supply frequency for your OS NGD data order in OS Select+Build, we will provide you with the data as it was on 01 January of the current year. This means if a new feature type or a new data schema version of an existing feature type was released after 01 January and you order either of these as part of your Annual Full Supply, you will receive an empty data package for the newly released feature type / new data schema version of an existing feature type. The data for the new feature type / new data schema version of an existing feature type will then be included in your supply on the next 01 January after the release, after which point, data packages containing one of these feature types will no longer contain blank files.

    • For example, the March 2025 OS NGD data enhancements release contained 3 new feature types (Building Access Location, Crowd Sourced Name Point, and Street Light), and 11 new data schema versions (Building v4.0, Building Part v2.1, Land v3.1, Path Link v2.0, Rail v3.1, Road Link v4.0, Road Track Or Path v3.1, Site v2.2, Site Access Location v2.0, Structure v3.1, and Water v3.1). As per the bullet above, this data will not be part of Annual Full Supply orders until 01 January 2026.

What is data schema versioning and how does it work in the OS NGD?
Can I download OS NGD documentation for offline use?

Yes. The OS NGD documentation can be saved to a PDF using the Export as PDF button on the right hand side of the page. This tool allows users to download individual pages or groups of pages that make up a complete document. Users should limit their documents to a maximum of 100 pages per PDF to prevent issues when saving or opening the file.

API FAQs

How is the new OS NGD API – Features different from the OS Features API?

The OS Features API is based on the OGC standard Web Feature Service (WFS) and provides access to OS OpenData and OS Premium Product data. It does not give access to any OS NGD data.

Why does OS NGD API – Tiles only include a subset of OS NGD feature types and their attributes?

A key benefit of vector tiles is that they comprise layers of vector features optimised for caching and scaling that can render quickly. As a result, to ensure the vector tiles are lightweight and offer a smooth user experience, we only use the OS NGD feature types required to create a complete contextual base map.

When is OS NGD API – Tiles updated?

The OS NGD API – Tiles basemap is updated weekly. This means that the OS NGD data is updated with the latest available data every week, usually by Monday. The data used to update the API is taken from the previous Wednesday, ensuring that we’ve updated the vector tile cache with the latest OS OpenZoomstack and OS NGD data available at the time.

OS Select+Build FAQs

Which formats can be taken using OS Select+Build and at what frequencies?
What are the default coordinate reference systems (CRS) used by the OS NGD collections in OS Select+Build?
What is a recipe and how do I create one?

A recipe is a bespoke selection of OS NGD data which is made by a user within OS Select+Build. Recipes allow you to choose the OS NGD data that best fits your requirements.

How do I edit a recipe?

You can't currently edit a recipe that has already been created and saved.

How do I delete a recipe?

You can't currently delete a recipe.

How do I know which recipes are associated with which data package?
How do I create an OS Select+Build data package?
How do I delete an OS Select+Build data package?
  • Select Download from the main menu.

  • Choose Data Packages from the secondary navigation menu.

  • From your list of data packages, click on the name of the data package you wish to delete, then click on the Package options dropdown and select Delete package.

How does AOI ordering work with OS NGD Address Islands Collection data?

The OS NGD Address Islands Collection contains data for Northern Ireland, the Isle of Man, and the Channel Islands. When ordering data from this collection, you will be provided with a full supply of the data regardless of whether you select 'All of Britain or Predefined Area', or an 'area of interest' (AOI)​.

For example, if you order the OS NGD Address Islands Collection and the Building Line Feature Type selected with an AOI, then you will receive the Building Line Feature Type data for your selected AOI and all of the Address Islands Collection data​ (i.e. data for Northern Ireland, the Isle of Man, and the Channel Islands, and not just data for your AOI).

How do I use attribute filtering in OS Select+Build?
How do I identify the correct OS NGD collection for calculating usage?

The OS NGD collection can be identified within the file name of your .zip file: themeshortcode_collectionshortcode_featuretype.zip.

For example, bld_fts_buildingpart.zip is the file name which would be created for an order of the Building Part Feature Type within the OS NGD Building Features Collection of the OS NGD Buildings Theme.

Theme-specific FAQs

OS NGD Address Theme FAQs

Can I use OS NGD Address Theme data to update my AddressBase Premium holding?

We wouldn't recommend trying to use OS NGD Address Theme data to update existing product supplies of AddressBase products. The different data format and attribution mean that there are no direct mappings available back to AddressBase products, and there is a risk of updating your existing holding incorrectly.

Why are there historic addresses in the Alternate Address data?

The Alternate Address Related Component provides alternative address labels where they exist for a ā€˜current’ address, independent of whether these alternate labels are current / live or historic. Where a historic address label is present but there is also a live / approved address label, then the historic version will appear in the Alternate Address data.

How does lifecycle work in OS NGD Address Theme data?

As addresses move through different stages of their lifecycle, you will see different update types dependent on your chosen data package. In OS NGD Address Theme data, pre-build, built, and historic addresses are kept in separate feature types. This means that as an address moves from one stage to another (for example, pre-build to built), it will be removed from one feature type and added to the other. This differs to AddressBase Premium, where, when an address changes from one stage to another, the record is updated, i.e. not deleted from one table and inserted into another. This will also mean that, if, for example, a user has a data package that includes pre-build addresses but not built addresses, as an address moves from pre-build to built in its lifecycle, the user will see a deletion to the record that they hold of this address.

Why are there addresses flagged as 'Non-Postal' that are not in the Non-Addressable Object Feature Type?

Addresses that cannot receive post are classified as such for various reasons. Therefore, there are a number of different ways of extracting addresses that occupy different classes of 'Non-Postal'. The terms 'Non-Postal' and 'Non-Addressable Objects' used in OS NGD Address Theme data represent categories of addresses which are defined by differing logic.

Non-Addressable Objects are features which OS deem to always be non-postal. This is our most certain view of addresses that are non-postal, for example, Bandstands, Telephone Boxes, and Nature Reserves. The vast majority of Non-Addressable Objects will also have an 'N' value in the Postcode Source attribute.

'Non-Postal' in the Description attribute is essentially an amalgamation of all addresses that are defined by Local Authorities to be either 'N: Non-Postal' or 'L: Maybe Postal', and therefore is most relevant for customers who are only interested in using it as a filter to get to the 'Postal' addresses.

The Postcode Source attribute is the best attribute to use if you are interested in a more nuanced representation of Non-Postal addresses. This splits out 'Not-postal' and 'Maybe Postal' into two different code lists. The vast majority of addresses that have Non-postal in the description field but are not in the Non-Addressable Object Feature Type are likely to be 'Maybe Postal' addresses. This is a Local Authority representation of addresses that may be able to receive post, such as Car Parks.

What does parent-child relationship mean?

The parent-child relationship is used to relate multiple addresses to each other. These are most commonly used to relate addresses within a building, for example, a block of flats. A parent Unique Property Reference Number (UPRN) is assigned to the building shell to give an indication that the flats within that building are related to the overarching address, for example, Example Court and the flats within.

A good example of this is:

  • Parent: 1 High Street (UPRN: 1234)

  • Child: Flat A, 1 High Street (UPRN: 2345)

  • Child: Flat B, 1 High Street (UPRN: 3456)

However, parent-child relationships also work beyond the level of a single building footprint and can be used to relate addresses in a larger addressable site to each other, for example, University buildings on the same campus site.

An example of this is:

  • Parent: Exeter University (UPRN 1)

  • Child of UPRN 1: Block C, Exeter University (UPRN 2)

  • Child of UPRN 2: Flat 1, Block C, Exeter University (UPRN 3)

Please note: Parent records are only inserted where child addresses share part of an address, for example, '1 High Street' in the above example. If two flats occupy the same building but are addressed 12A and 13A, then no parent record would be created.

What's the source of the improved level information for the Floor Level, Lowest Floor Level and Highest Floor Level attributes?

These attributes are populated by data captured by local authority address custodians. The data previously had been available within our AddressBase products, but there was a large variation in the textual format. The level information has been standardised into an ordered numeric list (for example, ā€˜First Floor’ is now ā€˜1’, and ā€˜Ground Floor’ is now ā€˜0’ and remains a string field).

How is the Full Address attribute populated in OS NGD Address?

In OS NGD Address, the Full Address attribute is populated entirely from address data sourced from local authorities. This differs from the logic behind the Full Address attribute used in the AddressBase Core product, which is populated with information from Royal Mail and data from local authorities.

OS NGD Administrative and Statistical Units Theme FAQs

Can I easily identify wards linked to a specific unitary authority?

Yes. This can be done non-spatially by interrogating the new Boundary Parent Reference attributes.

OS NGD Buildings Theme FAQs

How are Building features derived ?

By using the Building Part feature type and merging connected Building Parts that are within the same Land Use Site and have a contiguous border greater than 0.5m.

If a Building Part feature type does not belong to a Site, then it will retain the same geometry in the Building feature type.

If there are multiple Sites, the smaller Site has hierarchy over the larger site (i.e. Building Parts only merge within the smaller Site, and if they share a border with a Building Part outside of the smallest Site then the Building Parts features will not merge).

Is there height data available on building features ?
How have Building address counts been derived ?

The various address count attributes that have been derived from the OS NGD GB Built Address feature type where the ā€˜buildstatus’ value is classified as ā€˜Built In Use’. Residential, commercial and other address counts have been derived where the primary code in the address classification is equal to ā€˜R’, ā€˜C’, or anything not ā€˜R’ or ā€˜C’ respectively.

What is a ā€˜Main Building’ and how has the data been derived ?

The main building aims to easily identify the building a casual visitor to a site would identify as the most useful building to represent the entire site. For example, the house on a residential site would be identified as the main building rather than the shed in the garden, or the ticket office of a train station rather than the waiting room on the other side of the platform.

How is ā€˜Building Use’ derived ?

Building use is derived from an in-house algorithm that uses either OS NGD Address data or OS Land Use Sites data to determine what the building is being used for. In most cases, the attribute value has been derived from address data classification.

What’s the difference between the ā€˜Building Use’ and ā€˜OS Land Use Tier A’ value ?

There are two main differences; a difference in what each attribute is trying to convey and a difference in their derivation.

  • Building Use attempts to convey what the Building is specifically being used for, whilst OS Land Use Tier A attempts to convey what activity the site that the Building is situated within is being used for. For example, Nurses' accommodation on a hospital site will have the Building Use value of ā€˜Residential Accommodation’ but the OS Land Use Tier A value of ā€˜Medical Or Health Care’.

  • Building Use is mainly derived from address data, whilst OS Land Use Tier A data is derived from Ordnance Survey sites data.

What is the difference in the derivation process between Roof Shape and Roof Material?

The derivation of Roof Shape involves using automated methods and height models to delineate roof faces, while Roof Material is derived from imagery processed by a supervised ML model and an Automated Feature Extraction algorithm.

What is the difference between Building Access Locations and Land Use Site Access Locations?

Building Access Locations identify specific entry and exit points for individual buildings, while Land Use Site Access Locations represent access points for broader areas (Sites), identified for a specific purpose, connecting them to the Road Network.

OS NGD Geographical Names Theme FAQs

Why are settlement extents depicted differently by the Named Area Feature Type within the OS NGD Named Features Collection and feature types in the OS NGD Boundaries Collection?

The OS NGD Boundaries Collection provides a definitive dataset of administrative and electoral boundaries; whereas, the depiction of settlement boundaries in the Named Area Feature Type of the OS NGD Named Features Collection is an OS geographic depiction of the extent of settlements and should not be mistaken for administrative or electoral uses.

Why is the OS NGD Geographical Names Theme not OpenData like OS Open Names?

More features and attributes are provided in the OS NGD Geographical Names Theme than in OS Open Names. The theme also includes a new feature type (Named Area) which shows geometry never before published by OS. The rich attribution provided by the theme's data lends itself to helping users perform gazetteer searches as well as high-level visualisation and spatial analysis of named features and places.

Crowd Sourced Name Point features' FAQs

Why are there no Crowd Sourced Name Point features in my area?

Coverage of Crowd Source Name Point features is dependent on submissions from expert third parties via the Vernacular Names Tool.

The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

Why are the names of the Crowd Sourced Name Point features not in a standardised format?

The names are published as they are submitted by expert third parties. OS doesn't make changes to the names and doesn't enforce standardisation at this time because casing and punctuation can be important elements in some names. Spelling mistakes are also expected as these can be common variants tried in searches.

Can I submit a new name (i.e. a new Crowd Sourced Name Point feature)?

The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

Can I suggest a change to a Crowd Sourced Name Point feature's name, coordinate or classification, or suggest a match to it?
Why has my name not been published?

The Vernacular Names Tool is a resource developed by Ordnance Survey to assist Emergency Services by incorporating user-submitted colloquial names for geographic features across Great Britain.

Names will not be published if they have been flagged as containing personally identifiable information or potentially offensive language. They will also not be published if the name is identical to an existing OS feature or is of an unsuitable classification (for example, a defibrillator as their locations are not currently captured).

Why is the same name in the Crowd Sourced Names Point features dataset multiple times?

OS is not looking for duplicates within Crowd Sourced Names Point features, so if the same name is submitted multiple times, all entries will be published.

OS NGD Land and Land Use Themes' FAQs

How does OS NGD Land Theme data differ from OS NGD Land Use Theme data?

OS NGD Land Theme data contains land cover attribution that describes the physical and biological surface of the land. OS NGD Land Use Theme data contains land use attribution that describes the human or economic activity taking place on areas of land (i.e. how areas of land are being used / their purpose).

How does the OS NGD Land Theme differ from the OS MasterMap Topography Layer, Sites Layer, and Greenspace Layer products?

The OS NGD Land Theme contains some land information data which can also be seen in the OS MasterMap Topography Layer, Sites Layer, and Greenspace Layer products. The data in the theme is similar as that provided by the aforementioned OS products, but it has been structured to be more analytical and consistent across the six OS NGD features collections, allowing you to easily select the specific features you require and delivering greater value to users.

(The six OS NGD features collections, which also include data from the three aforementioned OS products, are the OS NGD Building Features, Land Features, Land Use Features, Structure Features, Transport Features, and Water Features Collections.)

What are the NGD land cover enhancements?
Why are all values 'NULL' in OS Land Use Tier B?

Upon OS NGD launch, it is expected and intentional that the OS Land Use Tier B attribute will be NULL for all records. This attribute has been included in the design as it ensures consistency with other core data themes in the OS NGD, and it could be utilised in the future and therefore it will not always be NULL.

Why are Wind Farm site polygons the shape they are?

Wind farms are a complex site to model as they are often constructed across large areas of open land with much of the ground around individual turbines being used for other activities, such as animal grazing or a solar farm. Some Wind Farm sites, in contrast, may be wholly contained within another existing site, such as a factory. Additionally, access roads may extend a significant distance from the turbines, or each turbine may have individual access. Consequently, what is recognised as a Wind Farm extent is heavily dependent on the surrounding geography, the nature of the wind farm, and the user’s perspective.

OS has chosen not to include the entire extent of the land parcels below turbines as the definition of a Wind Farm extent because this can sometimes translate to many thousands of hectares in mountain and moorland areas and therefore misrepresent the real-world site. Other sources of land extent data such as land registration and planning area data were considered, but did not provide consistent high-quality coverage across Great Britain.

Instead, a nominal 300m buffer was applied to the individual wind turbines associated with wind farm schemes referenced in the Renewable Energy Planning Database to indicate the general area of land used as a Wind Farm. Land Use Sites extents are not meant to represent specific concepts like land ownership, which is made clearer by this nominal geometry design choice.

OS NGD Structures Theme FAQs

How does OS NGD Structure Features Collection data differ from structure features data available in the OS MasterMap Topography Layer product?

In comparison to OS MasterMap Topography Layer data, OS NGD Structure Features Collection data has been enriched with additional attribution, including the following:

  • Geometry change metadata

  • A Description attribute to provide a one-word or simple phrase description of a feature

  • Detailed land use classification

  • Detailed land cover classification

  • Capture specification to give details about the geography of the area a feature resides in (that is, urban, rural, or moorland)

  • Embedded height attribution for chimneys, roofed tanks, and glasshouses, enabling users to create simple height models of these structures. Field Boundary features also have a height value.

In addition, other feature types are available in the OS NGD Structure Features Collection: the Compound Structure Feature Type and the Field Boundary Feature Type.

What is a compound structure?

The new Compound Structure Feature Type is a 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, and an aqueduct. A compound structure essentially combines multiple polygons into a single polygon, making it easier for you to analyse and query data when you want to analyse a structure as a single part rather than its constituent parts.

Why don't all structures have names?

Name attribution, where known, is provided for structure features to help you identify what a structure is called. This attribute is optional as not all structures have a name and, in some instances, OS may not yet have captured a structure's name in the data.

What structures will have height attributes allocated?

Embedded height attribution is available for chimneys, roofed tanks, and glasshouses, enabling users to create simple height models of these structures. Field Boundary features also have a height value.

Where can I learn more about Field Boundary features?
Why are some London Underground stations missing from Tube or Metro Tunnel features in Compound Structures?

OS's capture focus is on tunnels that reach the surface, meaning that the Metropolitan and District Lines of the London Underground are captured, whereas other London Underground lines are generally not captured.

OS NGD Transport Theme FAQs

Can I use OS NGD Transport Theme data for routing?

Yes. Data in the OS NGD Routing and Asset Management Information (RAMI) Collection can be fed into routing software. The routing information provides details about potential routing hazards (for example, dangerous bends and low bridges) and vehicle restrictions (for example, one-way streets and road widths).

How has the Rail Network been generalised?

The generalisation of Rail Networks should ensure full connectivity between relevant Rail Nodes. Rail track generalisation can be typically three or four Rail Links represented as one link, for example, multiple siding tracks. However, this may not always be the case, for example, tracks that pass either side of a station platform are normally included to ensure connectivity at a station.

How will tracks be distinguished from paths?

Paths and tracks will both be represented in the OS NGD Transport Network Collection. The Description attribute provides a one-word or simple phrase description of a feature, and you'll be able to use this attribute to easily distinguish between paths and tracks.

What routing and asset management information is included in the OS NGD RAMI Collection?

The OS NGD Routing and Asset Management Information (RAMI) Collection provides in-depth routing and asset management information for roads across Great Britain. Rights and restrictions define properties that restrict, regulate or prohibit the use of the network by traffic which may affect the allowable route for users. Advisory information provides additional information that may either affect a driver’s preferred choice of route or highlight potential hazards, such as the presence of a toll or a level crossing. Asset management information provides additional information describing the network to support its long-term operation and maintenance.

Pavement data FAQs

Why are the Pavement Links depicted in the centre of the road?

The pavement data in the OS NGD uses the Road Link geometry in order to give the features a geographic location; therefore, pavements will be depicted using the road centre line.

Why within the Pavement Link Feature Type do I only see a centre line but the road has a pavement on both sides?

When there is a pavement on both sides of the road, we create two features both with the same geometry; therefore, if viewed in a GIS, these will appear on top of each other, but each individual feature will have specific attribution relative to its own side of the road.

Why are there gaps in the depictions of pavements within the Pavement Link Feature Type?

Often, the answer is there is no pavement adjacent to the Road Network. Some gaps appear, typically at junctions, where the end of Road Links have no adjacent pavement.

Why do pavements ā€˜stop’ at bridge intersections within the Pavement Link Feature Type?

Currently OS does not capture large-scale depictions of features such as pavements when they are obscured by structures from above.

How do I interpret which side of the road is left and which is right?

The left and right side of the road is determined by the direction of digitisation of the Road Link. In Direction of digitisation is from start node to end node, and Against Direction is from end node to start node.

Why do I have two Pavement Links for the same section of road?

When there is a pavement on both sides of the road, we create two features both with the same geometry; therefore, if viewed in a GIS, these will appear on top of each other, but each individual feature will have specific attribution relative to its own side of the road.

Speed data FAQs

What is the source of indicative speed limit and average speed data?

Indicative speed limit data is sourced from road signage and surveying. Average speed data is calculated based on historic speed information, which is based upon in-vehicle telematics devices; in this context, 'historic' means that the average speed data was collected over a six-month period for the selected road link.

What is the update frequency for average speed data and indicative speed data?

Speed data is published monthly into the OS NGD. Indicative Speed data is updated by our 3rd party supplier 4 times a year, and Average speed data is updated 2 times a year. In-between these updates, OS 'infills' speeds with inferred values to account for any changes in the network monthly.

Why is average speed provided in kilometres per hour (kph) rather than miles per hour (mph)?

Average speed is provided in kph to support travel time analysis software in the market which predominantly uses kph as the unit of speed.

How does speed data in the OS NGD differ from speed data in the OS MasterMap Highways Network with Speeds product?

The main difference is that all speed data in the OS NGD has road link geometry and is published monthly. Additionally, average speed data in the OS NGD has an increased number of daily time periods available for each road link (with eight time periods Monday to Friday and six time periods Saturday to Sunday) in comparison to the OS MasterMap Highways Network with Speeds product (with five time periods Monday to Friday and only one time period Saturday to Sunday).

The speed data is published monthly into the OS NGD and customers can choose whether they want the supply to be either Full Supply or Change-Only Update (COU) depending upon their access requirements.

Street light data FAQs

How has Street Light data been sourced?

Street Lights have been captured from OS aerial imagery.

What is the coverage and completeness of Street Light data?

Street Light data is GB coverage. Features have been captured where they exist alongside publicly accessible Road Links and Path Links. Street Lights will not be included where they exist along restricted access roads. Where features are not visible from aerial imagery (for example, where obscured by tree cover or not visible due to urban shading), these will not be included.

Does attribute data for Street Lights include timings for when they are on or off?

No, the Street Light dataset does not contain information on the times when they are on / off.

How has the Street Light coverage attribution been created?

An algorithm is used to give an indication of how well-lit a link is; this algorithm is based on an inferred light radius and does not account for information such as the height of a lamp post, the type of bulb, or the presence of any light-blocking obstructions or buildings.

What is the update frequency for Street Lights?

Street Light data is updated into the OS NGD monthly. This includes both the Street Light Feature Type, and Road Link and Path Link attribution.

Are there any known limitations for Street Light data?

Yes. There are two known limitations:

  • Street Light Completeness: Street Lights have been captured from aerial imagery and therefore there are some limitations to completeness. Where features are not visible from aerial imagery (for example, where obscured by tree cover or not visible due to urban shading), these will not be included.

  • Overlighting and Underlighting: Street Light coverage attribution on Road Links and Path Links is indicative only, and there may be some instances of overlighting and underlighting. An algorithm is used to give an indication of how well-lit a link is; this algorithm is based on an inferred light radius and does not account for information such as the height of a lamp post, the type of bulb, or the presence of any light-blocking obstructions or buildings.

OS NGD Water Theme FAQs

Why are more water courses depicted in the Water Links Feature Type than in the Water Link Sets Feature Type?

Water link sets are only created where there are a number of water links that share the same name. Within the Water Link Feature Type, there are numerous water links which are unnamed; these unnamed water links therefore will not appear in the Water Link Set Feature Type as they cannot be joined accurately.

How is the In Country attribute determined for Waterbody Catchment features that straddle the border between two countries?

Country attribution for catchments that straddle the Wales-England or Scotland-England border is as provided in the third-party data from the authoritative bodies and is aligned with the Geometry Source attribute (i.e. the source organisation that provided the data: Environment Agency for England, Natural Resources Wales for Wales, and Scottish Environment Protection Agency for Scotland).

Why are coastal catchments missing from Waterbody Catchment features?

Coastal catchments for this feature type are not supplied in the third-party data from the authoritative bodies.

Why do River Basin District Catchment features include geometries for islands located far away from the mainland, including outside the extent of the British National Grid?

The data for this feature type is as provided by the third-party data from the authoritative bodies.

Live Service Disruption and Planned Maintenance

This page will be updated to note planned downtime due to maintenance or shutdown periods. Unexpected interruptions to product availability, releases and updates will also be displayed here.

OS NGD daily live service disruption

There are no live service disruptions affecting OS NGD at this time.

OS NGD resolved service disruption

Resolved service disruption: 14/05/2025–17/05/2025

Impacted data

Service disruption impacted the OS NGD Buildings Collection; the feature type affected by the outage was the OS NGD Building Feature Type v4.0.

Disruption description

Data schema version 4.0 of the OS NGD Building Feature Type was not updated between 14/05/2025 and 16/05/2025.

Impacts of the disruption

Daily changes were not supplied for the impacted Building Feature Type v4.0. This meant any daily orders between 14/05/2025 and 16/05/2025 containing OS NGD Building Feature Type v4.0 were supplied as blank files.

Resolution update

The service disruption was resolved by Saturday 17/05/2025, and any daily orders containing Building Feature Type v4.0 were supplied as normal from this date. We apologise for any inconvenience caused by this period of service disruption.

OS NGD planned maintenance

No maintenance events are currently scheduled that will impact the availability of the OS NGD.

What's New?

As we release new data enhancements and service improvements for the OS NGD, we will update this page to provide you with a high-level summary of what's launched.

2025 OS NGD enhancements

March 2025 – OS NGD data enhancements

Highlights of the OS NGD data enhancements released to customers in March 2025:

Buildings

  • New Building Access Location Feature Type added to the Building Features Collection. Building Access Location features identify access points to key public buildings for vehicles and pedestrians, enhancing urban planning, emergency response, and accessibility.

  • New attribution provided for Buildings:

    • Roof Shape: Identifies the predominant geometric shape of a building's roof, aiding in visualisation and architectural analysis.

    • Roof Aspect: Provides information on the orientation of a roof, which is useful for solar energy planning and environmental studies.

    • Green Roof Presence: Indicates whether a building has a green roof, supporting sustainability and urban greening initiatives.

    • Solar Panel Presence: Shows if solar panels are installed on a building's roof, helping in renewable energy assessments and planning.

    • Roof Material: Details the type of predominant material used for a roof, which is important for construction, maintenance, and environmental impact studies.

    • Building Height: A comprehensive set of five attributes detailing the heights of various parts of a building, including both absolute and relative measurements. This enhancement supports urban planning and Emergency Services.

Geographical Names

Land Use

Structures

Transport

2024 OS NGD enhancements

September 2024 – OS NGD data enhancements

Buildings

Land Use – Enhanced land use attribution, increased coverage for Sites, and more Site Access Location points

  • New land use attribution will be provided for the OS NGD ā€˜Features’ Collections for Buildings, Land, Land Use, Structures, Transport and Water. The new attribution maps the OS land use classifications to the National Land Use Database (NLUD) schema and the land use information derived from OS Addressing. The new attribution helps to give more detail about what is contained within a Site – for example, the total number of addresses contained within a single Site and what number of those addresses are defined as commercial, residential, or other.

Structures

March 2024 – OS NGD data enhancements

Buildings

    • Building Age: The age of the main building in a site, created using Verisk data and OS data​.

    • Construction Material: The primary construction material of the building, created using Verisk data and OS data​.

    • Basement Presence: An indicator to show whether a basement or a self-contained basement flat are present at the building, created using Verisk data and OS data​.

    • Building Description: A new description attribute to describe the nature of the building, derived from its use and relation to surrounding buildings,​ created using OS data​.

Land cover – Enhanced land cover attribution

  • Enhanced land cover attribution to ā€˜natural’ topographic area features across the OS NGD ā€˜Features’ Collections for Land, Structures, Transport and Water.

  • Improved consistency and accuracy for specific land features by reducing the minimum capture size criteria in rural and moorland geographies.

  • Mapping OS land cover classification to recognised habitat classification schemes (EUNIS and UK BAP Broad Habitats) in a new cross reference table.

  • Assigning a percentage cover value to topographic areas in a new cross reference table.

Structures – Field Boundary

  • Height and width values provided for vegetated field boundary features.

Transport

Geographical Names

2023 OS NGD enhancements

September 2023 – OS NGD data enhancements

Buildings

    • Attribution provided on a building's use, how it is connected to other buildings, additional details on addresses contained within a building, and whether a building is considered to be the main one within a site.

    • Cross references added between the new Building Feature Type and the Building Part, Site, and Built Address Feature Types.

Transport

  • New rail feature types added to the OS NGD Transport Network Collection, giving information about the topologically connected rail network:

  • Available rail network attribution now includes track representation (single / multitrack, siding) and use (freight / passenger / mixed).

August 2023 – OS NGD data enhancements

Transport

  • Path network coverage extended to all of Great Britain (it was previously just available for urban areas). The road and path networks have been topologically structured together, which has increased the number of features present in the Paths feature types (i.e. Path, Path Link, Path Node, Connecting Link, and Connecting Node Feature Types).

March 2023 – OS NGD access enhancements

APIs

OS Select+Build

  • A new 'Order Summary' file will now be provided with your data packages to aid data validation when loading and using OS NGD data.

  • Enhanced search capability now available in both the Recipe Builder and your OS Select+Build Recipe Library, helping you locate feature types and your existing recipes quicker than before.

March 2023 – OS NGD data enhancements

Address

  • Improvements made to address data regarding the consistency of address positioning, usage classifications, business names and lifecycle.

Transport

  • Speed data is now included in the Public Sector Geospatial Agreement (PSGA), so it is free for PSGA Members for the first time.

  • Increased number of daily time periods now available for average speed data.

  • COUs (change-only updates) available for speed data for the first time.

Water

  • Two new feature types added to the OS NGD Water Features Collection:

OS NGD delivery roadmap for 2025 and 2026

The OS NGD delivery roadmap (as of March 2025) can be seen in the following image; the roadmap details what was delivered in the March 2025 data enhancements release and what is planned for delivery in the upcoming September 2025 and March 2026 data enhancements releases:

Collections

Conformance

OS NGD API – Tiles

What is OS NGD API – Tiles?

You have a choice between using Ordnance Survey styles or creating your own. You can customise the content and style to create a professional-looking map that perfectly meets your needs, matches your branding, and pleases your customers.

OS NGD API – Tiles is available in two projections: British National Grid for Great Britain (GB) data and Web Mercator, a global coordinate system.

Things to remember for OS NGD API – Tiles

You can:

  • Use it as a basemap in GIS, web or mobile applications.

  • View the whole of Great Britain in unrivalled detail.

  • Seamlessly pan, zoom, pitch and tilt the map.

  • Overlay your own data on the basemap to give geographic context to your data.

  • Trace over OS NGD (Premium Data) detailed geometries.

  • Customise the map style and content to create the map you need.

  • Access maps in different projections: British National Grid and Web Mercator.

You can't:

  • Retrieve all the detailed attribution from OS NGD data.

  • Access data from the:

    • OS NGD Address Theme

    • OS NGD Routing and Asset Management Information (RAMI) Collection (of the OS NGD Transport Theme)

MapLibre GL JS

Accessing OS NGD API – Tiles via MapLibre GL JS

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

2

Insert your API Key

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Inside the <script> tag, add another variable called collectionId with the collection ID for the OS NGD API – Tiles basemap – ngd-base.

3

Adding a fetch and response interceptor

  • We need to intercept and customise the style request, adding a tiles property to provide a correctly formatted URL and ensuring authentication through the apiKey is enabled to make sure that the correct tiles are requested.

  • Add the following code inside the JavaScript block:

4

Create a map and map view

  • Initialise the map object using the maplibregl.Map class to configure the vector tile layer and define its properties – container, minZoom, maxZoom, maxBounds, style, center and zoom.

  • Add navigation controls to the map, excluding the compass button and disabling map rotation.

The above code creates the main map instance using the MapLibre GL JS library where you can specify various properties:

  • container: Defines where the map should be displayed. In this instance, it is set to the ID of the <div> element.

  • minZoom and maxZoom: Sets the minimum and maximum zoom level for the map. Users will not be able to go beyond these levels.

  • maxBounds: Defines the maximum bounds and restricts panning the map.

  • style: Defines the style of the map, configured via a URL pointing at the default style for the 'collectionId' defined.

  • center: Sets the initial centre point of the map.

  • zoom: Sets the initial zoom level of the map.

What's next?

Congratulations! You've successfully created a vector map using MapLibre GL JS using OS NGD API – Tiles in a few steps.

What data is available?

What feature types are available in OS NGD API – Tiles?

Basemap (ngd-base)

Data overlays

The following table details the OS NGD datasets that can be used as overlays to the basemap to add additional information:

Attribution available in OS NGD API – Tiles

The following attribution is available as part of OS NGD API – Tiles:

The map features do not contain every OS NGD feature type, nor the complete list of attribution available within the feature types that are included; we have purposefully only selected feature types and a subset of attribution from them that are useful for visualisation as this keeps the tiles lightweight and quick to render.

Update frequency

A preloaded base map, for example, or .

OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

A preloaded base map, for example, or .

OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

is a free and powerful JavaScript library for displaying interactive maps on the web. It's based on Mapbox GL JS and provides a wide range of features for creating maps with custom styles, markers and interactivity.

OS Maps API and OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

The following pages provide an overview of how to get started using the OS NGD API – Tiles. They cover the core elements to get started in the most common and .

These pages should be used in conjunction with the more detailed pages within the and .

OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

URL: Input the request URL for the OS NGD API – Tiles collection.

Style URL: Input the request URL for the OS NGD API – Tiles collection.

{INSERT_YOUR_API_KEY}

{INSERT_YOUR_API_KEY}

To learn more about the available collections in OS NGD API – Tiles, you can view what data is available .

is an open-source JavaScript library for displaying interactive maps on the web or mobile. A simple and lightweight library that will enable you to display and visualise location data and build dynamic applications.

OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

This example will provide an introduction on how to use OS NGD API – Features to extract and plot OS NGD data! We’ll be using , a library that builds on Pandas to help manage and analyse spatial data.

OS NGD API – Features added to an API project in the OS Data Hub with an API Key. See for more information.

More examples in an executable notebook format are available through our .

A useful is available on our (a self-serve platform that provides a one-stop shop for all your OS technical geospatial support, including tutorials, demonstrators and case studies).

If you are using the OS NGD API – Tiles, all the styling resources, including JSON files and sprites, are hosted within the .

Recent announcements

As a result of work in collaboration with Verisk, there will be improvements made in June 2025 to the Basement Presence, Construction Material and Number of Floors attribution in the OS NGD Building Feature Type. To find out more information about what these improvements include, please see the .

A new enhancement to the way OS NGD Structures and OS NGD Buildings data is created is now live. To find out more information about what these enhancements include, please see the .

The March 2025 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see the .

OS NGD Address Christmas shutdown

There will be no daily updates of OS NGD Address over the Christmas shutdown period (24/12/2024–01/01/2025). Updates will resume as normal on the 02 January 2025.

OS NGD Product Viewer Tool now available

We've added links to the new to this site (under the 'Using OS NGD Data' section and in the ). The tool lets you visualise product sample data online for three areas (Exeter, Newport and Inverness).

Sample data for most OS NGD feature types are available through the tool. The sample data always use the latest data schema version available for each feature type.

OS NGD enhancements release now live

The September 2024 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see the .

Improvement to UPRNs in the Site Feature Type, OS NGD Land Use Theme

Improvement details

The Site Feature Type within the OS NGD Land Use Theme includes an attribute that references the primary Unique Property Reference Number (UPRN) for the site extent. Previously, the Primary UPRN attribute was only populated when there was a single address within the site extent. The improvement introduces new logic to determine the population of this attribute with the appropriate primary UPRN when there is more than one UPRN within a site extent.

Approximately 1.4 million sites are being improved as a result of this improvement.

The improvement will be available to customers automatically through the OS NGD access services of OS Select+Build and OS NGD API – Features.

Impact to customers

Customers do not need to take any direct action as a result of this improvement. On 19 August 2024, some customers may have experienced a slight delay in receiving their daily OS Select+Build orders or on any new orders placed that day.

Customers with an existing order that includes the Site Feature Type may have noticed an increase in the size of their change-only update (COU) file on 19 August 2024 or might notice an increase in the size of their next monthly update on 01 September 2024, as approximately 1.4 million sites are being improved.

All of the OS NGD access services (OS Select+Build and the OS NGD APIs) will remain available to customers with no disruption to service availability.

OS NGD Buildings Theme COU pause

There is planned maintenance scheduled for the OS NGD Buildings Theme from Saturday 20 July 2024 to Monday 22 July 2024 to run an upgrade to one of our background systems which underpins the OS NGD. This maintenance is needed to enhance the data which will be made available in the OS NGD Buildings Theme in September 2024.

During the planned maintenance period, the OS NGD Buildings Theme will not have any updates available and the daily Change-Only Update (COU) files received will be empty. In addition, the data within OS Select+Build and OS NGD API – Features will not be updated daily for the OS NGD Buildings Theme.

At the end of the maintenance period, all the changes will be made available and any daily COU files are likely to be larger than normal.

Any customers receiving monthly COU files will not be affected.

OS NGD Features Collections bug fixes

From 07 June to 08 June 2024, bug fixes are being applied to 1.6 million features across the OS NGD Features Collections, as part of our ongoing efforts to provide better data.

These improvements include fixes to Associated Structure, Land Use Tier A and Land Use Tier B values.

Planned maintenance on six OS NGD themes

Background system maintenance for the OS NGD is required to deliver the enhancements scheduled for September 2024. The planned maintenance period will be from Sunday 16 June through to Saturday 29 June, at the latest.

Throughout the maintenance period, all the OS NGD access services (OS Select+Build and the OS NGD APIs) will remain available to customers with no disruption to the service availability. The data within these services will not be updated daily with surveyed change for the following affected OS NGD collections:

  • Building Features

  • Land Features

  • Land Use Features

  • Structure Features

  • Transport Features

  • Water Features

Any daily Change-Only Update (COU) files for the other OS NGD collections will be unaffected during the maintenance period.

Customers will continue to be able to access all daily COU orders during the maintenance period and any new orders. During the maintenance period, any COU files for the above affected OS NGD collections will continue to be delivered and will be smaller than normal or empty. At the end of the maintenance period, all the surveyed changes for the affected OS NGD collections will be made available, and any daily COU files are likely to be larger than normal.

Any customers who receive monthly COU files will not be affected.

OS NGD Address Theme

The fix for the known data issue relating to the description of Parish and Community Government Statistical Services (GSS) codes as Ward GSS codes and vice versa will be rolled out to 4 million features (UPRNs) a day alongside the usual daily updates starting from 17 May 2024 until 27 May 2024.

This will result in larger daily Change-Only Update (COU) files. On 01 June 2024, the OS NGD Address Theme monthly COU file will be larger than a Full Supply file as all features will have a delete record and an update record.

OS NGD enhancements release now live

Webinars

If you are a PSGA Member or OS Partner and you'd like to know more about how to get the most out of the OS NGD, head to the or the and watch the recordings of our recent webinars, including 'An introduction to the OS NGD' and 'Maximising the benefits of ordering OS NGD data using OS Select+Build'. New webinars are added to both areas periodically.

Tutorials

Numerous are available on our (a self-serve platform that provides a one-stop shop for all your OS technical geospatial support, including demonstrators, tutorials and case studies). They introduce the OS NGD data themes, collections and feature types and show you what can be achieved using OS NGD data and how. New tutorials are added to the More than Maps site periodically.

The same tutorials are available to PSGA (Public Sector Geospatial Agreement) Members and OS Partners from the and the , respectively (just search for 'Lightning Talks').

Case studies

: Discover how can benefit a wide range of sectors, including sustainability and energy, insurance and property, and Emergency Services.

: Find out how new data on pedestrian and vehicular access points to key public buildings will help the Emergency Services to enhance their emergency planning and response times and improve their situational awareness.

: Discover how to use OS NGD Buildings features data to locate and map solar panels on roofs across Great Britain.

: Learn how OS and the ONS worked together to measure travel times and access to amenities.

: Learn how the OS NGD is supporting nature conservation in Greater Manchester and saving ecologists lots of time.

: Find out how new data for number of floors, sites, and bridge interactions will help the Emergency Services.

: Discover how OS NGD data can support better planning and future modelling for new housing developments.

: Discover how the British Army use OS NGD API – Features for battlefield training.

: Learn how to determine pavement widths in OS NGD data.

: Find out more about how the OS NGD speed datasets make it easier to analyse travel times, enhance routing analytics and provide accurate insight for safety and infrastructure policy decisions.

: Discover how the North Wales Cave Rescue Organisation has used OS NGD data to enable faster responses to underground incidents in North Wales.

: Learn how ONS are using OS NGD data to provide up-to-date estimates of the value that green and blue spaces add to house prices.

: Explore how using attributes from OS NGD data can help to identify homes which are hard to heat.

: Find out how North Yorkshire Fire & Rescue Service used OS Select+Build to reduce data analysis timeframes.

Recently delivered enhancements to the OS NGD are listed on the page.

Release dates for the planned OS NGD data enhancements listed above are available from the .

Version
Date
Notes

Please see for more information about versioning in the OS NGD.

What file formats are available for OS NGD data?

OS NGD data is available in four easy-to-use formats: GeoPackage, CSV (comma-separated values), GeoJSON and vector tiles. The download service of OS Select+Build supports GeoPackage and CSV. OS NGD API – Features supports GeoJSON. OS NGD API – Tiles supports vector tiles.

For more information about the file formats, please see the .

Is COU data available?

Monthly and daily COU (Change-Only Update) supplies are available for CSV files; however, they are not available for GeoPackage files. For more information about COUs, please see the and the .

Why won't my CSV file open in excel / why won't my CSV file load in my GIS?

Please be aware that CSV (comma-separated values) files are designed to be opened in a database or GI system, and opening them in other software applications could corrupt the data. In particular, Excel has a row limit which might be exceeded by some of our CSV files containing OS NGD data, depending on the order you placed and its size.

We recommend that you load CSV files containing OS NGD data directly into a database or GI system, rather than trying to open these files in Excel.

For more information about CSV files, please see the .

Does the launch of the OS NGD mean that some existing OS Premium and OS OpenData Products will be withdrawn?

No. The launch of the OS NGD does not instigate withdrawal of any of the existing OS Premium or OS OpenData Download products, including APIs. These products will continue to be managed through their product lifecycle, including withdrawal / becoming End of Life, separately to the OS NGD.

The OS NGD gives new and enhanced ways for customers to access the most trusted and up-to-date geographic information from OS.

The is available to view on our website – it has details of upcoming OS NGD releases, new Download product releases (for Premium and OpenData products), and dates for planned product withdrawals as they reach their End of Life stage.

Following the launch of the OS NGD in September 2022, we have and will continue to add new feature types as part of our . These could be brand new feature types or enhanced versions of previously existing feature types (with new attribution added for a new version). In both instances, these new / enhanced feature types will have later start dates.

Please refer to the for information about the OS NGD file naming convention.

You have an existing OS Select+Build recipe that uses the Site Routing Point Feature Type or transact with that feature type via an OS NGD API. As of 26 April 2023, this feature type no longer contains any features or data. It is in an 'end of life' state where it has stopped receiving updates; therefore, any OS Select+Build recipes that use this feature type or any OS NGD APIs that transact with it will return blank files. You can access historic data for Site Routing Point using the temporal filter option in OS Select+Build by selecting the tick box for a 'one-off snapshot'; historic data is available for this feature type from 03 October 2022 to 25 April 2023. As part of a data enhancement programme in late spring 2023, all Site Routing Points were recreated as and are therefore now accessible via the OS NGD Transport Theme (from the OS NGD Transport Network Collection).

Please see the in the OS NGD Fundamentals section for a full explanation of data schema versioning and how it works in the OS NGD.

OS NGD API – Features gives you simple access to the OS NGD using the latest in API standards (based on the ). As the new API uses the latest standards, it's easier than ever before to quickly discover what OS NGD data is available and create your own bespoke data selections with more understandable filtering options. Ultimately, this will help accelerate your time-to-value by making it easier to build awesome things with our trusted geospatial data.

Additionally, vector tile services include minimal attribution data to ensure maps load quickly. Even with minimal attribution, map developers can apply styles and interactivity to vector features that is just not possible with raster maps. The inclusion of unique identifiers (where available) allows you to cross-reference with the full product, for example, with .

Additional general FAQs and answers about OS APIs are available on the and , for example, 'What's a Project?', 'What throttling is applied to the APIs?'.

The new download service of OS Select+Build supports GeoPackage and CSV file formats (more information on these file formats is available on the ).

For information about data ordering and currency, please see the .

Please see the in the OS NGD Fundamentals section for full details.

It is possible to select what CRS you'd like to receive data in for feature types in your data package. There's more information about selecting a CRS on the . If you don't choose a particular CRS for your data package, OS Select+Build will automatically select the default CRSs for the feature types in your data package for you.

Please see the for more information about recipes and step-by-step instructions for creating them.

Please see the for step-by-step instructions on how to check which recipes are associated with each data package.

Please see the for step-by-step instructions on creating an OS Select+Build data package.

Log into your account.

Please see the for step-by-step instructions on how to filter attributes using OS Select+Build.

For more information about the file naming convention for OS NGD data, please see the .

Yes. Height data is available on features and features.

Crowd sourced names can be submitted via the Vernacular Names Tool on the . You'll need to be member of an approved organisation to submit a name.

Please report these via the Errors & Omissions Tool on the .

Names usually appear in the Crowd Sourced Name Point features dataset within two months of being submitted, but they can be viewed in the Vernacular Names Tool on the before then.

Please refer to the section for further information.

Please refer to the section for further information.

Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the .

Please see the for details about current known data issues.

Please see the for details about resolved data issues.

These buildings enhancements aim to improve visualisation, urban development planning, emergency response, and sustainability initiatives. More information on the March 2025 buildings enhancements is available from the in the 'Using OS NGD Data' section.

New added to the OS NGD Named Features Collection, which includes names submitted by expert third parties via the Vernacular Names Tool in the OS Data Hub. Where possible, the crowd sourced names are linked to other OS NGD features, allowing the use of both official and colloquial names together.

Three new types of site added to : Beach, Military Training Area, and Wind Farm. Over 2 600 new sites have been added to the dataset for this enhancement (1 927 beaches, 90 Military Training Areas and 604 Wind Farms). These are sites that may not be spatially coincident with existing topographic areas (i.e. they may not align with topographic features like field boundaries), unlike other types of site. Beaches will include Site Access Locations with attribution that highlights the nearest public Road Node and the direct distance to that node from the access point on the edge of the beach feature. Military Training Areas and Wind Farms will not include Site Access Locations.

An Access Purpose attribute has been added to features for key public sites to identify what the Site Access Location is being used for (Primary Public, Public, Private, or Emergency). The new data will enhance and support situational awareness for emergency responses, hazard planning, and policing operations at key public sites; the data will also support travel modelling and make it easier to assess accessibility to services for the public.

The addition of nine different types of tunnel to the . These were added to v2 of the schema on 28 March 2025 and v1 on 09 April 2025.

New added to the OS NGD Transport Features Collection to identify the location of pole-mounted street lights and provide a reference to the nearest Road Link or Path Link. This is the first consistent GB-wide dataset of street lights that is updated monthly and maintained to defined quality levels.

New attribution supplied against the and Feature Types to indicate how well-lit they are. The new data will support the identification of safe routes for active travel use cases .

New number of floors attribution added to features to identify the maximum number of occupiable floors at or above ground level within a residential or office building. Over 23.5 million office or residential buildings in Great Britain now have a number of floors value, and a total of nearly 47 million floors have been added to the OS NGD. Among other uses, the new attribution will provide emergency services with more information when responding to real-time incidents, such as a fire in a high-rise building, and will help support insurers to improve their risk profiling and underwriting.

Greater coverage for land use , particularly non-residential sites, with over 1.5 million Sites added to the OS NGD gradually over the last two years. This has brought the total number of Sites contained within the OS NGD to 26 million.

An additional 180 000 points have been added to the OS NGD. These features show where vehicles and / or pedestrians can access Sites and, among other uses, help the emergency services to identify the most efficient routes for reaching an incident.

Additional bridge interaction attribution added to features to identify the type of network (road, path, railway, canal, water or multiple) passing over and / or under bridges. Over 660 000 bridge interactions have been added to the OS NGD.

New attribution provided for :

More information on the buildings enhancements is available from the in the 'Using OS NGD Data' section.

More information on the land cover enhancements is available from the in the 'Using OS NGD Data' section.

New added to the Structure Features Collection to identify the location, nature and properties of a field boundary in rural and moorland areas.

More information on this enhancement is available from the in the 'Using OS NGD Data' section.

New added to the Transport Network Collection to locate where trams are present against the OS road network.

Tram track attribution added indicating the presence of tram tracks on a road​. Supplied as new attribution against features​.

More information on these enhancements is available from the in the 'Using OS NGD Data' section.

New added to the OS NGD Named Features Collection, which provides enhanced names and the numbers of junctions. Includes both intersects without an official name or number and officially named or numbered junctions.

New added to the OS NGD Building Features Collection.

New added to the OS NGD Transport Network Collection, giving information on the presence of pavements on the Road Network. More information on this enhancement is available from the in the Using OS NGD Data section.

New attribution added to the , giving details about pavement presence: left or right side of road, coverage, and minimum and average width. More information on this enhancement is available from the in the 'Using OS NGD Data' section.

Launch of the new vector tiles API: .

Option to select which data schema version you want to access for certain address feature types (see the and the for more information).

Ability to select a preference for the coordinate reference system you receive your OS NGD data in (see the and for more details).

New ability to share your created recipes with other organisations so that they can use exactly the same selections as you (see the for more details).

New attributes added to existing address feature types and improvements made for addressing floor-level information as part of the release of data schema version 2.0 (see the for more information).

New added to the OS NGD RAMI Collection, giving full Great Britain coverage for speed data.

Improved completeness of the Road Width attribute in the , which extends coverage for road width data from just urban areas to urban areas, rural areas and mountain and moorland areas.

In the future, we plan to deliver over 15 data enhancements to the OS NGD. As we design and develop these data enhancements, more details will be added to the .

OS NGD API – Tiles offers you a vector tile service powered by the OS NGD. It provides a detailed and customisable basemap that's based on the latest to help you create stunning and interactive web maps. It can be used with most web mapping libraries, including OpenLayers, MapLibre GL JS and Leaflet. The major benefit of vector tiles is that they are optimised for use across the internet and are therefore great for building interactive web maps that allow users to zoom, pan, rotate, tilt and more.

Scalable vector tile mapping

Provides lightweight, high-resolution vector tile base maps in different styles and projections for fast rendering in interactive applications.

Customisable style options

Access to pre-defined, professional styling which can be customised to meet your own requirements and map designs.

Built in data overlays

Access build in and detailed overlays to add give additional geographic context.

Faster performance

Loads maps quicker than traditional raster-mapping services.

Up-to-date mapping

OS NGD API – Tiles is updated weekly ensuring you have access to the latest data as quickly as possible.

Beautifully styled basemap, ready to customise

Customise your maps to perfectly meet your needs. You have a choice between using Ordnance Survey styles or creating your own.

Interactive mapping

Control every aspect of your map with the flexibility to create dynamic interaction with the map and individual features.

  • Format: Vector Tiles

  • Data Source: See for further information.

  • Coverage: Great Britain

  • Update: See for further information.

  • OS Data Hub plan: Premium Plan, Public Sector Plan

If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

is a free and powerful JavaScript library for displaying interactive maps on the web. It's based on Mapbox GL JS and provides a wide range of features for creating maps with custom styles, markers and interactivity.

OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

The following table details the OS NGD datasets that were used to create the OS NGD API – Tiles basemap. The result is a detailed OS basemap that combines and OS NGD data.

Theme
Collection
Feature Type(s)

Find out more about the hierarchy of OS NGD data .

If you are interested in addressing information, provides a detailed view of an address and its lifecycle, giving you direct access to rich address data for geocoding, postcode searching, form-filling and much more.

Theme
Collection
Feature Type(s)
Collection ID
CollectionID
Layer(s)
Available Attribution

The inclusion of unique identifiers (IDs), where available, allows you to cross-reference with the full product, for example, with . Find out more about OS NGD .

Collection ID
Update Frequency

Although OS NGD API – Tiles will be updated weekly, the data updates are based on the set (for example, the OS NGD Structure Features Collection currency is daily, whereas the OS NGD Water Network Collection currency is monthly).

The March 2024 enhancements release for the OS NGD is now live. To find out more information about what these enhancements include, please see our .

MapLibre GL JS
code examples
GIS software
web mapping libraries
Data Structure section
Technical Specification
https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/tiles/3857/{z}/{y}/{x}?key=
https://api.os.uk/maps/vector/ngd/ota/v1/collections/ngd-base/styles/3857?key=
Leaflet
code examples
GeoPandas
GeoPandas
Requests
Shapely
OS APIs Python wrapper
Retrieve Tile
Retrieve Style
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Tiles | Template (EPSG:3857) | MapLibre GL JS</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
    <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
    
    <!--Add the MapLibre GL JS libaries -->
     <link rel="stylesheet" href="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.css" />
    <script src="https://unpkg.com/maplibre-gl@2.4.0/dist/maplibre-gl.js"></script>
    
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
// Set API Key and collection ID
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId = 'ngd-base';
// Modify the JSON style request incorporate a `tiles` property which lists an array of tile endpoints.
// The '&key=' HTTP query parameter is also appended to each tile endpoint to authenticate the request.
// NOTE: The {z}, {x} and {y} template values are replaced with the corresponding integers at runtime.
    
    const { fetch: originalFetch } = window;
    window.fetch = async (...args) => {
        let [ resource, config ] = args;

        let response = await originalFetch(resource, config);
        if( response.url != `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857` )
            return response;

        // Response interceptor.
        const json = () =>
            response.clone().json().then((data) => {
                data.sources[ collectionId ].tiles = [ `${data.sources[ collectionId ].url}/{z}/{y}/{x}?key=${apiKey}` ];
                delete data.sources[ collectionId ].url;
                return data;
            });

        response.json = json;
        return response;
    };
// Initialize the map object.
    const map = new maplibregl.Map({
        container: 'map',
        minZoom: 6,
        maxZoom: 19,
        maxBounds: [ [ -8.74, 49.84 ], [ 1.96, 60.9 ] ],
        style: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`,
        center: [ -3.541809, 50.727589 ],
        zoom: 17,
        attributionControl: false
    });

    map.dragRotate.disable(); // Disable map rotation using right click + drag.
    map.touchZoomRotate.disableRotation(); // Disable map rotation using touch rotation gesture.

    // Add navigation control (excluding compass button) to the map.
    map.addControl(new maplibregl.NavigationControl({
        showCompass: false
    }));

OS NGD Buildings

Building Features

Building Part

OS NGD Geographical Names

Named Features

Named Point

OS NGD Land

Land Features

Land, Land Point, Landform, Landform Line

OS NGD Land Use

Land Use Features

Site

OS NGD Structures

Structure Features

Compound Structure, Field Boundary, Structure, Structure Line

OS NGD Transport

Transport Features

Cartographic Rail Detail, Rail, Road Line, Road Track Or Path

Transport Network

Path, Path Link, Road

OS NGD Water

Water Features

Inter Tidal Line, Tidal Boundary, Water, Water Point

Water Network

Water Link, Water Link Set, Water Node

OS NGD Administrative and Statistical Units

Boundaries

Boundary High Water Mark, Ceremonial County, Country, Devolved Parliament Constituency, Devolved Parliament Electoral Region, Electoral Division, GLA Assembly Constituency, Historic County, Historic European Region, Lower Tier Local Authority, Parish Or Community, Polling District, Region, Regional Authority, Upper Tier Local Authority, Ward, Westminster Constituency

asu-bdy

OS NGD Transport

Transport Network

Railway Link, Railway Link Set, Railway Node

trn-ntwk-railway

OS NGD Water

Water Features

River Basin District Catchment, Waterbody Catchment

wtr-ctch

ngd-base

All

osid, description, name1_text (only applicable to the Named Point, Site and Water Link Set layers), designatedname1_text (only applicable to the Road layer), versionavailablefromdate

asu-bdy

All

osid, description, name1_text (only applicable to the Country layer), name2_text,

pollingdistrictid (only applicable to the Polling District layer), versionavailablefromdate

trn-ntwk-railway

Railway Link

osid, description, railwayuse, operationalstatus, physicallevel, name1_text, versionavailablefromdate

Railway Node

osid, description, versionavailablefromdate

Railway Link Set

osid,

name1_text,

name2_text,

versionavailablefromdate

wtr-ctch

River Basin District Catchment

osid, riverbasindistrictname, versionavailablefromdate

Waterbody Catchment

osid, waterbodyname_text, waterbodycategory, versionavailablefromdate

ngd-base

Weekly

asu-bdy

Biannually

trn-ntwk-railway

Monthly

wtr-ctch

Updated as and when updates are received from the authoritative bodies

OS NGD API – Features
Unique identifiers
What data is available?
Currency of OS NGD data
šŸ“£
šŸ–„ļø
šŸ‘©ā€šŸ«
šŸ“”
tutorial on 'How to download and use OS stylesheets'
'More Than Maps' site
vector tiles endpoint
OS NGD Improvements page
OS NGD Improvements page
'What's New' page
OS NGD Product Viewer Tool
OS NGD Sample Data Information page
'What's New' page
'What's New?' page
PSGA Members area
Partner Portal
OS Select+Build: How to build a recipe
OS Select+Build: How to download a data package
OS Select+Build: How to add attribute filters to a new recipe
How to use OS NGD API – Features
How to use OS NGD API – Tiles
Using OS's new buildings data attribute: Number of Floors
Filtering and the Common Query Language (CQL)
Edit vector tile styles in Maputnik
OS NGD tutorials
'More than Maps' site
PSGA Members area
Partner Portal
Analysing roof attribution data
enhanced roof attribution data
Emergency Services
Solar panel presence case study
OS and Office for National Statistics case study
Greater Manchester Ecology Unit case study
Emergency Services
Supporting planning and new housing developments
British Army case study
Analysing pavement widths using OS Select+Build case study
Speed data case study
North Wales Cave Rescue Organisation case study
Office for National Statistics case study
Identifying hard to heat homes case study
North Yorkshire Fire & Rescue Service case study
What's New?
Product Roadmap page on the OS website
Data schema versioning
'File formats and naming' page
'COU supplies' page
'Data ordering and currency' page
'File formats and naming' page
OS Product Roadmap
data enhancements
'File formats and naming' page
Road Nodes
'Data schema versioning' page
OGC API – Features specification
OS NGD API – Features
'OS Data Hub FAQs: Plans' page
'OS Data Hub FAQs: Account and API' page
'File formats and naming' page
'Data ordering and currency' page
OS Data Hub
'Getting Started with Attribute Filtering' page
'File formats and naming' page
OS Data Hub
OS Data Hub
OS Data Hub
OS NGD Land cover enhancements
Field Boundary
Service Availability Dashboard on the OS Data Hub
Current Known Data Issues page
Resolved Data Issues page
OS NGD Buildings pages
Crowd Sourced Name Point Feature Type
Land Use Sites descriptions
Compound Structure Feature Type
Street Light Feature Type
Road Link
Path Link
Sites
Site Access Location
Compound Structure
OS NGD Buildings pages
OS NGD Land cover enhancements pages
Field Boundary Feature Type
Field Boundary pages
Tram On Road​ Feature Type
OS NGD Transport pages
Named Road Junction Feature Type
Building Feature Type
Railway Link
Railway Link Set
Railway Node
Pavement Link Feature Type
OS NGD Transport pages
Road Link Feature Type
OS NGD Transport pages
OS NGD API – Tiles
Addressing 'Versioning information' page
'Data schema versioning' page
Addressing 'Versioning information' page
Average and Indicative Speed Feature Type
Waterbody Catchment Feature Type
River Basin District Catchment Feature Type
'Future OS NGD Data Enhancements' page
OGC API – Tiles standard
OS Places API
MapLibre GL JS
code examples
OS Open Zoomstack
here
OS Places API
'Coordinate reference systems' page
'Downloading with OS Select+Build' page
'Downloading with OS Select+Build' page
'Downloading with OS Select+Build' page
'Downloading with OS Select+Build' page
'Coordinate reference systems' page
'Downloading with OS Select+Build' page
'Downloading with OS Select+Build' page
currency of the OS NGD collections

The OS National Geographic Database (OS NGD) contains authoritative data that describes the geography of Great Britain. It delivers improved data structures, increased currency of data supply and enhanced metadata.

The OS National Geographic Database (OS NGD) contains authoritative data that describes the geography of Great Britain. It delivers improved data structures, increased currency of data supply and enhanced metadata.

5.3

07/05/2025–23/05/2025

Restructuring work carried out on the navigation menu on the left-hand-side of the site to improve navigation and the customer experience:

5.2

09/05/2025

5.1

27/03/2025

New pages added for the March 2025 OS NGD data enhancements release:

  • Eighteen new code lists added: Roof Material Value, Roof Shape Value, Roof Confidence Indicator Value, Physical State Value, Access Mode Value, Access Purpose Value, Access Obstruction Value, Access Level Value, Building Access Location Description Value, Network Node Feature Type Value, Street Light Description Value, Link Reference Confidence Value, Transport Feature Type Value, Illumination Value, Crowd Sourced Name Description Value, Crowd Sourced Name Match Type Value, Matched Feature Type NGD Value and Matched Theme NGD Value.

Existing pages amended with information about the March 2025 OS NGD data enhancements:

  • Four code lists updated: Built Structure Height Confidence Value, Site Description Value, Site Access Location Description Value and Compound Structure Description Value.

5.0

25/03/2025

4.9

13/03/2025

4.8

11/03/2025

4.7

06/02/2025

4.6

26/09/2024

New pages added for the September 2024 OS NGD data enhancements release:

  • Six new code lists added: Address Classification Source Value, Classification Correlation Value, Matched UPRN Value, Network Over Under Bridge Value, Status Value, and Yes No Value.

Existing pages amended with information about the September 2024 OS NGD data enhancements:

  • Updates made to the Building Part, Land, Rail, Road Link, Road Track Or Path, Site, Structure, and Water Feature Type pages to reflect new attribution for land use, as supplied with data schema version 3.0 for all feature types bar Building Part and Site, which are supplied with data schema version 2.0.

  • Updates made to the Compound Structure Feature Type page to reflect new attribution for bridge interactions, as supplied with data schema version 2.0.

  • Updates made to the Building Feature Type page to reflect new Number of Floors attribution, as supplied with data schema version 3.0.

  • Three code lists updated: Building Part Description Value, Compound Structure Description Value and Relationship Type Value.

  • Updates made to the OS NGD Buildings pages (in the USING NGD DATA section) to reflect new Number of Floors attribution in data schema version 3.0 of the Building Feature Type.

  • Updates to the 'What's New?', 'Known data issues', 'Product announcements', 'OS NGD Fundamentals', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

  • Updates made to the following OS NGD collection pages: Structure Features, Land Features, Land Use Features, Building Features, Transport Features and Water Features.

4.5

27/03/2024

New pages added for the March 2024 OS NGD data enhancements release:

  • Pages added for the new Field Boundary, Named Road Junction, and Tram On Road Feature Types, together with pages for their associated new code lists.

  • New sections added to the USING NGD DATA section for OS NGD Land cover enhancements, OS NGD Structures and OS NGD Transport.

Existing pages amended with information about the March 2024 OS NGD data enhancements:

  • Updates made to the Land, Rail, Road Link, Road Track Or Path, Structure, and Water Feature Type pages to reflect new attribution for land cover, as supplied with data schema version 2.0 for all feature types bar Road Link, which is supplied with data schema version 3.0.

  • Updates to the 'What's New?', 'Product announcements', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

4.4

28/09/2023

New pages added for the September 2023 OS NGD data enhancements release:

  • Pages added for the new Building, Railway Link, Railway Link Set, Railway Node, and Pavement Link Feature Types, together with their associated new code lists.

Existing pages amended with information about the September 2023 OS NGD data enhancements:

  • Updates made to the Road Link Feature Type page to reflect the new attribution for pavement presence, as supplied with data schema version 2.0.

  • New section added to the USING NGD DATA section for OS NGD Buildings.

  • Updates to the 'What's New?', 'Product announcements', 'Future OS NGD Data Enhancements', and 'Sample data' pages.

  • Updates made to the OS NGD Building Features and OS NGD Transport Network Collection pages

4.3

10/08/2023

Changes introduced to reflect expansion of coverage from urban paths only to GB-wide coverage.

4.2

21/06/2023

New page added to the GETTING STARTED section: 'OS NGD Talks, Webinars, Tutorial Videos and Case Studies'.

4.1

19/06/2023

Temporal filtering sub-section wording updated on the feature type pages of eight feature types in the OS NGD Addressing Theme in the DATA STRUCTURE section. The earliest and latest dates on which you can request a one-off snapshot of a date in the past for the data schema versions available for these feature types are now documented. Example images added to all OS NGD Collection pages (in the DATA STRUCTURE section) to show what the different feature types in the collections look like in the data. A background map has been included in each image to provide context. Example images added to the 'Average And Indicative Speed', 'Highway Dedication' and 'Restriction' Feature Types pages (of the RAMI Collection) to show what the different feature types look like in the data. A background map has been included in each image to provide context.

4.0

15/06/2023

Definition expanded for the Average And Indicative Speed Feature Type (of the RAMI Collection). Road Link Direction attribute (RAMI Collection, attribute for the Restriction Feature Type) definition updated from ā€˜The direction in which the restriction applies in direction of digitisation of the Road Link feature.’ to ā€˜The direction in which the restriction applies in relation to the direction of digitisation of a Road Link feature'. Directionality attribute (Transport Network Collection, attribute for the Road Link Feature Type) definition updated from ā€˜Indication of the direction of traffic flow.’ to ā€˜Indication of the direction of traffic flow in relation to the direction of digitisation of a Road Link feature'. Three missing definition values entered in the Link Direction value code list and final sentence of code list definition expanded.

3.9

12/06/2023

New warning note added to the 'Site Routing Point Feature Type' page under the feature type description at the top of the page. Information note added to the 'Road Node Feature Type' page under the feature type description at the top of the page. Fifth reason added for one of the General FAQs on the FAQs page ('Why am I receiving blank files?' FAQ), relating to the Site Routing Point Feature Type being an 'end of life' feature type as of late spring 2023.

3.8

07/06/2023

New announcement added to 'Product Announcement' page: 'June 2023: 5 days of system downtime for feature types'.

3.7

25/05/2023

New images added to the 'Homepage', 'What's New?', 'Terminology and access', and 'OS NGD Future Data Enhancements' pages.

3.6

03/05/2023

One YouTube video added to the 'Accessing OS NGD APIs' page; the video gives instructions on how to add OS NGD API – Tiles to a new project on the OS Data Hub and generate an API key. One YouTube video added to the 'Getting Started with Attribute Filtering' page and the 'Getting Started with Temporal Filtering' page; the video gives instructions on how to get started with both attribute filtering and temporal filtering in OS Select+Build.

3.5

21/04/2023

'Known Data Issues' page: New section and table added for 'OS NGD Transport Theme known data issues' to document an 'Incorrect speed values' issue.

3.4

06/04/2023

New page added to 'DATA STRUCTURE' section: 'Product Announcements'. New section ('How do I check if filters are used in an existing recipe?') added to the 'Getting Started with Attribute Filtering' sub-page in the 'Accessing OS NGD' section.

3.3

05/04/2023

New sub-page added to the 'Downloading with OS Select+Build' page in the 'Accessing OS NGD' section: 'Getting Started with Temporal Filtering'.

3.2

03/04/2023

More information added about default coordinate reference systems available for the RAMI, Water Network and Transport Network Collections on their retrospective collection pages in the Data Structure section and in the 'Coordinate reference systems' page in the OS NGD Fundamentals section.

3.1

30/03/2023

Recipe sharing information added to the 'What's New?' page and the 'Downloading with OS Select+Build' page.

3

29/03/2023

New pages published: 'Data schema versioning' and 'What's New?' (both within the Getting Started section); 'Versioning information' (within OS NGD Address in the Data Structure section). Existing pages amended with information about the March 2023 OS NGD data enhancements: 'OS NGD Key Benefits to Customers'; 'OS NGD Fundamentals'; 'Downloading with OS Select+Build'; 'Accessing OS NGD APIs'; 'Using Code Examples'; Theme pages for Address, Transport and Water; all 13 Collection pages; 'Known Data Issues'; 'Data Catalogue'; 'FAQs'; 'Future OS NGD Data Enhancements'. Coming soon banner removed from all relevant addressing feature type pages and from the Average And Indicative Speed, Waterbody Catchment, and River Basin District Catchment Feature Type pages.

2.9

23/03/2023

Diagrams added to the 'Water Link' and 'Water Link Set' Feature Type pages (within the DATA STRUCTURE section) to show how these features look in OS NGD data.

2.8

10/03/2023

New pages published for the Average And Indicative Speed Feature Type (within the RAMI Collection of the OS NGD Transport Theme), Capture Method Value Code List, and Average And Indicative Speed Description Value Code List. New pages published for the Waterbody Catchment Feature Type and River Basin District Catchment Feature Type (both within the Water Features Collection of the OS NGD Water Theme), Waterbody Category Value Code List, Waterbody Catchment Description Value Code List, and River Basin District Catchment Description Value Code List. Existing pages updated to include data schema version 2 information and new attributes for the Built Address, Historic Address, Non-Addressable Object and Pre-Build Address Feature Types in both the GB Address and Islands Address Collections (within the OS NGD Address Theme). The Related Entity Related Component page was also updated to include data schema version 2 information and new attributes.

2.7

08/03/2023

'Known Data Issues' page: Section and table removed for 'OS NGD Transport Theme known data issues' as these have been resolved. 'Daily COU updates temporarily paused' row removed from 'OS NGD Address Theme known data issues' table as this issue has been resolved. Page title change from 'Accessing OS NGD API – Features' to 'Accessing OS NGD APIs' in the DATA STRUCTURE section.

2.6

06/03/2023

Temporal filtering information added to the top of all 81 feature type pages (detailing the earliest date on which you can request a one-off snapshot of a date in the past for data in each feature type). Temporal filtering information generalised on all 13 collection pages, pointing users to individual feature type pages to get dates instead.

2.5

03/03/2023

Content published on the 'Getting Started with Attribute Filtering' page.

2.4

22/02/2023

Order of pages amended in the 'OS NGD Fundamentals' section and new placeholder page on 'Data schema versioning' added to this section. New placeholder page on 'What's New' added to 'GETTING STARTED' section. New placeholder page 'Versioning information' added to 'DATA STRUCTURE' section for the Addressing Theme. Geometry type corrected from Polygon to MultiPolygon for the Geometry attribute of all feature types in the Boundaries Collection (apart from the Boundary High Water Mark, GLA Assembly Constituency and Regional Authority Feature Types).

2.3

20/02/2023

'Known Data Issues' page: New section and table added for the OS NGD Transport Theme known data issues. New row added to the OS NGD Address Theme known data issues table ('Daily COU updates temporarily paused').

2.2

30/11/2022

Missing definitions added to the 'Structure Land Cover Tier A Value' and 'Structure Land Cover Tier B Value' Code Lists.

2.1

25/11/2022

New section added to the 'Known Data Issues' page for the OS NGD Administrative and Statistical Units Theme.

2

17/11/2022

'Known Data Issues' page added to the Data Structure section. Updates made to the 'Coordinate Reference Systems' page: table added outlining the default coordinate reference system used by each OS NGD collection; note deleted; OS Select+Build list of coordinate reference systems altered by removing World Geodetic System (WGS84: EPSG: 4326) and inserting European Terrestrial Reference System (ETRS89: EPSG: 4258). New OS Select+Build FAQ added to the 'FAQs' page ('How do I identify the correct OS NGD collection for calculating usage?').

1.9

16/11/2022

Updates made to the 'Sample Data Information' page to mention that sample data is now available for the OS NGD GB Address Collection. Sample data is available for 12 of the 13 OS NGD collections. Note added to say that sample data won't be released for the OS NGD Islands Address Collection. Wording updated for two of the General FAQs on the 'FAQs' page ('Why am I receiving blank files?' FAQ and the 'Why do I have different start dates when applying temporal filters to different feature types?' FAQ).

1.8

08/11/2022

New General FAQ added to the 'FAQs' page ('What are the default coordinate reference systems used by the OS NGD collections?'). New sections added to the 13 OS NGD collection pages on earliest temporal filtering date and default coordinate reference systems.

1.7

04/11/2022

New note added to the 'Data ordering and currency' page about geographic filtering supply options. Note added to the 'Related Components' page. New note added to the 'COU supplies' page about features moving between OS NGD themes and between OS NGD feature types. Introductory sentence added above the CSV structure table on the 'File formats and naming' page. Definition added for the 'Made Surface' label in the 'Rail Description Value' Code List. The maintenanceauthority_authorityname attribute's definition was corrected from 'The authority responsible for the street naming and numbering or maintenance' to 'The authority responsible for maintenance.'

1.6

03/11/2022

Formatting changes on the 'FAQs' page to include expandable blocks. Minor changes to two labels in the 'Land Description Value' Code List: 'Heath Or Rough Grassland And Scattered Boulders or Scattered Rock' was changed to 'Heath Or Rough Grassland And Scattered Rock'; and 'Heath Or Rough Grassland And Scattered Boulders or Scattered Rock And Scrub' was changed to 'Heath Or Rough Grassland And Scattered Rock And Scrub'.

1.5

01/11/2022

Note (saying that ''the Address Theme will be launched later this year'') removed from the top of the OS NGD Address Theme, GB Address Collection and Islands Address Collection pages as the Address Theme went live to customers in OS Select+Build on 31/10/2022. Correction made to the feature type description on the Connecting Link Feature Type page to say that a Connecting Link does not represent a feature in the real world.

1.4

28/10/2022

Updates made to the 'OS NGD Sample Data Information' page to mention that sample data is now available for the OS NGD Boundaries Collection. Sample data is available for 11 of the 13 OS NGD collections.

1.3

21/10/2022

Updates made to the 'OS NGD Sample Data Information' page to mention that sample data is now available for the OS NGD Water Network, Transport Network, Named Features, and Routing and Asset Management Information (RAMI) Collections. Sample data is available for 10 of the 13 OS NGD collections.

1.2

14/10/2022

Amendments made to the instructions for loading CSV files into an Oracle database in the 'Loading CSV files' page.

1.1

11/10/2022

'Data Entity Catalogue' Code List updated to remove OS NGD Landform label and insert OS NGD Rail label. 'OS Land Use Tier B Value' Code List updated to include previously unavailable definitions for all bar five labels. 'Accessibility' page added to the EXTRA LINKS section. Additional instructions added to the 'Downloading with OS Select+Build' page on downloading data packages. Two YouTube videos added to the 'Downloading with OS Select+Build' page; the videos give instructions on how to create a new recipe using OS Select+Build, and how to create and download a data package using OS Select+Build. One YouTube video added to the 'Accessing OS NGD APIs' page; the video gives instructions on how to add OS NGD API – Features to a new project on the OS Data Hub and generate an API key.

1

29/09/2022

OS NGD official launch to customers.

0.3

25/08/2022 to 29/09/2022

Amendments to multiple pages and publication of new pages in preparation for OS NGD launch.

0.2

24/08/2022

Amendments to multiple pages in preparation for the first set of OS NGD sample data being released.

0.1

12/05/2022

Pre-release of OS NGD documentation on the OS NGD Documentation Platform.

A high-level summary of new data enhancements and service updates launched for the OS NGD.

This page lists all changes made to OS NGD documentation. Changes will be made for a variety of reasons, including reflecting any alterations made to the OS NGD data itself as we enhance and improve the offering, plus simple improvements to the documentation to aid understanding.

A high-level summary of recent improvements implemented for the OS NGD.

A high-level summary of upcoming data enhancements for the OS NGD.

Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

Find out what the key benefits of the OS NGD are.

Download OS NGD sample data or visualise it online.

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Our getting started guides will help you access, use and style OS NGD data. You'll also find in-depth information on OS NGD design, and webinars, tutorials and case studies.

View frequently asked questions about OS NGD data and access methods (OS Select+Build and OS NGD APIs).

Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

Access all of the code lists for the OS NGD.

Resolved Data Issues

This page lists resolved data issues in relation to the OS NGD themes, collections and feature types.

Generic OS NGD resolved data issues

The generic data issues in the table below impacted multiple OS NGD themes:

Data Issue Name
Original Description for Data Issue
Data Issue Resolution Date
Resolution Message

Interruption to the supply of Daily Updates for OS NGD Building Part (February 2025) and impact on topological data ā€˜surface’ of OS NGD 'Feature' Collections

We are currently deploying improvements to the Building Height data available on OS NGD Building Part (data schema v1.0 and v2.0) until 24 February 2025. During this period, daily updates to the Building Part Feature Type, such as changes captured by surveyors, will be temporarily paused. These changes will be reflected in the product data after the completion of the improvements.

Consequently, users may observe anomalies in the consistency of the topological surface when utilising various OS NGD 'Feature' Collections (such as OS NGD Land Features). These anomalies will manifest as holes or overlaps where the Building Part feature has not been updated concurrently with the surrounding features. This impact will also be visible in OS NGD API – Features and OS NGD API – Tiles.

Please note that we advise against using counts from the OS NGD Building Part Feature Type with a temporal filter set between 02 February 2025 and 24 February 2025 as the counts may not be accurate due to the impact on a small number of topographic features.

24/02/2025

The improvements were completed by 24/02/2025 as planned and Daily Updates resumed as normal for impacted feature types.

Please note that we advise against using counts from the OS NGD Building Part Feature Type with a temporal filter set between 02 February 2025 and 24 February 2025 as the counts may not be accurate due to the impact of the improvement work on a small number of topographic features.

3D geometry missing in GeoPackage format for some feature types in the OS NGD Transport Network and Water Network Collections

In the OS NGD Transport Network Collection and OS NGD Water Network Collection, there are multiple feature types that contain 3D geometry. We are aware of an issue where 3D geometry is not being supplied in the GeoPackage format. This issue impacts the following feature types: Connecting Link, Connecting Node, Ferry Link, Ferry Node, Path Link, Path Node, Road Link, Road Node, Water Link and Water Node. Customers taking CSV format will not be affected.

26/11/2024

This issue was resolved on 26 November 2024. To receive updated data:

  • Customers who have only ordered once: Customers will need to re-order to receive the corrected data.

  • Monthly Update Customers: 01 December monthly updates with corrected data will be supplied as normal.

  • Annual Update Customers: 01 January annual updates with corrected data will be supplied as normal.

Topographic features missing from four feature types

From 26 September 2024 to 31 October 2024, an issue affected the following four OS NGD feature types, causing features to be missing from the data:

  • OS NGD Building Part Feature Type: ~80 000 features are missing from data schema v2.0 compared to data schema v1.0.

  • OS NGD Land Feature Type: ~38 000 features are missing from data schema v3.0 compared to data schema v2.0.

  • OS NGD Water and OS NGD Structure Feature Types: ~100 features are missing in total across both feature types from data schema v3.0 compared to data schema v2.0.

For example, where an affected Building feature should be visible, a blank area will instead be seen, creating a ā€˜gap’:

31/10/2024

This issue was resolved on 31 October 2024. Any data ordered or provided after this date will include the fixed data.

Please note, we advise against using counts from the four aforementioned affected OS NGD feature type datasets when taking historic snapshots of data between 26 September 2024 and 31 October 2024 as the counts may not be accurate due to the missing topographic features.

OS NGD Address Theme resolved data issues

Data Issue Name
Original Description for Data Issue
Data Issue Resolution Date
Resolution Message

UPRNs incorrectly in both Pre-Build Address and Built Address Feature Type tables

Four UPRNs (Unique Property Reference Numbers) incorrectly appear in both feature types: 10096454138, 10096454142, 10096759815, 10096759820.

This issue is being prioritised and an update will be provided as soon as the issue has been fixed.

19/03/25

The issue has now been resolved and the UPRNs only appear in one feature type.

OS NGD Administrative and Statistical Units Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Buildings Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Geographical Names Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Land Theme resolved data issues

Data Issue Name
Original Description for Data Issue
Data Issue Resolution Data
Resolution Message

Site count discrepancies for some Land features

In a small number of instances, the Containing Site Count attribute presents the wrong value in Land features. This error only impacts 0.7% of Land features, and we expect it to be fixed by early October 2024.

12/10/2024

This issue was resolved on 12 October 2024. Any data ordered or provided after this date will include the fixed data.

OS NGD Land Use Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Structures Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Transport Theme resolved data issues

Data Issue Name
Original Description for Data Issue
Data Issue Resolution Date
Resolution Message

Duplicate Street Light features

There are around 84 000 Street Light features that are duplicated in Milton Keynes, Bedford and surrounding areas. This means that in this area, each street Light geometry is replicated twice; however, each geometry will still have its own unique OSID.

03/04/2025

This issue was resolved on 03 April 2025. Customers who take monthly updates will see this fix in the next update on 01 May 2025.

Incorrect Street Light coverage values on Road Links

We are aware of an issue that has caused a small number of incorrect values for Street Light coverage attribution on Road Links. Impacted Road Links will have a Presence Of Street Light Coverage attribute value that does not align with the evidence of street light presence in the Street Light Feature Type.

For example, a Road Link that has Street Lights features along it may have a coverage value of 'Fully Unlit' when it does in fact have Street Light features alongside it.

This issue affects approximately 0.45% of Road Links.

03/04/2025

This issue was resolved on 03 April 2025. Customers who take monthly updates will see this fix in the next update on 01 May 2025.

Incorrect speed values

Speed data is supplied quarterly from our third-party supplier. We have identified an issue in which OS have not correctly processed this data. This has resulted in possible incorrect values in the Average and Indicative Speed Feature Type.

25/07/2024

This issue was resolved on 25 July 2024. Any data ordered or provided after this date will include the fixed data.

Welsh speed limit changes

On 17 September 2023, default 20 mph speed limits were introduced across Wales. We are aware that these changes are not yet reflected in the Average and Indicative Speed Feature Type. Speed limit data is supplied by our third-party supplier quarterly. The most recent supply occurred before the Welsh speed limit changes took place and therefore will not be reflected in the OS NGD until the next supply. We expect the updated Welsh speed limits to be in NGD from December 2023.

13/12/2023

This issue was resolved on 13 December 2023. Any data ordered or provided after this date will include updated Welsh speed limit data.

Incorrect speed values

In the Average and Indicative Speed Feature Type, the indicative speed value for individual Road Links can be inferred by Ordnance Survey. We are aware that in certain instances some of these indicative speed values are incorrect. We are working to resolve this issue and have an approximate implementation date of the start of July 2023. This issue impacts just over 2% (174 000) of the total Road Links in the Average and Indicative Speed Feature Type.

02/07/2023

This issue was resolved on 02 July 2023. Any data ordered or provided after this date will include the fixed data.

OS NGD Water Theme resolved data issues

No current resolved data issues to note for this theme.

OS NGD Address

Introduction to the theme

The OS NGD Address Theme provides a complete and definitive view of UK address data. It's designed to underpin a range of analytical use cases and provide the most detailed view of an address and its lifecycle.

The OS NGD Address Theme contains all of the address data found in the AddressBase Premium product:

  • Local Authority and Royal Mail postal addresses

  • Lifecycle data

  • Addresses for features that are not conventionally addressable (such as warehouses, car parks, etc.)

  • Multi-lingual addresses

  • Alternative addresses

However, the OS NGD Address Theme builds on the AddressBase Premium data by providing data with up to daily currency that is simple to use, understand and interrogate. This makes the data more accessible to non-address experts as it is easy to plug and play it into databases or a GIS.

The theme is interoperable with other OS NGD themes through cross-reference information and the Unique Property Reference Number (UPRN) as the key identifier, allowing you to easily combine multiple datasets to answer analytical questions.

Address data is collated from Local Land and Property Gazetteers (LLPG), which are maintained by Local Authorities in England and Wales, and also from Local Authorities in Scotland, who maintain the Corporate Address Gazetteer (CAG). These data sources are supplemented by the Royal Mail Postcode Address File (PAF), references to Valuation Office Agency (VOA) data in England and Wales, and additional addresses and coordinates from Ordnance Survey.

Please note that the OS NGD Address Theme is only available via OS Select+Build and is not available via OS NGD API – Features or OS NGD API – Tiles.

Data structure

The OS NGD Address Theme is made up of the OS NGD GB Address and OS NGD Islands Address Collections, and each collection is comprised of five feature types: Built Address, Historic Address, Non-Addressable Object, Pre-Build Address, and Street Address.

The five feature types for each collection are supported by four additional related components which provide supplementary information against each UPRN. The four additional related components are:

Unique identifiers

Four unique identifiers are provided with each feature within the OS NGD Address Theme:

  • Unique Property Reference Number (UPRN): The primary identifier and unique key for this theme. A UPRN is a unique and persistent numeric identifier for every addressable location in Great Britain. Each address record has a UPRN, assigned by Local Authorities in England, Wales and Scotland or Ordnance Survey depending on the type of address. Throughout its lifecycle, information on the address of a property can change. This may be due to a change of name, change of use, or the eventual demolition of the property. Independent of any changes being made the UPRN associated to an address is never changed, meaning the unique identifier remains persistent and reliable.

  • Unique Street Reference Number (USRN): A USRN is a unique and persistent identifier for a street which is curated by Local Authority custodians in England, Wales or Scotland.

  • OSID (Ordnance Survey Identifier): A primary identifier and unique key used in other OS NGD themes. OSIDs are referenced in the OS NGD Address Theme for purposes of cross-refencing to other themes.

  • TOID (Topographic Identifier): An additional secondary identifier which can aid further data linking. TOIDs are an optional attribute and therefore will not always be provided with every feature.

Useful links

GB Address

The OS NGD GB Address Collection is a complete, analytical and authoritative addressing dataset for Great Britain. It is designed to provide a detailed view of an address and its lifecycle.

Collection applications

The OS NGD GB Address Collection allows you to:

  • Keep your address data current with up to daily updates.

  • Utilise the richness of Local Authority data and analyse addresses by their classification, postal status and build status to create a detailed picture of a given area.

  • Carry out spatial analysis and aggregation using the accurate rooftop coordinates provided for each address.

  • Easily identify and download addresses by pre-build, built and historic lifecycle stages.

  • Use the Unique Property Reference Number (UPRN) to easily link different data sets right down to a single address.

Key elements

  • Up to daily updates to data.

  • New simplified data model means there’s no need to be an addressing expert to use the data.

  • Plug and play – the data is simple and quick to implement as you don't need to pre-process it before you use it.

  • Rich attribution ensures the data is straightforward to navigate and query.

  • Persistent unique identifiers with lifecycle information.

  • The ability to select addresses from a specific lifecycle state (for example, Built Address and Pre-Build Address).

  • Full UK address coverage available via accessing the OS NGD GB Address and Islands Address Collections together.

  • New cross-references make it easy for you to link data in this collection with data from other OS NGD collections.

Coverage

Great Britain.

Default coordinate reference system

British National Grid (EPSG: 27700).

Temporal filtering

The earliest date on which you can request a one-off snapshot of a date in the past for data in this collection is noted at the top of the individual feature type pages.

Supply formats

GeoPackage or CSV (comma-separated values).

Supply mechanism

Using our data

  • Included in the Public Sector Geospatial Agreement (PSGA) – therefore, it's free at point of use for Public Sector organisations.

  • Available to OS Partners for commercial resell in your solutions.

Current Known Data Issues

This page lists known current live data issues in relation to the OS National Geographic Database (NGD) themes, collections and feature types.

Generic OS NGD current known data issues

The generic data issue in the table below impacts multiple OS NGD themes:

Data Issue Name
Data Issue Description
Data Issue Identification Date

Very small number of features not being given the correct 'End of Life' change type

There are 319 features (out of 600+ million) which reside within the 'features' collections (i.e. any OS NGD collection which has a name of 'OS NGD XXX Features', for example, OS NGD Transport Features) that have not been given the correct 'End of Life' change type. This means that these features still reside within the supply but should be deleted.

29/09/2022

OS NGD Address Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Incorrect change type for addresses moving between feature types

In a very small number of cases, when an address moves between feature types, such as moving from Pre-Build Address to Built Address, the change type given is incorrect.

The address 'leaving' the Pre-Build Address Feature Type is correctly marked 'Moved To', but when it enters the Built Address Feature Type, it is incorrectly marked as 'New' rather than 'Moved From'.

This issue impacts address feature types in both data schema versions (i.e. data schema versions 1.0 and 2.0).

Your Change-Only Update (COU) processing will still work correctly, and your data holdings will be complete, but the address will have been incorrectly marked as 'New'.

May 2023

OS NGD Administrative and Statistical Units Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Three missing parishes from the Parish Or Community Feature Type

The Margaret March, Tollard Royal and Marlow Bottom Civil Parish (CP) within the Parish Or Community Feature Type (data schema version 1.0) are missing from the current (May 2025) release of data.

This issue is currently being investigated and we are working to fix it for a future release.

July 2024

Historic European Region Feature Type

This feature type (data schema version 1.0) contains updates made to the boundaries post 01 April 2021 (when the feature type was frozen in the Boundary-Line product). This means that there will be differences between the boundaries accessed via our OS OpenData pages and those accessed via OS NGD.

08/07/2024

OS NGD Buildings Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Incorrect building height values for some multi-storey properties with a single storey annexe

Some residential two-storey properties with a large adjoining single storey are returning as a single storey when created using machine learning (due to incorrect building height values), for example, two-storey houses with attached garages or large rear extensions.

TBC

Minor confusion between roofs of similar appearance

When capturing roof type data through our aerial capture program, there can be some confusion between buildings with glass roofs or an evacuated tube collector and those with solar panels present. As a result, buildings with glass roofs may be incorrectly attributed with solar panel presence.

This is something we aim to address in future iterations of roof type data for the Building Feature Type.

27/03/2025

Inconsistent caravan roof shape

Large static caravans will have inconsistent roof shapes due to the shallow-pitched nature of their roofs, making it difficult to ascertain true shape.

27/03/2025

Additional in-scope buildings included in the Number of Floors data

Some notable non-residential and non-office buildings that meet the scope will be included (for example, several cathedrals and arenas) and will have values for the Number of Floors attributes.

25/09/2024

Some in-scope residential buildings are excluded from the Number of Floors data

Some in-scope residential buildings have no values for the Number of Floors attributes (for example, new builds, and buildings failing height validation rules).

25/09/2024

Some apartment block buildings are excluded from the Number of Floors data

Apartment blocks that have their address geometry situated in the stairwell of the building and have their building geometry segregated due to the Land Use Site Feature Type will not get values for the Number of Floors attributes.

25/09/2024

OS Geographical Names Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Poor linking between Crowd Sourced Name Point features and other OS NGD features

We are actively improving the linking between Crowd Sourced Name Point features (data schema version 1.0) and other OS NGD features, so some updates are expected; these updates will be delivered through standard change-only updates (COUs).

27/03/2025

OS NGD Land Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Nullified Access Purpose attribute for certain Site Access Location features

Some key public sites have refused access to surveyors and so will have their Access Purpose attribute nullified for the Site Access Location feature (data schema version 2.0 only as this attribute is not available for data schema version 1.0).

27/03/2025

OS NGD Land Use Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Uppercase and lowercase variations of two description values in Site Feature Type data schema v1.2

The two affected values are:

  • Education Support Site

  • Public Waste Disposal Site

The OS NGD access services of OS NGD API – Features and OS Select+Build validate against the data schema, meaning both versions of the description values must be retained to facilitate filtering.

The lowercase values (i.e. Education Support site and Public Waste Disposal site) should be used to filter and retrieve historical features (before 25/09/24), while the uppercase values (i.e. Education Support Site and Public Waste Disposal Site) should be used for records after this date.

This issue only affects data schema version 1.2 of Site; data schema v2.0 of Site was launched with the casing standards consistently applied.

November 2023

OS NGD Structures Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Temporal differences to data currency for bridge interactions

Bridges in the OS NGD Structure Features Collection are updated daily, whereas networks in the OS NGD Transport Network Collection and the OS NGD Water Network Collection are updated monthly and quarterly, respectively.

25/09/2024

Completeness for bridge interactions

On rare occasions where Network Over and Network Under attribution cannot be identified (i.e. disused bridges or viaducts over dry valleys) for Compound Structure Feature Type features (data schema version 2.0), the attributes will not be populated (i.e. will be ā€˜null’).

25/09/2024

Overlapping of stacked bridges

Where bridges cross one other, it can be difficult to identify the correct networks running over and / or under each bridge. This impacts Compound Structure Feature Type features (data schema version 2.0).

25/09/2024

Mersey Railway Tunnels and Westferry Circus Tunnel missing

The Mersey Railway Tunnels and Westferry Circus Tunnel are not included in the initial release of data schema v2.0 of the Compound Structure Feature Type.

TBC

Some underground Structure features are missing from the Habitat Coverage cross reference table

Three underground Structure features with an OS Land Cover Tier B attribute of ā€˜Coniferous Trees’, ā€˜Non-Coniferous Trees’, ā€˜Scattered Coniferous Trees’ or ā€˜Scattered Non-Coniferous Trees’ are missing from the corresponding Habitat Coverage Reference cross reference table. This issue impacts the Land Feature Type.

15/04/2024

Overlapping Field Boundary

features exist

Approximately 20 000 Field Boundary Feature Type features (data schema version 1.0) are overlapping. This issue is currently being investigated.

27/03/2024

Field Boundary data quality

At the time of launch of the Field Boundary Feature Type (March 2024; data schema version 1.0), areas of Great Britain were still to be quality checked and will be improved as part of OS’s continuous quality review programme when updated imagery is available. Most of the known data quality errors are either in Moorland areas or where imagery was captured earlier in the year and vegetated features are ā€˜leaf-off’. The downloadable file below (last updated in August 2024) contains the status of each 10km² area relating to the quality of the Field Boundary feature classification.

27/03/2024

OS NGD Transport Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Rail Network referencing errors

1 Railway Link feature (data schema version 1.0; OSID of e14ea5cf-0d9c-4417-884d-16604d5b3208) is not connected to a Railway Node feature (data schema version 1.0) at one or both ends, and 100 Railway Node features (data schema version 1.0) are not coincident with the start or end of the Railway Link features (data schema version 1.0) that reference them. This issue is currently being investigated.

01/03/2025

Road Links with unexpected pavement update dates

64 Road Link features (data schema versions 2.0, 3.0 and 4.0) with an incorrect Presence of Pavement Update Date attribute date value in the future (2999). The update date should reflect when the attribute was last updated, so it should never be a future date. This issue is currently being investigated.

01/05/2024

Mismatches between Road Link Directionality attribution and Average Speed attribution

There are 1 652 Road Link features (data schema versions 1.0, 2.0, 3.0 and 4.0) where the Directionality attribution of the Road Link and the attribution describing average speeds are not in sympathy (for example, the Road Link is in Both Directions, but average speed attribution is only available for one of the directions). Some instances of this are a result of the Road Network being updated monthly and speed information being updated six-monthly; however, the remaining instances where this does not apply are being investigated.

01/04/2024

Road Links with unexpected 0 values for pavement width attributes

179 Road Link features (data schema versions 2.0, 3.0 and 4.0) where we would expect their Presence of Pavement Minimum Width M and Presence of Pavement Average Width M attributes to be populated have a value of 0 for these attributes. This issue is currently being investigated.

01/04/2024

Unexpected references for Street features in the Highway Dedication Network Reference cross reference table

Where the Highway Dedication Network Reference cross reference table (used by Highway Dedication features, data schema v1.0) references a Street feature (data schema version 1.0), the Network Reference ID attribute is populated with an OSID rather than a USRN as is expected for Street features. This issue is currently being investigated.

01/03/2024

Street to Road Link and Street to Path Link reference tables refer to non-existent features

4 025 records in the Street to Road Link reference table and 1 144 records in the Street to Path Link reference table refer to Road Link or Path Link features which no longer exist. This issue is currently being investigated.

01/03/2024

Small number of referencing errors in the Road and Path Network

1 Road Link feature (data schema version 4.0), 3 Path Link features (data schema version 2.0), and 11 Connecting Link features (data schema version 1.0) reference non-existent Road Node features (data schema version 1.0), Path Node features (data schema version 1.0), or Connecting Node features (data schema version 1.0), and 2 Path Node features (data schema version 1.0) are unreferenced by any existing Path Link features. This issue is currently being investigated.

01/09/2023

OS NGD Water Theme current known data issues

Data Issue Name
Data Issue Description
Data Issue Identification Date

Unexpectedly null Level of Detail values for Water Links

Approximately 993 000 Water Link features (data schema version 1.0) incorrectly have a null Level of Detail attribute value. All Water Links should have this value populated. This issue is currently being investigated.

05/10/2023

Unexpectedly null Catchment Name and Catchment ID for Water Links

Approximately 950 000 Water Link features (data schema version 1.0) incorrectly have a null Catchment Name and Catchment ID. Only links which straddle catchment boundaries or sit entirely outside catchments should have null values in these attributes. This issue is currently being investigated.

03/10/2023

Unexpected Water Link names

Approximately 400 Water Link features (data schema version 1.0) are not being named as expected: Name 1 Text / Name 2 Text attribute populated with the name from the longest (by length) named waterway; Name Secondary 1 Text attribute populated with the name of the next longest named waterway, etc. This issue is currently being investigated.

24/07/2023

Water Link features with an End Node attribute value of 'MissingXRef'

Approximately 2 000 Water Link features (data schema version 1.0) erroneously have an End Node attribute value of 'MissingXRef'. This may cause problems with validation as the value is not a valid OSID. This issue is currently being investigated.

04/04/2023

Invalid geometries in Waterbody Catchment and River Basin District Catchment features

Some polygons for Waterbody Catchment and River Basin District Catchment features (data schema version 1.0) have invalid geometries in the form of self-intersections, holes, and gaps. Instances of self-intersection are primarily due to the gridded digital terrain model (DTM) used to generate the catchment data provided by the third-party data from authoritative bodies.

28/03/2023

Incorrect representation of a Waterbody Catchment name

The Barlings Eau Upper catchment name is incorrectly displayed. This is as per the third-party data from the authoritative bodies.

28/03/2023

Non-unique Waterbody Catchment IDs

Two instances occur where the Waterbody Catchment ID is not unique for Waterbody Catchment features (data schema version 1.0): GB109056040082 and GB104027063230. This is as per the third-party data from the authoritative bodies.

28/03/2023

Certain Waterbody Catchment features do not nest exactly within a River Basin District Catchment

A total of 14 instances occur where Waterbody Catchment features (data schema version 1.0) do not nest exactly within their associated River Basin District Catchment features (data schema version 1.0). This is as per the third-party data from the authoritative bodies.

28/03/2023

Built Address

The Built Address Feature Type represents local authority addresses that are currently built and live and can typically receive mail, deliveries, or services. For example, homes, shops, schools and hospitals.

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

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Built Address Feature Type.

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). This includes numbers that contain a range, decimals or non-numeric characters, for example 1-11 and 10A.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Data Structure Information

This section gives an overview of the OS NGD data structure and details the data available for each OS NGD theme, collection and feature type.

Overview of the OS NGD data structure

OS NGD data is different from our other products because you access it from a single source where you'll find the data you need without having to download whole datasets. It also has a simpler data structure, designed to help you answer questions and develop more intelligent solutions, with quicker loading and implementation.

OS NGD data has been categorised to make it easier and quicker for you to discover the data you need:

  • Themes: Geographic data of Great Britain is structured into nine themes of related items.

  • Collections: Each theme is made up of one or more collections, which in turn have feature types.

  • Feature types: Feature types are the most granular level, with objects (features) grouped by geometry or classification.

We recommend that you refer to the OS NGD Fundamentals pages as you work your way through this Data Structure section.

Explore OS NGD data

Content in this section is ordered by themes, collections and feature types, mirroring the OS NGD data structure itself. This level of categorisation should make it easier and quicker for you to discover the data you need.

For example, if you are interested in water or river data, then you should select 'OS NGD Water' from the card below or the left-hand-side navigation menu, then drill down through the collections to the water feature type(s) that interest you.

What's next?

Collection

OpenLayers

Accessing OS NGD API – Tiles via OpenLayers

OpenLayers is easy to use and can be integrated with a variety of other web development frameworks.

What you'll need

  • A text editor like Visual Studio Code or Notepad to edit and save your HTML and JavaScript files.

1

Set up your HTML file

  • Create a new HTML file with a text editor (for example, Notepad, Visual Studio Code).

  • Add the basic HTML structure to your file with a placeholder <div> for the map.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>OS NGD API – Tiles | Template (EPSG:3857) | OpenLayers</title>
    
    <!--Add the Ordnance Survey Styling-->
    <link rel="stylesheet" href="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.css" />
    <script src="https://labs.os.uk/public/os-api-branding/v0.3.1/os-api-branding.js"></script>
    
    <!--Add the OpenLayers libraries-->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/ol@v7.3.0/ol.css" />
    <script src="https://cdn.jsdelivr.net/npm/ol@v7.3.0/dist/ol.js"></script>
    <script src="https://unpkg.com/ol-mapbox-style@9.7.0/dist/olms.js"></script>
        
    <style>
        /* Set the map container size and style */
        body { margin: 0; padding: 0; }
        #map { position: absolute; top: 0; bottom: 0; width: 100%; }
    </style>
</head>
<body>
    
    <!--Create a div element to hold the map-->
    <div id="map"></div>
    
    <!--Add your Javascript code below--> 
    <script>
        // Your Javascript code will go here

    </script>

</body>
</html>
2

Insert your API Key

  • To enable access to OS APIs an API Key is required. Inside the <script> tag, add a variable called apiKey, replacing 'INSERT_API_KEY_HERE' with the API Key from your project.

  • Inside the <script> tag, add another variable called collectionId with the collection ID for the OS NGD API – Tiles basemap – ngd-base.

// Set API Key and collection ID
 const apiKey = 'INSERT_API_KEY_HERE';
 
 const collectionId = 'ngd-base';
3

Tile grid set up

  • To correctly render the vector tiles within OpenLayers, you will need to fetch the defined EPSG:3857 Tile Matrix Set and style definitions from the OS NGD API – Tiles service. The two endpoints provide information about the structure of the vector tiles and how the styles are to be applied.

  • A promise.all is used to process the data to ensure that both requests are completed before proceeding.

  • Based on the fetched Tile Matrix Set data, a tile grid is defined using the ol.tilegrid.TileGrid class. The tile grid provides information about the resolution, origin and tile sizes to handle the vector tiles correctly.

  • Add the following code inside the JavaScript block:

// Define the Tile Grid and style

const tmsPromise = fetch('https://api.os.uk/maps/vector/ngd/ota/v1/tilematrixsets/3857').then((response) => response .json());
const glStylePromise = fetch(`https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/styles/3857`).then((response) => response .json());

Promise.all([tmsPromise, glStylePromise]).then((values) => {
    const tms = values[0];
    const glStyle = values[1];

    const tilegrid = new ol.tilegrid.TileGrid({
        resolutions: tms.tileMatrices.map(({ cellSize }) => cellSize),
        origin: tms.tileMatrices[0].pointOfOrigin,
        tileSize: [ tms.tileMatrices[0].tileHeight, tms.tileMatrices[0].tileWidth ]
    });

4

Define a vector tile layer

  • Define the a new vector tiles layer and source that will be used to fetch vector tiles from OS NGD API – Tiles. The ol.layer.VectorTile uses a ol.source.OGCVectorTile source to retrieve tiles from the API.

  • After creating the vector layer, you will need to use a style function to ensure that the Ordnance Survey styles are applied to each tile. Use the olms.applyStyle function to retrieve the style sheets available for the basemap.

// Define the vector tile layer.
    const formatMvt = new ol.format.MVT();
    formatMvt.supportedMediaTypes.push('application/octet-stream');

    const vectorTileLayer = new ol.layer.VectorTile({
        source: new ol.source.OGCVectorTile({
            url: `https://api.os.uk/maps/vector/ngd/ota/v1/collections/${collectionId}/tiles/3857?key=${apiKey}`,
            format: formatMvt,
            projection: 'EPSG:3857',
            tileGrid: tilegrid
        }),
        declutter: true
    });

// Apply a style function to the vector tile layer.
    olms.applyStyle(
        vectorTileLayer,
        glStyle,
        collectionId,
        { styleUrl: null } ,
        tilegrid.getResolutions()
    );
5

Create a map and map view

  • Initialize the map object using the ol.map class to configure the vector tile layer and define its properties – target, layers and view.

// Initialize the map object.
    const map = new ol.Map({
        layers: [ vectorTileLayer ],
        target: 'map',
        view: new ol.View({
            projection: 'EPSG:3857',
            extent: ol.proj.transformExtent([ -10.76418, 49.528423, 1.9134116, 61.331151 ], 'EPSG:4326', 'EPSG:3857'),
            resolutions: tilegrid.getResolutions(),
            minZoom: 6,
            maxZoom: 19,
            center: ol.proj.fromLonLat([ -3.541809, 50.727589 ]),
            zoom: 17
        })
    });
});

The above code creates the main map instance using the OpenLayers library where you can specify various properties:

  • target: Defines where the map should be displayed. In this instance it is set to the ID of the <div> element.

  • layers: An array containing the layers to be added to the map.

  • view: Defines the initial view of the main, containing various settings such as projection, extent (the geographic bounds of the map), minimum and maximum zoom levels, centre of the map and the initial zoom level.

What's next?

Congratulations! You've successfully created a vector map using OpenLayers using OS NGD API – Tiles in a few steps.

Islands Address

The OS NGD Islands Address Collection is a complete, analytical and authoritative addressing dataset for Northern Ireland, the Channel Islands and the Isle of Man. It is designed to provide a detailed view of an address and its lifecycle.

Collection applications

The OS NGD Islands Address Collection allows you to:

  • Keep your address data current with up to daily updates.

  • Utilise the richness of additional attribution about each address and analyse addresses by their classification, postal status and build status to create a detailed picture of a given area.

  • Carry out spatial analysis and aggregation using the accurate rooftop coordinates provided for each address.

  • Easily identify and download addresses by pre-build, built and historic lifecycle stages.

  • Use the Unique Property Reference Number (UPRN) to easily link different data sets right down to a single address.

Key elements

  • Up to daily updates to data.

  • New simplified data model means there’s no need to be an addressing expert to use the data.

  • Plug and play – the data is simple and quick to implement as you don't need to pre-process it before you use it.

  • Rich attribution ensures the data is straightforward to navigate and query.

  • Persistent unique identifiers with lifecycle information.

  • The ability to select addresses from a specific lifecycle state (for example, Built Address and Pre-Build Address).

  • Full UK address coverage available via accessing the OS NGD GB Address and Islands Address Collections together.

  • New cross-references make it easy for you to link data in this collection with data from other OS NGD collections.

Coverage

Northern Ireland, the Channel Islands, and the Isle of Man.

Default coordinate reference system

European Terrestrial Reference System 89 (EPSG: ETRS89).

Temporal filtering

The earliest date on which you can request a one-off snapshot of a date in the past for data in this collection is noted at the top of the individual feature type pages.

Supply formats

GeoPackage or CSV (comma-separated values).

Supply mechanism

Using our data

  • Included in the Public Sector Geospatial Agreement (PSGA) – therefore, it's free at point of use for Public Sector organisations.

  • Available to OS Partners for commercial resell in your solutions.

Non-Addressable Object

The Non-Addressable Object Feature Type represents local authority and Ordnance Survey captured features that are currently live but are objects that would not be expected to be able to receive mail or deliveries. These objects typically represent structures or sites rather than buildings that somebody could conceivably live, work or engage in leisure activities within. For example, ponds and static water sites, public parks and telephone boxes.

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

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Non-Addressable Object Feature Type.

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Street Address

The Street Address Feature Type provides street address information for any road, footpath, cycleway, byway, or bridleway that has been uniquely identified by the local Highway Authority, or Street Naming and Numbering authority and provides access to an address.

Temporal filtering

The earliest date on which you can request a one-off snapshot of a date in the past for data in this feature type is 02 November 2022.

Any data temporally filtered earlier than the specified earliest date noted above for the data schema version may contain data inconsistencies.

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.

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

streettype

Description of the street record type, for example, whether the Street has an official designated street name.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 33

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

classification

A code for the primary street classification, for example, denoting it to be 'open to all vehicles'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 26

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

operationalstate

Description of the current state of the Street, indicating which point the street record is at within its lifecycle.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 18

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

operationalstatedate

Date at which the Street achieved its current state in the world, as referenced by the 'operationalState' attribute.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

townname

Name of the settlement that the Street is located within. A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

administrativearea

Name of the Administrative Unit that the Address is located within.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

alternatelanguageadministrativearea

Name of the Administrative Unit that the Address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

snnauthoritycode

Alphanumeric code which identifies the Street Naming and Numbering Authority or the Local Highway Authority

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 4

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

snnauthoritydescription

Name of the responsible Street Naming and Numbering Authority or Local Highways Authority

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0

surfacematerial

Description indicating the type of surface finish on the Street, for example, 'Metalled'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 10

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

starteasting

X coordinate in metres for the position of the start point of the street defined in British National Grid (EPSG::27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

startnorthing

Y coordinate in metres for the position of the start point of the street defined in British National Grid (EPSG::27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

endeasting

X coordinate in metres for the position of the end point of the street defined in British National Grid (EPSG::27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

endnorthing

Y coordinate in metres for the position of the end point of the street defined in British National Grid (EPSG::27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

startlatitude

Value defining the Latitude of the position of the start point of the street defined in accordance with the ETRS89 (EPSG::4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

startlongitude

Value defining the Longitude of the position of the start point of the street defined in accordance with the ETRS89 (EPSG::4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

endlatitude

Value defining the Latitude of the position of the end point of the street defined in accordance with the ETRS89 (EPSG::4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

endlongitude

Value defining the Longitude of the position of the end point of the street defined in accordance with the ETRS89 (EPSG::4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

  • Geometry Type: MultiPoint

streettolerance

The tolerance of the Start and End Location coordinates in metres.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

effectiveenddate

The date on which the record ceased to exist

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0

Pre-Build Address

The Pre-Build Address Feature Type represents local authority addresses that will be able to receive mail, deliveries or services, where the property is either yet to be built but has been granted planning permission, or is under construction. Pre-build addresses can take the format of a development site, a plot number, or a definitive address for property units.

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

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Pre-Build Address Feature Type.

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Historic Address

The Historic Address Feature Type represents local authority addresses that are no longer in existence. This can occur as a result of demolition or the merging of two built properties to become one new single address, or the splitting of a single property into multiple flats for example.

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

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Historic Address Feature Type.

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Built Address

The Built Address Feature Type represents local authority addresses that are currently built and live and can typically receive mail, deliveries, or services. For example, homes, shops, schools and hospitals.

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

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Built Address Feature Type.

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence block in a university as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Non-Addressable Object

The Non-Addressable Object Feature Type represents local authority and Ordnance Survey captured features that are currently live but are objects that would not be expected to be able to receive mail or deliveries. These objects typically represent structures or sites rather than buildings that somebody could conceivably live, work or engage in leisure activities within. For example, ponds and static water sites, public parks and telephone boxes.

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

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Historic Address

The Historic Address Feature Type represents local authority addresses that are no longer in existence. This can occur as a result of demolition or the merging of two built properties to become one new single address, or the splitting of a single property into multiple flats for example.

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

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

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.

uprn

Unique Property Reference Number (UPRN) assigned by a local custodian or Ordnance Survey as a persistent identifier.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versiondate

Date when the version was last updated.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailablefromdate

The date this version of the feature became the latest version.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

versionavailabletodate

The date this version of the feature was superseded by an update or ceased to exist.

  • Data Types: DateTime (GPKG), DateTime (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

changetype

The type of change that generated a new version of the feature.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

theme

The OS NGD theme to which this feature belongs.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 40

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

description

A single descriptive value intended for a quick understanding of what the feature represents.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

organisationname

The organisation name is the business name given to an Address. For example: TOURIST INFORMATION CENTRE. This field could also include entries for churches, public houses and libraries.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

poboxnumber

Text concatenation of 'PO BOX' and the Post Office Box (PO Box) number or the British Forces Post Office (BFPO) number.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

subname

The SubName is the secondary description for subdivisions of properties. For example: SubName: 'CRYNANT LIBRARY', Name: 'CRYNANT COMMUNITY CENTRE'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

name

The name is the English language primary description applied to an address, for example: 'SWANSEA UNIVERSITY BAY CAMPUS' (Welsh: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE'). This attribute will also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

number

The number gives a unique numeric identifier for addresses on a given street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

streetname

Name, number or descriptor that identifies the nearest accessable Street that an Address is located on or close to.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

locality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within. For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

townname

Name of the settlement that the Street is located within. Where a settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

islandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcode

The postcode unit that the Address is situated within. A postcode is an abbreviated form of address, made up of combinations of between five and seven alphanumeric characters. These alphanumeric characters are used by Royal Mail to help with the automated sorting of mail. A postcode may cover between 1 and 100 addresses. Postcodes (for example, NW6 4DP) are comprised of two components. The first component is the outward code (or ā€˜outcode’), which is the first two to four characters of a postcode, constituting the postcode area and the postcode district, for example, NW6. The outward code is the part of the postcode that enables mail to be sent from the accepting office to the correct area for delivery. The second component of a postcode is the inward code (or ā€˜incode’), which is the last three characters of the postcode, constituting the postcode sector and the postcode unit, for example, 4DP. The inward code is used to sort mail at the local delivery office. This field will contain the Royal Mail Postcode Address File (PAF) postcode where the Local Authority address has been matched to PAF. Where a match has not been made, the postcode information is sourced from Local Authority assigned data. In cases where the Local Authority do not hold a valid postcode, a spatial nearest neighbour function is used to spatially derive the postcode from the closest Address with a valid postcode.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 8

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

fulladdress

Concatenation of the following address components: organisation (Pre-Build and Built Address Feature Types only), subname and / or name and / or number, streetname, locality, townname, islandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

country

Name of the geographical territory that the Address is located within, where a geographical territory represents either a devolved country or an island nation.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 16

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagesubname

The alternateLanguageSubName is the alternate language secondary description for subdivisions of properties. For example: alternateLanguageSubName: 'LLYFRGELL Y CREUNANT', alternateLanguageName: 'CANOLFAN CYMUNED CREUNANT'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagename

The alternateLanguageName is the alternate language primary description applied to an address, for example: 'CAMPWS Y BAE PRIFYSGOL ABERTAWE' (English: 'SWANSEA UNIVERSITY BAY CAMPUS'). This attribute may also include numbers when the name contains non-numeric characters, such as 44A. Some descriptive names, when included with the rest of the address, are sufficient to identify the property uniquely and unambiguously, for example, MAGISTRATES COURT. Sometimes the name will be a blend of distinctive and descriptive naming, for example, RAILWAY TAVERN (PUBLIC HOUSE) or THE COURT ROYAL (HOTEL).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 110

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagenumber

The alternateLanguageNumber gives a unique numeric identifier for addresses on each street, for example, '11' (per Local Authority Street Naming and Numbering conventions). Numbers that contain a range, decimals or non-numeric characters do not appear in this field but will be found in the Name or the subName attributes.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 13

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagestreetname

Name, number or descriptor that identifies the nearest accessable street that an Address is located on or close to, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla).

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 100

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagelocality

Name of the area or geographical identifier within a town, settlement, village or hamlet that an address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). For example, a locality may be a suburb, housing estate or commercial estate.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguagetownname

The name of the settlement that the address is located within, defined in either Welsh (cym) or Gaelic / Scottish Gaelic (gla). A settlement can be a City, Town, Village, Hamlet or Parish.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

alternatelanguageislandname

Name of the island upon which an Address is located. Note: This attribute is currently only populated in the OS NGD Islands Address Collection.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 50

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguage

ISO 3166-3 Language Code for Welsh or Gaelic / Scottish Gaelic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 3

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

alternatelanguagefulladdress

Concatenation of the following alternate language address components: organisation (Pre-Build and Built Address Feature Types only), alternatelanguagesubname and / or alternatelanguagename and / or alternatelanguagenumber, alternatelanguagestreetname, alternatelanguagelocality, alternatelanguagetownname, alternatelanguageislandname and postcodelocator.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 500

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

floorlevel

Floor level represents either: the access point to the Address, or the floor level or levels that the Address is located on fully occupies or represents occupiable space within the property.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 30

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

lowestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the first value provided will be taken as the lowest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Lowest Floor Level is -1. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Lowest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, lowestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

highestfloorlevel

In cases where the Floor Level attribute contains a list of floor levels (for example, where a commercial organisation occupies multiple levels within a building), the last value provided will be taken as the highest floor level. For example, where Floor Level attribute values are given as -1, 0, 1, 2, 3, the Highest Floor Level is 3. Mezzanine levels may be represented by a partial number, for example, 1.5. If the Floor Level attribute only contains one value, that value will also be used by the Highest Floor Level attribute.

This attribute is derived from Floor Level attribute data. Where the floorlevel field is NULL, highestfloorlevel values will also be NULL.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 3

  • Scale: 1

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

classificationcode

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 6

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

classificationdescription

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 230

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

primaryclassificationdescription

A descriptive term used to describe the primary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

secondaryclassificationdescription

A descriptive term used to describe the secondary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

tertiaryclassificationdescription

A descriptive term used to describe the tertiary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

quaternaryclassificationdescription

A descriptive term or collection of terms used to describe the quaternary classification code of this address.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 120

  • OS Select+Build Filterable: No

  • Data Schema Version: 2.0

buildstatus

A description of the build status of the land and property unit represented by an Address, for example, 'Built In Use'.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 12

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

buildstatusdate

Date when the land and property unit entered the lifecycle state given in 'buildStatus'.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

addressstatus

The lifecycle status of a given Address, for example, Prebuild, Built or Historic.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 11

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

postcodesource

Identifies the source of the postcode assigned to an address. This attribute can be used to identify properties capable of recieving mail as defined by Royal Mail for PAF matched address records, or as defined by Local Authorities for records which are not PAF matched but which are believed to be capable of receiving mail. For example, flats behind a front door with single letter box.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 75

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

parentuprn

Unique Property Reference Number (UPRN) of the parent record if a parent-child relationship exists.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

rootuprn

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the root UPRN will display the Unique Property Reference Number (UPRN) for the top level AddressableObject in the parent-child structure, which in this example is the Grandparent UPRN.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

hierarchylevel

In instances where an address sits in a hierarchy (for example, Child UPRN – Parent UPRN – Grandparent UPRN), the Hierarchy Level attribute will describe the position of the given UPRN within the overall set of relationships. Using a flat within a Halls of Residence Block in a University as an example, this would be described in the following way: FLAT 1 is the Child UPRN at the lowest level and its hierarchy level will be 3; its parent UPRN is BLOCK H, which will have a hierarchy level of 2; BLOCK H has, in turn, a Parent UPRN of EXETER UNIVERSITY, which will have a hierarchy level of 1.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

usrn

The Unique Street Reference Number (USRN), a unique and persistent identifier of a Street which is assigned by the Roads or Highway Authority.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

usrnmatchindicator

Description of the type of match made between the Unique Property Reference Number (UPRN) and its Unique Street Reference Number (USRN). A value of 1 is matched manually to the most accessible USRN, and a value of 2 is matched spatially to the nearest USRN, which may not be the nearest accessible street.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 17

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

localcustodiancode

Numeric code identifying the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: Integer (GPKG), Integer (CSV)

  • Nullable: false

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

localcustodiandescription

Name of the authority responsible for assigning the Unique Property Reference Number (UPRN), creating the address record and maintaining the address record.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 35

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

lowertierlocalauthoritygsscode

The Office for National Statistics Governmental Statistical Service (GSS) code representing the lower tier local authority.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: true

  • Max Length: 9

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

easting

X coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 8

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

northing

Y coordinate defining the position of the object in accordance with the British National Grid (EPSG:27700) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: true

  • Precision: 9

  • Scale: 2

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

latitude

Value defining the latitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

longitude

Value defining the longitude of the Address location in accordance with the ETRS89 (EPSG:4258) coordinate reference system.

  • Data Types: Float (GPKG), Real (CSV)

  • Nullable: false

  • Precision: 9

  • Scale: 7

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

geometry

Geometry for the feature.

  • Data Types: Geometry (GPKG), WKT (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

  • Geometry Type: Point

positionalaccuracy

Local Authority assigned value giving a description of the accuracy of the coordinate position allocated to the Address location, for example, 'Central Internal Position' of a building.

  • Data Types: String (GPKG), String (CSV)

  • Nullable: false

  • Max Length: 25

  • OS Select+Build Filterable: Yes

  • Data Schema Version: 1.0, 2.0

effectivestartdate

The date on which this record was inserted into the Local Authority database.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: false

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

effectiveenddate

The date on which the record ceased to exist.

  • Data Types: Date (GPKG), Date (CSV)

  • Nullable: true

  • OS Select+Build Filterable: No

  • Data Schema Version: 1.0, 2.0

Retrieve the list of geospatial data collections available from this service.

get
Responses
200
The collections of (mostly geospatial) data available from this API. The dataset contains one or more collections. This resource provides information about and access to the collections. The response contains the list of collections. Each collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is provided, with the corresponding relation type, as well as key information about the collection. This information includes: * a local identifier for the collection that is unique for the dataset; * a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude); * an optional title and description for the collection; * an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data; * for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve the set of OS NGD API – Tiles conformance classes that are supported by this service.

get
Responses
200
The URIs of all conformance classes supported by the server
application/json
Responseall ofExample: {"conformsTo":["http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html","http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30","http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tilesets-list","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-tilesets","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/dataset-tilesets","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-selection","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/jpeg","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/png","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/mvt","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geojson","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tiff","http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/netcdf"]}
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Live Service Disruption and Planned Maintenance

This page notes planned downtime due to maintenance or shutdown periods. Unexpected interruptions to product availability, releases and updates will also be displayed.

Current Known Data Issues

This page lists known current live data issues for the OS NGD themes, collections and feature types.

Resolved Data Issues

This page lists resolved data issues for the OS NGD themes, collections and feature types.

OS NGD News

Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

Data Structure

Learn about the OS NGD data structure and the data available for each theme, collection and feature type.

Code Lists

Access all of the code lists for the OS NGD.

OS NGD Fundamentals

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Getting Started

Our getting started guides will help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.

OS NGD Sample Data

Download OS NGD sample data or visualise it online.

osngd-resources/styling at main Ā· OrdnanceSurvey/osngd-resourcesGitHub

The OS NGD is available to OS Partners and to public sector organisations who are members of the Public Sector Geospatial Agreement (PSGA). OS Select+Build and the OS NGD APIs can be accessed via the on either the .

What's the PSGA?

The PSGA (Public Sector Geospatial Agreement) sets out how Ordnance Survey (OS) provides world-leading location data and expertise to the public sector across Britain. It supports the delivery of critical infrastructure and services, as well as working to help protect our environment. 

, including the benefits of joining, instructions on how to access OS data, success stories, support, registration process information and instructions, and a PSGA Member finder tool to check if your organisation is already a member.

The OS NGD is available to OS Partners and to public sector organisations who are members of the Public Sector Geospatial Agreement (PSGA). OS Select+Build and the OS NGD APIs can be accessed via the on either the .

What's the PSGA?

The PSGA (Public Sector Geospatial Agreement) sets out how Ordnance Survey (OS) provides world-leading location data and expertise to the public sector across Britain. It supports the delivery of critical infrastructure and services, as well as working to help protect our environment. 

, including the benefits of joining, instructions on how to access OS data, success stories, support, registration process information and instructions, and a PSGA Member finder tool to check if your organisation is already a member.

OS NGD API – Features landing page

get
Responses
200
Ordnance Survey National Geographic Database API – Features landing page.
application/json
400
The request was not supported.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

OS NGD API – Features conformance page

get
Responses
200
Ordnance Survey National Geographic Database API – Features conformance page.
application/json
400
The request was not supported.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

Get list of all OS NGD feature collections

get

Get a list of all the available OS NGD feature collections

Responses
200
All Ordnance Survey National Geographic Database feature collections.
application/json
400
The request was not supported.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

Get a single OS NGD feature collection

get

Get information about an OS NGD feature collection

Path parameters
collectionIdstring Ā· enumRequired

A known collection ID.

Example: bld-fts-building-1Possible values:
Responses
200
A single Ordnance Survey National Geographic Database feature collection.
application/json
400
The request was not supported.
404
Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

Get a list of queryable attributes for this feature collection

get
Path parameters
collectionIdstring Ā· enumRequired

A known collection ID.

Example: bld-fts-building-1Possible values:
Responses
200
A list of queryable attributes and their types for this feature collection.
application/json
400
The queryable request is not supported. Please refer to documentation for examples.
404
Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

Retrieve features in the feature collection

get
Authorizations
Path parameters
collectionIdstring Ā· enumRequired

A known collection ID.

Example: bld-fts-building-1Possible values:
Query parameters
bboxnumber[] Ā· min: 4 Ā· max: 6Optional

The optional bbox parameter specifies a supported bounding box. Only features that have a geometry that intersects the bounding box are selected. The bounding box is provided as four comma-separated numbers: Lower left corner, coordinate axis 1 (e.g. min x axis) Lower left corner, coordinate axis 2 (e.g. min y axis) Upper right corner, coordinate axis 1 (e.g. max x axis) Upper right corner, coordinate axis 2 (e.g. max y axis)The default coordinate reference system of the values is WGS 84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84) unless a different coordinate reference system is specified in the parameter bbox-crs.

Example: [-0.183678,51.474968,-0.068321,51.540143]
bbox-crsstring Ā· enumOptional

The coordinate reference system of the bbox parameter. It must be a 2D coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

Possible values:
crsstring Ā· enumOptional

The coordinate reference system of the response geometries. It must be a coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

Possible values:
datetimestringOptional

Either a local date, a date-time with UTC time zone (Z) or an open or closed interval. Open ranges in time intervals at the start or end are supported using a double-dot (..) or an empty string for the start/end. Date and time expressions adhere to RFC 3339. Examples:A date-time: '2021-12-12T23:20:50Z'A closed interval: '2021-12-12T00:00:00Z/2021-12-18T12:31:12Z'Open intervals: '2021-12-12T00:00:00Z/..' or '../2021-12-18T12:31:12Z'An interval until now: '2018-02-12T00:00:00Z/..' or '2018-02-12T00:00:00Z/'Selects features that have a temporal property that intersects the value of the parameter.

Example: 2018-02-12T00:00:00Z/..
limitinteger Ā· min: 1 Ā· max: 100Optional

The optional limit parameter limits the number of items that are presented in the response document. Minimum = 1. Maximum = 100. Default = 100.

offsetintegerOptional

The optional offset parameter skips past the specified number of features in the collection. Minimum = 0. Default = 0.

filterstringOptional

The optional filter parameter is a filter expression in CQL format which is applied when retrieving resources to determine which resources are included in a result set.

filter-crsstring Ā· enumOptional

Specify which of the supported CRSs to use to encode geometric values in a filter expression. It must be a 2D coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

Possible values:
filter-langstring Ā· enumOptional

The optional filter-lang parameter is the specific language used for the filter parameter. Default = cql-text

Possible values:
Responses
200
A list of features in a feature collection.
application/geo+json
400
The items request is not supported. Please refer to documentation for examples.
404
Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
504
The request has timed out. Please check the service availability dashboard: https://osdatahub.os.uk/serviceStatus .
get

Retrieve a feature from the feature collection

get
Authorizations
Path parameters
collectionIdstring Ā· enumRequired

A known collection ID.

Example: bld-fts-building-1Possible values:
featureIdstringRequired

A feature ID which is the identifier(id) for the feature.

Example: 11111111-1111-1111-1111-111111111111
Query parameters
crsstring Ā· enumOptional

The coordinate reference system of the response geometries. It must be a coordinate reference system supported by the collection. Default is WGS84 longitude/latitude (http://www.opengis.net/def/crs/OGC/1.3/CRS84).

Possible values:
Responses
200
A single feature in the feature collection.
application/geo+json
400
The feature request contains elements that are not supported. Please refer to documentation for examples.
404
The feature collection '{collectionId}' or feature with id:'{featureId}' could not be found. Please check it is a supported collection or feature.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
504
The request has timed out. Please check the service availability dashboard: https://osdatahub.os.uk/serviceStatus .
get

Get schema for a single OS NGD feature collection

get
Path parameters
collectionIdstring Ā· enumRequired

A known collection ID.

Example: bld-fts-building-1Possible values:
Responses
200
Schema for an Ordnance Survey National Geographic Database feature collection.
*/*
400
The schema request is not supported. Please refer to documentation for examples.
404
Collection '{collectionId}' is not a supported Collection. Please refer to the documentation for a list of supported Collections.
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
406
A request header value was not supported.
get

Retrieve the OS NGD API – Tiles landing page for this service.

get
Responses
200
The landing page provides links to the API definition (link relation `service-desc`, in this case path `/api`), to the Conformance declaration (path `/conformance`, link relation `conformance`), and to the Collections of geospatial data (path `/collections`, link relation `data`).
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve the list of available tiling schemes (tile matrix sets)

get
Responses
200
List of tile matrix sets (tiling schemes).
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve the definition of the specified tiling scheme (tile matrix set)

get
Path parameters
tileMatrixSetIdstring Ā· enumRequired

Identifier for a supported TileMatrixSet

Possible values:
Responses
200
tile matrix set
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve a list of available vector tilesets for the specified collection.

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
Responses
200
List of available tilesets.
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve the vector tileset metadata for the specified collection and tiling scheme (tile matrix set)

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
tileMatrixSetIdstring Ā· enumRequired

Identifier for a supported TileMatrixSet

Possible values:
Responses
200
Description of the tileset
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve a vector tile from a collection.

get
Authorizations
Path parameters
tileMatrixstringRequired

Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.

Example: 15
tileRowintegerRequired

Row index of the tile on the selected TileMatrix.

Example: 11179
tileColintegerRequired

Column index of the tile on the selected TileMatrix.

Example: 16558
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
tileMatrixSetIdstring Ā· enumRequired

Identifier for a supported TileMatrixSet

Possible values:
Responses
200
A vector tile returned as a response.
application/octet-stream
Responsestring Ā· binary
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve a vector tile from a collection for Web Mercator Quad EPSG: 3857 tile matrix set.

get
Authorizations
Path parameters
tileMatrixstringRequired

Identifier selecting one of the scales defined in the TileMatrixSet and representing the scaleDenominator the tile.

Example: 15
tileRowintegerRequired

Row index of the tile on the selected TileMatrix.

Example: 11179
tileColintegerRequired

Column index of the tile on the selected TileMatrix.

Example: 16558
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
Responses
200
A vector tile returned as a response.
application/octet-stream
Responsestring Ā· binary
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Retrieve the list of styles available from this service.

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
Responses
200
List of available styles.
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Root level properties of a style specify the map's layers, tile sources and other resources, and default values for the initial camera position when not specified elsewhere.

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
styleIdstring Ā· enumRequired

An identifier representing a specific style.

Possible values:
Responses
200
OK
*/*
Responseobject
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

Styling resources such as fonts and sprites

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
styleIdstring Ā· enumRequired

An identifier representing a specific style.

Possible values:
resourceBaseNamestringRequired

Styling resourece base name.

Example: sprites
Responses
200
OK
*/*
Responseobject
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get

New section created for OS NGD NEWS, with four pages moved to this section (, , and .

New section created for DATA AND SERVICE STATUS, with three pages moved to this section (, and ).

ACCESSING OS NGD section renamed as GETTING STARTED and various pages moved into this section (, , , , , and .

GETTING STARTED section renamed as INTRODUCTION TO OS NGD and various pages moved into this section (, , and .

New page added to the site: .

OS NGD Core Principles renamed as .

Product Announcements page content moved to the bottom of the new landing page as a sub-section called Recent Announcements.

Landing pages (, , , and ) added for all sections. These pages use navigation cards to show what content is available in the section. What's Next sections with navigation cards and links added to all new landing pages to improve the customer experience.

content updated. New navigation cards added to the bottom of the page to show what's available on the site.

New page added to the site: . The page highlights recent improvements OS has made to the data that are not connected to the biannual big data releases in spring and autumn.

Pages added for the new , , and Feature Types.

Four major data schema versions released for existing feature types: (v4.0), (v2.0), (v4.0), (v2.0):

Updates made to the page to reflect the new attribution for Roof Shape, Roof Aspect, Roof Material, Solar Panel Presence, Green Roof Presence and Building Height, as supplied with data schema version 4.0.

Updates made to the page to reflect the addition of new Street Light attribution, as supplied with data schema version 2.0.

Updates made to the page to reflect the addition of new Street Light attribution, as supplied with data schema version 4.0.

Updates made to the page to reflect new Access Purpose attribution, as supplied with data schema version 2.0.

Seven minor data schema versions released for existing feature types: (v2.1), (v3.1), (v3.1), (v3.1), (v2.2), (v3.1) and (v3.1).

Updates made to the pages (in the ā€˜USING NGD DATA’ section) to reflect the release of the new Building Access Location Feature Type (v1.0) and the addition of new attribution in the Building Feature Type (v4.0) for Roof Shape, Roof Aspect, Roof Material, Solar Panel Presence, Green Roof Presence and Building Height.

Updates made to the pages (in the ā€˜USING NGD DATA’ section) to reflect the addition of the new Street Light Feature Type to the OS NGD Transport Features Collection and the addition of new Street Light attribution in the Path Link Feature Type (v2.0) and Road Link Feature Type (v4.0).

Updates made to the following three OS NGD theme pages: , , and .

Updates made to the following five OS NGD collection pages: , , , , and .

Updates made to the following pages:, , , , , , and .

OS Premium Download Products section deleted from the OS NGD Documentation site. Documentation for the (OS MRN) and (OS ESG) products was moved to the .

Updates made to the page to reflect the release of new sample data connected to the March 2025 OS NGD data enhancements for the following OS NGD collections: Building Features, Land Use Features, Named Features, Structure Features, Transport Features, and Transport Network.

Publication of new page: .

Former 'Known Data Issues' page split into two pages: and .

What's New?

Change Log

OS NGD Improvements

Future OS NGD Data Enhancements

Data and Service Status

OS NGD Key Benefits to Customers

OS NGD Sample Data

OS NGD Fundamentals

Getting Started

FAQs

Data Structure

Code Lists

Please see the page for details about current live data issues issues.

Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the .

: These contain delivery point data from the Royal Mail PAF.

: These provide additional VOA classification information.

: These contain cross-reference information to other OS NGD themes or third-party data sets.

For more information, please see the .

An is available on our site. This guide details the layers, formats, and attribution available for OS NGD Address data.

Accessed through the via OS Select+Build. It can't be accessed through OS NGD API – Features or OS NGD API – Tiles.

As and when we resolve a known data issue, we will move it to the page. To report an issue that's not currently listed on these pages, please use the .

Any live interruptions to the availability of OS NGD API – Features and OS NGD API – Tiles will be documented on the .

Two in data schema v1.2 of the contain duplicates with uppercase and lowercase variations. Data schema v1.0 of Site was launched incorrectly with two description values that did not align with OS casing standards, and on 25 September 2024 the data and related code list were updated to fix this issue.

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

More in-depth information about OS NGD data terminology (themes, collections, feature types) is available from the – these pages cover core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

is a free and open-source JavaScript library for displaying interactive maps on the web. It is a powerful tool that can be used to create a wide variety of map-based applications, from simple web maps to complex GIS applications.

OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See for more information.

Now you can continue to explore Ordnance Survey's to learn more about advanced features and functionality, such as adding markers, pop-ups, and additional layers.

Accessed through the via OS Select+Build. It can't be accessed through OS NGD API – Features or OS NGD API – Tiles.

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Version ↓
Launch Date
Latest Date
Change

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Version ↓
Launch Date
Latest Date
Change

Please see for in-depth information about data schema versioning in the OS NGD.

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

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Alphanumeric code used to classify the object using the AddressBase Classification Scheme, which is available to download from the .

Description of the classification code as defined in the AddressBase Classification Scheme, which is available to download from the .

Code List Name:

Code List Name:

Code List Name:

Code List Name:

Code List Name:

What's New?
Change Log
OS NGD Improvements
Future OS NGD Data Enhancements
Live Service Disruption and Planned Maintenance
Current Known Data Issues
Resolved Data Issues
OS NGD Fundamentals
Downloading with OS Select+Build
Accessing OS NGD APIs
Styling OS NGD Data
OS NGD Webinars, Tutorials and Case Studies
FAQs
OS NGD Explained
OS NGD Key Benefits to Customers
OS NGD Sample Data
OS NGD Product Viewer Tool
OS NGD Explained
OS NGD Fundamentals
OS NGD News
Introduction to OS NGD
Getting Started Information
OS NGD News
Data and Service Status Information
Data Structure Information
Homepage
OS NGD Improvements
Building Access Location
Crowd Sourced Name Point
Street Light
Building
Path Link
Road Link
Site Access Location
Building Feature Type
Path Link Feature Type
Road Link Feature Type
Site Access Location Feature Type
Building Part
Land
Rail
Road Track Or Path
Site
Structure
Water
OS NGD Buildings
OS NGD Transport
Buildings
Geographical Names
Transport
Building Features
Land Use Features
Named Features
Transport Features
Transport Network
What's New?
Current Known Data Issues
OS NGD Fundamentals – Data schema versioning
OS NGD Fundamentals – Data ordering and currency
Future OS NGD Data Enhancements
OS NGD Webinars, Tutorials and Case Studies
OS NGD API – Features – What data is available?
FAQs
OS Multi-modal Routing Network
OS Emergency Services Gazetteer
OS Download Products' Documentation site
OS NGD Sample Data Information
Live Service Disruption and Planned Maintenance
Current Known Data Issues
Resolved Data Issues
Current Known Data Issues
Service Availability Dashboard on the OS Data Hub
Alternate Address
Postal Address
Other Classification
Related Entity
Related Components page
introductory guide to OS NGD Address data
More than Maps
OS Data Hub
Resolved Data Issues
'Contact us' section of the OS website
Service Availability Dashboard on the OS Data Hub
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
OS NGD Fundamentals pages
OpenLayers
code examples
OS Data Hub
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
changetypevalue
themevalue
streetdescriptionvalue
addressstreettypevalue
streetclassificationvalue
streetstatevalue
countryvalue
languagevalue
streetsurfacevalue
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
Data schema version table
Data schema version table
Data schema version table
Data schema version table
Data schema version table

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Non-Addressable Object Feature Type.

2.0

28 March 2023

Ongoing

Major version increment adding new attribution for Full Address, Alternate Language Full Address, Lowest Floor Level, Highest Floor Level, Primary Classification Description, Secondary Classification Description, Tertiary Classification Description and Quaternary Classification Description.

1.0

02 November 2022

Ongoing

Initial launch of the Historic Address Feature Type.

GET /features/ngd/ofa/v1/ HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "title": "text",
  "description": "text",
  "links": [
    {
      "href": "text",
      "rel": "text",
      "type": "text",
      "title": "text"
    }
  ]
}
GET /features/ngd/ofa/v1/conformance HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "conformsTo": [
    "text"
  ]
}
GET /features/ngd/ofa/v1/collections HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "links": [
    {
      "href": "text",
      "rel": "text",
      "type": "text",
      "title": "text"
    }
  ],
  "crs": [
    "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
  ],
  "collections": [
    {
      "id": "text",
      "title": "text",
      "description": "text",
      "crs": [
        "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
      ],
      "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
      "itemType": "text",
      "extent": {
        "spatial": {
          "bbox": [
            [
              1
            ]
          ],
          "crs": "text"
        },
        "temporal": {
          "interval": [
            [
              "text"
            ]
          ],
          "trs": "text"
        }
      },
      "links": [
        {
          "href": "text",
          "rel": "text",
          "type": "text",
          "title": "text"
        }
      ]
    }
  ]
}
GET /features/ngd/ofa/v1/collections/{collectionId} HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "id": "text",
  "title": "text",
  "description": "text",
  "crs": [
    "http://www.opengis.net/def/crs/OGC/1.3/CRS84"
  ],
  "storageCrs": "http://www.opengis.net/def/crs/OGC/1.3/CRS84",
  "itemType": "text",
  "extent": {
    "spatial": {
      "bbox": [
        [
          1
        ]
      ],
      "crs": "text"
    },
    "temporal": {
      "interval": [
        [
          "text"
        ]
      ],
      "trs": "text"
    }
  },
  "links": [
    {
      "href": "text",
      "rel": "text",
      "type": "text",
      "title": "text"
    }
  ]
}
GET /features/ngd/ofa/v1/collections/{collectionId}/queryables HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "$schema": "text",
  "$id": "text",
  "type": "text",
  "title": "text",
  "description": "text",
  "properties": {
    "ANY_ADDITIONAL_PROPERTY": {
      "title": "text",
      "type": "text",
      "format": "text",
      "maxLength": 1,
      "pattern": "text",
      "description": "text",
      "hierarchy": "text",
      "parent": "text",
      "child": "text",
      "minItems": 1,
      "maxItems": 1,
      "items": {
        "title": "text",
        "type": "text",
        "format": "text",
        "maxLength": 1,
        "pattern": "text",
        "description": "text",
        "hierarchy": "text",
        "parent": "text",
        "child": "text",
        "minItems": 1,
        "maxItems": 1,
        "items": {
          "title": "text",
          "type": "text",
          "format": "text",
          "maxLength": 1,
          "pattern": "text",
          "description": "text",
          "hierarchy": "text",
          "parent": "text",
          "child": "text",
          "minItems": 1,
          "maxItems": 1,
          "items": {
            "title": "text",
            "type": "text",
            "format": "text",
            "maxLength": 1,
            "pattern": "text",
            "description": "text",
            "hierarchy": "text",
            "parent": "text",
            "child": "text",
            "minItems": 1,
            "maxItems": 1,
            "items": "[Circular Reference]",
            "enum": [
              "text"
            ]
          },
          "enum": [
            "text"
          ]
        },
        "enum": [
          "text"
        ]
      },
      "enum": [
        "text"
      ]
    }
  }
}
GET /features/ngd/ofa/v1/collections/{collectionId}/items HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "type": "text",
  "links": [
    {
      "href": "text",
      "rel": "text",
      "type": "text",
      "title": "text"
    }
  ],
  "timeStamp": "2025-06-10T01:51:00.984Z",
  "features": [
    {
      "id": "text",
      "type": "text",
      "geometry": {
        "type": "text",
        "coordinates": [
          {
            "x": 1,
            "y": 1
          }
        ]
      },
      "properties": {
        "ANY_ADDITIONAL_PROPERTY": {}
      }
    }
  ]
}
GET /features/ngd/ofa/v1/collections/{collectionId}/items/{featureId} HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "id": "text",
  "type": "text",
  "geometry": {
    "type": "text",
    "coordinates": [
      {
        "x": 1,
        "y": 1
      }
    ]
  },
  "properties": {
    "ANY_ADDITIONAL_PROPERTY": {}
  }
}
GET /features/ngd/ofa/v1/collections/{collectionId}/schema HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {}
}
GET /maps/vector/ngd/ota/v1/ HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "title": "OS NGD API",
  "description": "Ordnance Survey National Geographic Database API",
  "links": [
    {
      "href": "http://data.example.org/",
      "rel": "self",
      "type": "application/json",
      "title": "this document"
    },
    {
      "href": "http://data.example.org/api?f=json",
      "rel": "service-desc",
      "type": "application/vnd.oai.openapi+json;version=3.0",
      "title": "the API definition"
    },
    {
      "href": "http://data.example.org/api",
      "rel": "service-doc",
      "type": "text/html",
      "title": "the API documentation"
    },
    {
      "href": "http://data.example.org/conformance",
      "rel": "conformance",
      "type": "application/json",
      "title": "OGC API conformance classes implemented by this service"
    },
    {
      "href": "http://data.example.org/collections",
      "rel": "data",
      "type": "application/json",
      "title": "Information about the collections"
    }
  ]
}
GET /maps/vector/ngd/ota/v1/tilematrixsets HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "tileMatrixSets": [
    {
      "id": "text",
      "title": "text",
      "uri": "https://example.com",
      "crs": "https://example.com",
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ]
    }
  ]
}
GET /maps/vector/ngd/ota/v1/tilematrixsets/{tileMatrixSetId} HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "title": "text",
  "id": "text",
  "uri": "https://example.com",
  "orderedAxes": [
    "text"
  ],
  "crs": "https://example.com",
  "wellKnownScaleSet": "https://example.com",
  "tileMatrices": [
    {
      "id": "text",
      "scaleDenominator": 1,
      "cellSize": 1,
      "cornerOfOrigin": "topLeft",
      "pointOfOrigin": [
        1
      ],
      "tileWidth": 1,
      "tileHeight": 1,
      "matrixHeight": 1,
      "matrixWidth": 1
    }
  ]
}
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "links": [
    {
      "href": "http://data.example.com/buildingpart/123",
      "rel": "alternate",
      "type": "application/geo+json",
      "templated": true,
      "varBase": "/ogcapi/vars/",
      "hreflang": "en",
      "title": "Building Part",
      "length": 1
    }
  ],
  "tilesets": [
    {
      "id": "3857",
      "title": "text",
      "dataType": "map",
      "crs": "https://example.com",
      "tileMatrixSetURI": "https://example.com",
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ]
    }
  ]
}
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrixSetId} HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "description": "text",
  "tileMatrixSetLimits": [
    {
      "tileMatrix": "text",
      "minTileRow": 1,
      "maxTileRow": 1,
      "minTileCol": 1,
      "maxTileCol": 1
    }
  ],
  "layers": [
    {
      "description": "text",
      "id": "text",
      "dataType": "map",
      "geometryType": "text",
      "maxTileMatrix": "text",
      "minTileMatrix": "text",
      "propertiesSchema": {
        "type": "object",
        "properties": {
          "ANY_ADDITIONAL_PROPERTY": {
            "type": "array",
            "enum": [
              {}
            ]
          }
        }
      }
    }
  ],
  "boundingBox": {
    "lowerLeft": [
      1
    ],
    "upperRight": [
      1
    ],
    "crs": "https://example.com"
  },
  "id": "3857",
  "title": "text",
  "dataType": "map",
  "crs": "https://example.com",
  "tileMatrixSetURI": "https://example.com",
  "links": [
    {
      "href": "http://data.example.com/buildingpart/123",
      "rel": "alternate",
      "type": "application/geo+json",
      "templated": true,
      "varBase": "/ogcapi/vars/",
      "hreflang": "en",
      "title": "Building Part",
      "length": 1
    }
  ]
}
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol} HTTP/1.1
Host: api.os.uk
Accept: */*
binary
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/tiles/{tileMatrix}/{tileRow}/{tileCol} HTTP/1.1
Host: api.os.uk
Accept: */*
binary
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "links": [
    {
      "href": "http://data.example.com/buildingpart/123",
      "rel": "alternate",
      "type": "application/geo+json",
      "templated": true,
      "varBase": "/ogcapi/vars/",
      "hreflang": "en",
      "title": "Building Part",
      "length": 1
    }
  ],
  "styles": [
    {
      "id": "text",
      "title": "text",
      "links": [
        {
          "href": "http://data.example.com/buildingpart/123",
          "rel": "alternate",
          "type": "application/geo+json",
          "templated": true,
          "varBase": "/ogcapi/vars/",
          "hreflang": "en",
          "title": "Building Part",
          "length": 1
        }
      ]
    }
  ]
}
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles/{styleId} HTTP/1.1
Host: api.os.uk
Accept: */*
{}
GET /maps/vector/ngd/ota/v1/collections/{collectionId}/styles/{styleId}/{resourceBaseName}/** HTTP/1.1
Host: api.os.uk
Accept: */*
{}
GET /maps/vector/ngd/ota/v1/collections HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "links": [
    {
      "href": "http://data.example.org/collections",
      "rel": "self",
      "type": "application/json",
      "title": "All collections"
    }
  ],
  "collections": [
    {
      "id": "buildingpart",
      "title": "Building Part",
      "description": "Polygon feature representing a building.",
      "extent": {
        "spatial": {
          "bbox": [
            [
              -8.82,
              49.79,
              1.92,
              60.94
            ]
          ]
        },
        "temporal": {
          "interval": [
            [
              "2022-08-27T00:00:00Z",
              null
            ]
          ]
        }
      },
      "links": [
        {
          "href": "http://data.example.org/collections/buildingpart/items",
          "rel": "items",
          "type": "application/geo+json",
          "title": "Building Part"
        }
      ]
    }
  ]
}
GET /maps/vector/ngd/ota/v1/conformance HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "conformsTo": [
    "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/core",
    "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/json",
    "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/html",
    "http://www.opengis.net/spec/ogcapi-common-1/1.0/conf/oas30",
    "http://www.opengis.net/spec/ogcapi-common-2/1.0/conf/collections",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/core",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tileset",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tilesets-list",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-tilesets",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/dataset-tilesets",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geodata-selection",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/jpeg",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/png",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/mvt",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/geojson",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/tiff",
    "http://www.opengis.net/spec/ogcapi-tiles-1/1.0/conf/netcdf"
  ]
}
Road Link
Road Link Feature Type

Retrieve the description of a collection available from this service.

get
Path parameters
collectionIdstring Ā· enumRequired

Local identifier of a collection

Possible values:
Responses
200
Information about a particular collection of (mostly geospatial) data available from this API. The collection is accessible via one or more OGC API set of specifications, for which a link to relevant accessible resources, e.g. /collections/{collectionId}/(items, coverage, map, tiles...) is contained in the response, with the corresponding relation type, as well as key information about the collection. This information includes: * a local identifier for the collection that is unique for the dataset; * a list of coordinate reference systems (CRS) in which data may be returned by the server. The first CRS is the default coordinate reference system (the default is always WGS 84 with axis order longitude/latitude); * an optional title and description for the collection; * an optional extent that can be used to provide an indication of the spatial and temporal extent of the collection - typically derived from the data; * for collections accessible via the Features or Records API, an optional indicator about the type of the items in the collection (the default value, if the indicator is not provided, is 'feature').
application/json
400
The request was not supported.
application/json
404
The requested resource does not exist on the server. For example, a path parameter had an incorrect value.
application/json
405
The HTTP method requested is not supported. This endpoint only supports 'GET' requests.
application/json
406
A request header value was not supported.
application/json
500
A server error occurred.
application/json
504
Gateway Timeout.
application/json
get
GET /maps/vector/ngd/ota/v1/collections/{collectionId} HTTP/1.1
Host: api.os.uk
Accept: */*
{
  "id": "buildingpart",
  "title": "Building Part",
  "description": "Polygon feature representing a building.",
  "extent": {
    "spatial": {
      "bbox": [
        [
          -8.82,
          49.79,
          1.92,
          60.94
        ]
      ]
    },
    "temporal": {
      "interval": [
        [
          "2022-08-27T00:00:00Z",
          null
        ]
      ]
    }
  },
  "links": [
    {
      "href": "http://data.example.org/collections/buildingpart/items",
      "rel": "items",
      "type": "application/geo+json",
      "title": "Building Part"
    }
  ]
}
OS Maps API
Getting started with an API project
OS Maps API
OS Vector Tile API
Getting started with an API project
Getting started with an API project
Getting started with an API project
OS Maps API
OS Vector Tile API
Getting started with an API project
OS Maps API
OS Vector Tile API
Getting started with an API project
Getting started with an API project
Getting started with an API project
Getting started with an API project
Getting started with an API project
Getting started with an API project
Getting started with an API project
Getting started with an API project
šŸ†•
šŸ“œ
šŸ”§
šŸš€
āš™ļø
✨
šŸ—ŗļø
šŸ“–
ā–¶ļø
ā“
šŸ—ƒļø
šŸ“
āš™ļø
šŸ”§
āœ…
šŸ“£
šŸ—ƒļø
šŸ“
šŸ“–
ā–¶ļø
šŸ—ŗļø
OS Data Hub
Premium Plan or Public Sector Plan
Find out more about the PSGA by visiting the OS website
OS Data Hub
Premium Plan or Public Sector Plan
Find out more about the PSGA by visiting the OS website
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
Data schema versioning
Getting started with temporal filtering guide
changetypevalue
themevalue
addressdescriptionvalue
countryvalue
languagevalue
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
AddressBase Classification Scheme page of the OS Download Products’ Documentation site
buildstatusvalue
addressstatusvalue
addressbasepostalvalue
usrnmatchindicatorvalue
positionalaccuracyvalue
Data schema version table
Data schema version table
Site Access Location
Building Part
Building
Building
Buildings
Site Feature Type
description values

Access all of the code lists for the OS NGD.

OS NGD Fundamentals covers the core elements of OS NGD design, including available data formats and file naming, data schema versioning, access methods, data ordering and currency, attribute information for feature types, unique identifiers and coordinate reference systems.

Our getting started guides will help you access, use and style OS NGD data. You'll also find FAQs, in-depth information on OS NGD design, and webinars, tutorials and case studies.

Learn about new data enhancements and service updates released for the OS NGD, the change log, improvements, planned future data enhancements and recent announcements.

Find out about OS NGD planned maintenance, any live service disruption, current data issues and resolved data issues.

Download OS NGD sample data or visualise it online.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

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 .

For instructions on loading CSV files, see the guide.

Code Lists

OS NGD Fundamentals

Getting Started

OS NGD News

Data and Service Status

OS NGD Sample Data

šŸ“
šŸ“–
ā–¶ļø
šŸ“£
āš™ļø
šŸ—ŗļø
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
OS NGD Resources GitHub repository
Getting Started with CSV
Logo

There are two access methods for OS NGD data:

  • (the download service)

OS Select+Build
OS NGD APIs
here
12MB
BFH_BackwardsInTime_ProdFeatures.xlsx
63KB
Field_Boundary_Status_August_2024.xlsx
The eight key benefits of OS NGD to customers - these benefits are described in detail in the text on this page.
The key benefits of OS NGD to customers.
Infographic showing OS NGD terminology: themes, collections, feature types and features.
OS NGD terminology: themes, collections, feature types and features.
Image showing a simple map of Great Britain. The 9 OS NGD data themes names are listed: Address, Administrative and Statistical Units, Buildings, Geographical Names, Land, Land Use, Structures, Transport, and Water.
The nine OS NGD data themes.
Infographic showing the OS NGD access methods as of May 2023. The OS NGD can be accessed via OS Select+Build or two NGD-specific APIs.
OS NGD access methods.
Screenshot from a feature type page on the OS NGD Documentation platform showing where data schema version information is held for an attribute.
Data schema version information is held against each attribute listed on a feature type page.
Diagram showing a worked example of data schema versioning in the OS NGD. The diagram is explained fully in the accompanying text on the page.
Worked example of how data schema versioning works in the OS NGD.
Screenshot of the FME Add Reader button.
FME Add Reader button.
Screenshot showing the FME Add Reader dialog.
FME Add Reader dialog.
Screenshot showing the FME OGC GeoPackage Parameters dialog.
FME OGC GeoPackage Parameters dialog.
Screenshot showing the FME GeoPackage Select Tables dialog.
FME GeoPackage Select Tables dialog.
Screenshot of the CadCorp SIS Add Overlay button.
CadCorp SIS Add Overlay button.
Screenshot of the CadCorp SIS Add Overlay dialog.
CadCorp SIS Add Overlay dialog.
Screenshot of the CadCorp SIS Add Overlay browser dialog.
CadCorp SIS Add Overlay browser dialog.
Screenshot showing the QGIS Add Vector Layer menu.
QGIS Add Vector Layer menu.
Screenshot showing the Data Source Manager – Vector dialog in QGIS,
Data Source Manager – Vector dialog in QGIS.
Screenshot showing the Select Items to Add dialog in QGIS.
Select Items to Add dialog in QGIS.
Screenshot showing how to create a new project in ArcGIS Pro.
Screenshot showing how to create a new project in ArcGIS Pro.
Screenshot of the Add Data button in ArcGIS Pro.
Add Data button
Screenshot of the Add Data dialog in ArcGIS Pro.
Add Data dialog in ArcGIS Pro.
Screenshot of the Add Data layer selection dialog in ArcGIS Pro.
Add Data layer selection dialog in ArcGIS Pro.
Screenshot of the ArcMap Add Data button.
ArcMap Add Data button.
Screenshot of the Add Data dialog in ArcMap.
Add Data dialog in ArcMap.
Screenshot of the Add Data layer selection dialog in ArcMap.
Add Data layer selection dialog in ArcMap.
OS Data Hub screenshot, showing part of the theme selection tree in OS Select+Build. A filter icon is visible against the Building Part Feature Type. The Building Part Feature Type has been selected.
Screenshot showing a filter icon against the selected feature type in the theme selection tree in OS Select+Build
OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. In the rule, OSLandUseTierA is selected in the first drop-down.
Screenshot of adding a rule in the Advanced Filter Options panel in OS Select+Build.
OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. In the rule, OSLandUseTierA is selected in the first drop-down, the equal sign is selected in the second drop-down, and Education is selected in the third drop-down.
Screenshot of adding a rule in the Advanced Filter Options panel in OS Select+Build.
OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. Two rules have been created in the first group.
Screenshot of creating a nested filer in the Advanced Filter Options panel in OS Select+Build.
OS Data Hub screenshot, showing the Advanced filter options panel in OS Select+Build. Two rules have been created in the first group, and the +Add group button has been clicked and the application has drawn an extra box.
Screenshot of creating a nested filter in the Advanced Filter Options panel in OS Select+Build.
OS Data Hub screenshot, showing an example of a nested filter with an And condition and an Or condition applied in the Advanced filter options panel in OS Select+Build.
Screenshot of creating a nested filter with And and Or conditions in the Advanced Filter Options panel in OS Select+Build.
Screenshot of the OS Data Hub, showing the OS Select+Build recipe details screen. This screen shows in-depth information about an example recipe, including the recipe name, a description of the recipe, the filters used, the creation date, its author, and the OS NGD themes, collections and feature types present within it.
Screenshot of the OS Select+Build Recipe details screen, which shows in-depth information about the contents of an example recipe.
Screenshot showing the one-off snapshot check box option when creating a new data package in OS Select+Build in the OS Data Hub.
Screenshot showing the one-off snapshot option when creating a new data package in OS Select+Build.
Screenshot of OS Select+Build during the new data package creating stage showing the one-off snapshot check box option selected and a date selected.
Screenshot of OS Select+Build showing the one-off snapshot check box option selected and a date selected.
Infographic showing the steps involved when using OS Select+Build in the OS Data Hub. The first step is OS Select+Build, the next step is creating a recipe, and the final step is adding then downloading data packages.
Infographic showing the steps involved when using OS Select+Build on the OS Data Hub.
Screenshot of the OS Select+Build Recipe creator screen within the OS Data Hub, showing an example of creating a new recipe. Several themes, collections and feature types have been selected from the secondary navigation menu on the left-hand side of the screen.
Screenshot showing an example of creating a new recipe using OS Select+Build in the OS Data Hub.
Screenshot of the OS Select+Build Recipe creator screen within the OS Data Hub, showing an example of creating a new recipe and selecting a data schema version for a feature type.
Screenshot showing an example of selecting a data schema version for a feature type in a new recipe using OS Select+Build in the OS Data Hub.
Screenshot of the OS Data Hub, showing the OS Select+Build Recipe Library screen.
Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub.
Screenshot of the OS Select+Build Recipe Library screen in the OS Data Hub. This screen shows high-level details about an example recipe, including the recipe name, its author, the creation date, a description of the recipe, and the OS NGD themes present within the recipe.
Screenshot of the OS Select+Build Recipe Library screen, which shows high-level details about the contents of an example recipe.
Screenshot of the OS Data Hub, showing the OS Select+Build recipe details screen. This screen shows in-depth information about an example recipe, including the recipe name, a description of the recipe, the filters used, the creation date, its author, and the OS NGD themes, collections and feature types present within it.
Screenshot of the OS Select+Build Recipe details screen, which shows in-depth information about the contents of an example recipe.
OS Data Hub screenshot of the OS Select+Build Recipe Library screen.
Screenshot of the OS Select+Build Recipe Library in the OS Data Hub.
Screenshot of the Add a data package screen in the OS Data Hub, showing an example of adding a data package to a recipe.
Screenshot showing an example of adding a data package to a recipe using OS Select+Build in the OS Data Hub.
Screenshot of OS Data Hub, showing an example of the Data packages list screen.
Screenshot showing an example of the Data packages list screen in the OS Data Hub.
Screenshot showing an example of the OS NGD Recipe prefix on a recipe name. The OS NGD Recipe prefix on the recipe name is highlighted in yellow.
Screenshot showing an example of the 'OS NGD Recipe' prefix.
ArcGIS Online Layers dialog.
ArcGIS Online Layers dialog.
ESRI ArcGIS Pro Add OGC API Server Connection dialog with URL and custom request parameters set.
ESRI ArcGIS Pro Add OGC API Server Connection dialog with URL and custom request parameters set.
ArcGIS Online Add Layers dialog: Select a layer to add field.
ArcGIS Online Add Layers dialog: Select a layer to add field.
ArcGIS Online UI showing OS NGD API – Features data in the map area.
ArcGIS Online UI showing OS NGD API – Features data in the map area.
QGIS Create a New WFS Connection dialog.
QGIS Create a New WFS Connection dialog.
QGIS Data Source Manager | WFS > Server Connections.
QGIS Data Source Manager | WFS > Server Connections.
QGIS Data Source Manager | WFS / OGC API - Features.
QGIS Data Source Manager | WFS / OGC API - Features.
QGIS UI showing OS NGD API - Features data in the Layers panel and map area.
QGIS UI showing OS NGD API – Features data in the Layers panel and map area.
Screenshot of the top ribbon in MapInfo Professional with a red box around the Open Table button.
MapInfo Open Table button.
Screenshot showing the MapInfo Professional Open Table dialog.
MapInfo Professional Open Table dialog.
Screenshot showing the MapInfo Professional Select One or More Tables to Open dialog.
MapInfo Professional Select One or More Tables to Open dialog.
Cadcorp SIS Desktop UI highlighting Add Overlay button.
Cadcorp SIS Desktop UI highlighting Add Overlay button.
Cadcorp SIS Desktop OS (GB) Data Hub dialog with the Next button and API Key button highlighted.
Cadcorp SIS Desktop OS (GB) Data Hub dialog
Cadcorp SIS Desktop UI showing OS NGD API – Features data in the map area.
Cadcorp SIS Desktop UI showing OS NGD API – Features data.
ESRI ArcGIS Pro UI showing how to add a new connection via Insert -> Connections -> Server -> New OGC API Server.
ESRI ArcGIS Pro UI.
ESRI ArcGIS Pro Add OGC API Server Connection dialog displaying the OS NGD API – Features base URL.
ESRI ArcGIS Pro Add OGC API Server Connection dialog.
ESRI ArcGIS Pro Add OGC API Server Connection dialog displaying the OS NGD API – Features base URL and custom parameters added.
ESRI ArcGIS Pro Add OGC API Server Connection dialog with custom request parameters set.
ESRI ArcGIS Pro Catalog panel showing a list of available layers alongside the Add OGC Layer(s) dialog box to set the extent.
ESRI ArcGIS Pro Add OGC API Layer(s) dialog and the Catalog panel.
A map in ESRI ArcGIS Pro with features loaded from a selected layer.
ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area.
ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area. Layer Properties dialog box with the OGC Features property displayed that defines the number of features loaded and the extent used. This dialog box allows these properties to be changed.
ESRI ArcGIS Pro UI showing OS NGD API – Features data in the map area and a Layer Properties dialog for one of the layers.
Cadcorp SIS Desktop UI highlighting Add Overlay button
Cadcorp SIS Desktop UI highlighting the Add Overlay button.
OS (GB) Data Hub dialog
OS (GB) Data Hub dialog.
OS (GB) Data Hub NGD API - Tiles dialog.
OS (GB) Data Hub NGD API - Tiles dialog.
CadCorp SIS Desktop UI with a layer rendered in the map area.
CadCorp SIS Desktop UI with a layer rendered in the map area.
QGIS Add Vector Tile Layer option.
QGIS Add Vector Tile Layer option.
QGIS New Vector Tile Connection dialog filled in
QGIS Vector Tiles Connection dialog.
 UI showing OS NGD API – Tiles data in the Layers panel and map area.
QGIS UI showing OS NGD API – Tiles data in the Layers panel and map area.
An example plot of the wtr-fts-water-2 data covering the Glastonbury Canals.
OS NGD delivery roadmap (as of March 2025). Enhancements are outlined for March 2025, September 2025 and March 2026.
OS NGD delivery roadmap (as of March 2025).
Highlights of the OS NGD data enhancements released to customers in March 2025. Image shows four boxes featuring the text: New Street Light Feature Type, New Building Access Location Feature Type, new Building roof attribution and New Crowd Source Name Point Feature Type.
Highlights of the OS NGD data enhancements released to customers in March 2025.
Examples of building features and attributes provided by the OS NGD Buildings and OS NGD Land Use Themes. 18 Attributes are shown against a diagram of a building.
Examples of building features and attributes provided by the OS NGD Buildings and OS NGD Land Use Themes.
Example visualisation showing the primary roof material present on buildings. Four categories of roof material are shown in the image: Metal, Mixed, Tile Or Stone Or Slate, and Waterproof Membrane Or Concrete.  A background map has been included for context.
Example visualisation showing the primary roof material present on buildings. A background map has been included for context.
Example of a Crowd Sourced Name Point feature being matched to existing OS NGD (Building Part and Address) features via its OSID (OS Identifier) and UPRN (Unique Property Reference Number). A background map has been included to provide context.
Example of a Crowd Sourced Name Point feature being matched to existing OS NGD (Building Part and Address) features via its OSID (OS Identifier) and UPRN (Unique Property Reference Number). A background map has been included to provide context.
Example of Site featuring a description of 'Beach' with Pedestrian and Vehicular Access Locations shown. Background maps are included for context.
Example of a Land Use Site featuring a description of 'Beach' with Pedestrian and Vehicular Access Locations shown. Background maps are included for context.
Example of the four types of Access Purpose points showing Emergency, Primary Public, Private, and Public points within a football stadium for purposes of emergency response and evacuations. A background map has been included to provide context.
Example of the four types of Access Purpose points within a football stadium for purposes of emergency response and evacuations. A background map has been included to provide context.
Visualisation showing Street Light coverage on Road Links and Path Links and how well-lit they are (using the Presence of Street Light Coverage attribute).
Visualisation showing Street Light coverage on Road Links and Path Links and how well-lit they are (using the Presence of Street Light Coverage attribute).
OS NGD delivery roadmap (as of March 2025). Enhancements are outlined for March 2025, September 2025 and March 2026.
OS NGD delivery roadmap (as of March 2025)
Tree diagram showing the data structure of the OS NGD Address Theme. It lists the theme name, collection names, feature type names, and related component names.
OS NGD Address Theme data structure diagram showing the theme name, collection names, feature type names, and related component names.
Stylised image of data available in the OS NGD Address collection. A circular background map showing points for: NGD Pre-Build Address, NGD Street Address, NGD Non-Addressable Object, NGD Historic Address and NGD Built Address.
Example image showing the feature types available in the OS NGD Address Collection. A background map has been included to provide context.
A data snapshot showing the outcomes of the quality review process of Field Boundary feature classification (by 10km2 area), as of August 2024. A map of the United Kingdom filled in with green, yellow,  and blue coloured pixels.
Snapshot of the outcomes of the quality review process of Field Boundary feature classification (by 10km² area), as of August 2024.
Infographic showing OS NGD terminology and data structure: themes, collections, feature types and features.
OS NGD data structure: themes, collections, feature types and features.
Image showing a simple map of Great Britain. The 9 OS NGD data themes names are listed: Address, Administrative and Statistical Units, Buildings, Geographical Names, Land, Land Use, Structures, Transport, and Water.
The nine OS NGD data themes.
Cover

OS NGD Address

Cover

OS NGD Administrative and Statistical Units

Cover

OS NGD Buildings

Cover

OS NGD Geographical Names

Cover

OS NGD Land

Cover

OS NGD Land Use

Cover

OS NGD Structures

Cover

OS NGD Transport

Cover

OS NGD Water

Stylised image of data available in the OS NGD Address collection. A circular background map showing points for: NGD Pre-Build Address, NGD Street Address, NGD Non-Addressable Object, NGD Historic Address and NGD Built Address.
Example image showing the feature types available in the OS NGD Address Collection. A background map has been included to provide context.
FME result showing dataset has been read in