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).
OS NGD API – Tiles added to an API project in the OS Data Hub with an API Key. See Getting started with an API project for more information.
QGIS currently only supports the EPSG: 3857 version of the tiles. You will however be able to transform the API using a dynamic coordinate transformation into EPSG: 27700 (allowing you to use the vector tile service alongside your British National Grid data).
Instructions
Create a new connection
In the Data Source Manager | Vector Tile dialog:
Click New
Select New Generic Connection...

In the Vector Tiles Connection dialog:
Name: Provide a name for the connection.
URL: Input the Retrieve Tile request URL for the OS NGD API – Tiles collection.
Min. Zoom Level: Minimum zoom = 6.
Max. Zoom Level: Maximum zoom = 19.
Style URL: Input your selected style request URL (you can view the available styles at GET /collections/{collectionId}/styles).
Authentication: Leave these settings at their defaults.
Other: Leave all other settings at their defaults.
Click OK.

You will need to replace the /{tileMatrix}/{tileRow}/{tileCol}
used in the default Retrieve Tile request URL with /{z}/{y}/{x}
to be able to connect to OS NGD API – Tiles.
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:

Add a custom style
You can change the style of features and labels directly in QGIS by right-clicking on the API in the Layers Panel and going to Properties.
If you have a custom style JSON file that you have created in software such as Maputnik, you can use this in QGIS. You will need to host the JSON file before using it (e.g. on GitHub) and then use the resource URL as your 'Style URL' when setting up your API connection.
Last updated
Was this helpful?