Chapter 3: Linked Identifiers Dataset#
Welcome back! In our journey to understand how different spatial data layers connect to BIM, we've learned about two core identifiers:
- In Chapter 1: Unique Property Reference Number (UPRN), we saw how the UPRN gives a unique, persistent ID to an addressable location. This is great for linking address-based data like planning applications or utility records.
- In Chapter 2: Topographic Identifier (TOID), we discovered the TOID, which gives a unique, persistent ID to a specific geographic feature like a building footprint or a road line. This is key for linking information tied to the geometry of objects on the map.
Now, imagine you have a UPRN for a property (maybe from a planning database), and you want to find the exact building footprint geometry (which is identified by a TOID) that this property relates to. Or perhaps you have the TOID of a building footprint (from a mapping dataset) and you want to know which UPRN(s) are associated with it to look up address-specific data.
How do you reliably move between these two different identification systems?
Trying to do this just by comparing coordinates or addresses can be tricky and prone to errors. Coordinates might be slightly off, and addresses can be written in many ways.
This is exactly the problem solved by the Linked Identifiers Dataset.
What is the Linked Identifiers Dataset?#
Think of the Linked Identifiers Dataset as a master directory or a universal look-up table that explicitly connects different official identifiers used by Ordnance Survey (OS). Its main purpose is to tell you which ID corresponds to which other ID.
Instead of guessing or trying to geographically match (which building footprint is closest to this address point?), this dataset provides a direct link, like: "UPRN 10002331234
is linked to Building Footprint TOID osgb1000001234567890
".
It's a fundamental dataset for anyone working with multiple OS data products, allowing you to bridge the gap between address-based data (using UPRNs) and geometry-based data (using TOIDs).
Crucially, this dataset is part of the OS OpenData collection, meaning it's freely available!
What Identifiers Does it Link?#
The Linked Identifiers Dataset primarily provides links between:
- UPRNs (Unique Property Reference Numbers) - from AddressBase Premium.
- TOIDs (Topographic Identifiers) - specifically for
TopographicArea
features (like building footprints) from OS MasterMap Topography Layer, andRoad
orRoadLink
features from OS MasterMap Highways Network. - USRNs (Unique Street Reference Numbers) - for
Street
features from OS MasterMap Highways Network. - GUIDs (Global Unique Identifiers) - for features in OS Open Roads.
While it links several types, the most relevant links for connecting building/property data in a BIM context are typically those involving UPRNs and TOIDs (for buildings), and potentially USRNs (for streets) when considering site access or surrounding infrastructure.
Let's focus on the UPRN-TOID link as a primary example.
Why is it Important for Linking Data?#
The Linked Identifiers dataset is the essential bridge that allows you to use both UPRNs and TOIDs effectively together.
Imagine your BIM model needs to integrate information from different sources:
- You have a planning document that only references a property by its UPRN.
- You have detailed OS mapping data that provides the precise outline of the building using a TOID.
- You need to link the planning information (UPRN) to the correct building geometry (TOID) in your BIM model.
Without the Linked Identifiers dataset, this linking would be a manual or error-prone process based on proximity. With it, you simply look up the UPRN in the dataset to find the associated TOID, and then use that TOID to select the correct building footprint from the mapping data.
This makes your data integration much more reliable and automated.
How Do You "Use" the Linked Identifiers Dataset?#
The typical workflow involves having one identifier and wanting to find a related identifier to access different information.
- Start with an identifier: You have a UPRN (e.g., from an address database) or a TOID (e.g., from a mapping dataset).
- Look up the link: You query the Linked Identifiers dataset using the identifier you have.
- Retrieve the related identifier: The dataset returns the corresponding linked identifier(s).
- Use the new identifier: You use the retrieved identifier to find related information in another dataset.
For example, finding a building's footprint TOID from its UPRN:
- Input: UPRN
10002331234
- Process: Look up
BLPU_UPRN = 10002331234
in the Linked Identifiers dataset. - Output: Find the row(s) where the UPRN matches, and read the value(s) in the
TOID_TA
column (for building footprints). - Next Step: Use the
TOID_TA
(e.g.,osgb1000001234567890
) to query the OS NGD β Building Feature dataset to get the geometry forosgb1000001234567890
.
The Data Structure#
The Linked Identifiers dataset is typically provided as a CSV file. This makes it easy to work with in spreadsheets, databases, or simple scripting tools.
As described in the OS Open Linked Identifiers bSDD Data Dictionary and the OS Open Linked Identifiers Summary, key columns you'll find include:
| Property Name | Description | Example Value |
|---------------|--------------------------------------------|----------------------|
| `BLPU_UPRN` | Unique Property Reference Number | 10002331234 |
| `TOID_TA` | TOID for TopographicArea (Building) | osgb1000001234567890 |
| `TOID_Road` | TOID for Road or RoadLink | osgb7000001234567890 |
| `USRN` | Unique Street Reference Number | 34567890 |
| `link_type` | Nature of the relationship (e.g., 1:1, 1:n)| 1:1 |
Each row in the CSV represents a potential link between one or more of these identifiers. Note that a UPRN might be linked to multiple TOIDs (e.g., separate building parts or outbuildings within one property), and a TOID might be linked to multiple UPRNs (e.g., an apartment block footprint linked to each flat's UPRN). The link_type
column can give you hints about this.
Behind the Scenes: A Simple Lookup Workflow#
Here's a simplified view of how you might use the dataset to go from a UPRN to a building TOID, and then get the building's geometry:
sequenceDiagram
participant YourSystem as Your BIM/GIS System
participant LinkedIdentifiersData as Linked Identifiers Data (CSV)
participant OSBuildingData as OS Building Feature Data (e.g., GeoPackage)
YourSystem->>YourSystem: Start with a UPRN (e.g., from planning data).
YourSystem->>LinkedIdentifiersData: Look up the UPRN 10002331234 in the CSV.
LinkedIdentifiersData-->>YourSystem: Find rows where BLPU_UPRN is 10002331234. Return the TOID_TA value(s).
YourSystem->>YourSystem: Got TOID_TA: osgb1000001234567890.
YourSystem->>OSBuildingData: Look up the feature with TOID osgb1000001234567890.
OSBuildingData-->>YourSystem: Return the geometry (polygon) and attributes for that TOID.
YourSystem->>YourSystem: Now I have the building geometry linked to the original UPRN.
This sequence shows how the Linked Identifiers dataset acts as an intermediary step, allowing you to jump from one type of identifier to another, and then use the new identifier to retrieve data from a different dataset.
Working with the Data (Concept)#
Since the Linked Identifiers dataset is often a CSV, you can use simple tools or code to work with it. Here's a conceptual example using Python's pandas
library to read the data and perform a simple lookup.
First, imagine you've downloaded the data and saved it as os_linked_identifiers.csv
.
# This is example conceptual Python code
import pandas as pd
# Load the linked identifiers data
# In reality, this file could be very large!
print("Loading linked identifiers data...")
linked_df = pd.read_csv('os_linked_identifiers.csv')
print("Data loaded.")
# Display the first few rows to see the structure
print("\nFirst 5 rows of the data:")
print(linked_df.head())
This code snippet just loads the data and shows you what the first few rows look like, confirming the columns like BLPU_UPRN
, TOID_TA
, etc.
Now, let's say you have a specific UPRN and want to find the associated building TOID:
# Suppose you have this UPRN from another source (e.g., a planning record)
my_uprn = 10002331234
# Look up this UPRN in the dataframe
# .astype(linked_df['BLPU_UPRN'].dtype) handles potential type mismatches
linked_records = linked_df[linked_df['BLPU_UPRN'] == my_uprn]
# Print the found records
print(f"\nLinked records for UPRN {my_uprn}:")
print(linked_records)
The output of this code would show you the row(s) from the os_linked_identifiers.csv
file where the BLPU_UPRN
matches 10002331234
. In those rows, you would find the TOID_TA
(and possibly TOID_Road
, USRN
, etc.) that are linked to that UPRN.
For example, the output might look like this (showing just relevant columns):
Linked records for UPRN 10002331234:
BLPU_UPRN TOID_TA TOID_Road USRN link_type
123 10002331234 osgb1000001234567890 NaN 34567890 1:1
In this example, you've successfully found that UPRN 10002331234
is linked to the building TOID osgb1000001234567890
and street USRN 34567890
. You could then take osgb1000001234567890
and use it to query a dataset containing building geometries, like the OS NGD β Building Feature data we'll look at later.
Conclusion#
The OS Open Linked Identifiers dataset is a simple yet incredibly powerful tool for anyone needing to work with various Ordnance Survey data products in Great Britain. By providing explicit links between UPRNs (address/property points), TOIDs (geographic features like buildings and roads), and USRNs (streets), it acts as the vital connector between different spatial information systems.
Understanding and using this dataset allows you to reliably integrate data from address-based sources with data from detailed mapping sources, bringing rich contextual information into your BIM projects.
Now that we know how to connect identifiers, we're ready to look at one of the key datasets that provides the detailed geometric information we've been referencing: the features themselves!
In the next chapter, we will dive into the Chapter 4: Building Feature dataset, exploring the detailed geometry and attributes provided for building footprints.
Generated by AI Codebase Knowledge Builder