=== versions === python 3.12.0 | duckdb 1.5.6 | geopandas 1.2.0 | pyogrio 0.13.0 (GDAL 3.12.4) | pyarrow 26.0.0 | shapely 2.2.0 === Overture release === latest release: 2026-09-23.1 (schema 2.0.0) themes: addresses, base, buildings, divisions, places, transportation === STAC index: which files cover Bristol? === collection files features total_gb files_over_bristol building 512 2533842612 276.9 1 place 16 81455423 11.0 1 water 128 66204219 28.6 2 === bbox query: whole theme vs STAC-pruned file list === STAC-pruned file list, bbox filter : 144,965 buildings in 4.1 s all 512 building files, bbox filter : 144,965 buildings in 62.5 s (15x slower) === download Bristol to local GeoParquet === buildings 144,965 features 13.3 MB 3.4 s places 20,727 features 0.9 MB 5.3 s water 161 features 0.1 MB 9.5 s === sources and licences === theme source licence n buildings OpenStreetMap ODbL-1.0 140161 buildings Microsoft ML Buildings ODbL-1.0 4804 places meta CDLA-Permissive-2.0 10935 places Microsoft CDLA-Permissive-2.0 5060 places Foursquare Apache-2.0 4153 places AllThePlaces CC0-1.0 525 places DAC CDLA-Permissive-2.0 27 places PinMeTo CDLA-Permissive-2.0 27 === buildings: subtype and height coverage === subtype n pct pct_with_height residential 95718 66.0 7.2 (none) 44190 30.5 26.4 commercial 2773 1.9 15.1 outbuilding 733 0.5 12.0 education 455 0.3 62.6 religious 236 0.2 58.9 medical 201 0.1 33.8 service 160 0.1 17.5 height_from n median_height_m (no height) 125192 NaN Microsoft ML Buildings 19626 4.6 OpenStreetMap 147 3.0 === places: top-level categories === category_group n median_confidence services_and_business 6442 0.80 shopping 3271 0.85 food_and_drink 2424 0.94 (none) 1338 0.85 lifestyle_services 1335 0.85 health_care 1031 0.79 sports_and_recreation 900 0.84 travel_and_transportation 888 0.84 education 846 0.83 community_and_government 729 0.78 arts_and_entertainment 716 0.77 cultural_and_historic 497 0.83 lodging 227 0.84 geographic_entities 83 0.81 === spatial SQL: footprint areas in British National Grid === buildings footprint_km2 median_m2 max_m2 144965 13.15 58.0 30151.0 name subtype area_m2 Brunel Building medical 30151.0 Demolished site NaN 27651.0 The Pavilions commercial 16290.0 IKEA NaN 12448.0 BRI Queen's Building medical 11060.0 === spatial SQL: which places are inside a building? === point-in-polygon join of 20,727 places x 144,965 buildings: 0.05 s places inside a building footprint: 10,147 (49.0%) name subtype area_m2 places The Galleries commercial 10267.0 62 NaN commercial 331.0 61 NaN commercial 9104.0 59 NaN residential 56.0 50 NaN residential 58.0 49 NaN residential 57.0 47 === spatial SQL: aggregate to H3 resolution 9 hexagons === built 758 hexagons in 0.11 s h3 buildings built_pct places food_drink 89195839223ffff 130 54.7 376 52 8919583923bffff 45 52.5 123 10 8919583922fffff 196 49.7 534 143 891958395d7ffff 50 48.8 19 2 8919580cba7ffff 21 48.2 29 1 h3 buildings built_pct places food_drink 8919583922fffff 196 49.7 534 143 89195876c93ffff 179 39.3 413 86 8919583926fffff 199 39.4 285 62 8919583922bffff 209 43.0 353 54 89195876137ffff 315 32.3 329 53 r_built_places r_residential_share_food 0.58 -0.13 === DuckDB -> GeoPandas === 4 tables to GeoDataFrames in 0.23 s; buildings: 144,965 rows, crs WGS 84 (CRS84) id name subtype class height num_floors source licence height_source area_m2 f8292818-3161-483e-9d42-0c96c3028d4b NaN NaN NaN 4.037107 OpenStreetMap ODbL-1.0 Microsoft ML Buildings 271.4 2bfe1a80-6a52-45d5-8811-97ae0a308522 NaN NaN NaN 2.973068 OpenStreetMap ODbL-1.0 Microsoft ML Buildings 49.0 b20ecd77-2de4-4154-a586-ab78dec9a7f6 NaN NaN NaN NaN OpenStreetMap ODbL-1.0 NaN 15.4 gpd.read_parquet on DuckDB's file: 144,965 rows, geometry column 'geometry', crs OGC:CRS84 === write GeoParquet 1.1 with GeoPandas === output/bristol_buildings.parquet 144,965 rows 18.86 MB output/bristol_places.parquet 20,727 rows 1.75 MB output/bristol_water.parquet 161 rows 0.14 MB output/bristol_hex.parquet 758 rows 0.08 MB 'geo' metadata (GeoPandas): {"version": "1.1.0", "primary_column": "geometry", "encoding": "WKB", "geometry_types": ["MultiPolygon", "Polygon"], "bbox": [-2.6606, 51.4195, -2.5192, 51.5004], "covering": {"bbox": {"xmin": ["bbox", "xmin"], "ymin": ["bbox", "ymin"], "xmax": ["bbox", "xmax"], "ymax": ["bbox", "ymax"]}}, "crs": "PROJJSON OGC:CRS84"} 'geo' metadata (DuckDB): {"version": "1.0.0", "primary_column": "geometry"} | keys of the geometry column: ['bbox', 'encoding', 'geometry_types'] === format benchmark: buildings === format size_MB write_s read_s bbox_read_s bbox_rows GeoParquet (DuckDB) 13.5 0.14 0.13 0.053 846 GeoParquet (GeoPandas) 18.8 0.35 0.15 0.044 846 FlatGeobuf 52.4 1.76 0.73 0.009 846 GeoPackage 48.8 1.38 0.25 0.011 846 Shapefile 193.2 2.36 0.98 0.580 846 Shapefile field names: ['id', 'name', 'subtype', 'class', 'height', 'num_floors', 'source', 'area_m2'] note: the DuckDB bbox query counts rows with ST_Intersects; the others return a GeoDataFrame === figures === wrote 01-bristol-buildings-subtype.png, 02-places-sources-categories.png, 03-h3-hexagons.png, 04-places-in-buildings.png, 05-format-benchmark.png