Download shapes as GeoParquet
Every area of a boundary release in one GeoParquet file, ready for DuckDB, BigQuery, QGIS or GeoPandas. The shapes match the tiles exactly, borders included, and each row carries the same id and code, so values join straight on.
/map-resources/{geography}/{release}/featuresGood to know
tieris required. Usefullfor analysis, ormediumorlowfor a lighter file.- A
bboxcolumn lets your database skip areas outside the region you're querying. - Get values for tiles with
format=parquetgives you the matching values table.
geographystringrequiredA geography type id, e.g.
constituencyorward.releasestringrequiredA boundary release id, e.g.
2024-07-uk-bgc, orlatestfor the geography's newest release: the one/boundary-releases:resolvechooses for the furthest date. A response tolatestnames the release it read inContent-Location. A geography whose newest month holds several releases that differ in more than coverage, or that has a release whose id carries no month, is refused with409and the releases that could be newest.
tierstringrequiredThe detail to download.
fullis the release's own geometry; each coarser tier drops detail smaller than 10, 100 or 1,000 metres.One offullhighmediumlowformatstringoptionalThe representation, GeoParquet 1.1 or GeoJSON.
One ofgeoparquetgeojsonDefaultgeoparquetRangestringoptionalOne byte range of the file, as
bytes=start-end,bytes=start-orbytes=-length. This is how a PMTiles client reads an archive: the header, then a directory, then only the tiles it needs. Several ranges in one request are not supported and get the whole file, as does anIf-Rangethat no longer matches the ETag. Files stored gzipped (the GeoJSON downloads) are always sent whole.
Returns
stringThe GeoParquet or GeoJSON file.
- 400A query parameter is malformed or its cursor is not valid for this result set.
- 404No resource matches that identity.
- 416The range starts past the end of the file.
Content-Rangegives the file's length asbytes */length. - 503The referenced build artifact has not been built yet.
Every error has the same shape. See Errors for how to handle them.
Show the precise behaviourHide the precise behaviour
The flat form of the resource, for a warehouse or a GIS that holds features rather than tiles: GeoParquet 1.1 with one row per area, carrying the same id, code and name as the tiles, its shape as WKB in OGC:CRS84, and a bbox covering column a reader can filter on. Each tier is compiled from the same shared-arc generalisation the tiles are drawn from, so neighbours share their borders exactly, and the ids are the ones a join table publishes, so values join by id or code without reading a tile. Every tier is published, full included, and its size and SHA-256 are listed under features in the descriptor. A coarse tier keeps every border shared but is not guaranteed to be a valid polygon everywhere, as the descriptor's generalisation says. The file's uk-data-atlas metadata names the resource, tier, attribution and publisher file hash, so a copy loaded on its own is still citable. format=geojson returns the same features as an RFC 7946 FeatureCollection, for the tools that open GeoJSON directly. Each feature has the same id, and code and name properties; coordinates are written to six decimal places, about 0.1 m. The file is stored gzipped, so a client sending Accept-Encoding: gzip receives it with Content-Encoding: gzip and one that does not receives it decoded. The two encodings have different ETags, and the descriptor's bytes and contentHash describe the decoded GeoJSON. The GeoParquet file honours byte-range requests, so DuckDB, GDAL or any reader that fetches Parquet over HTTP can read its footer and only the row groups it needs. The GeoJSON is always sent whole.