OSM city extracts

OpenStreetMap for a few metro areas as GeoParquet, refreshed weekly, for DuckDB over HTTP range requests. Rows are sorted along a Hilbert curve and carry a bbox column, so a query on a few blocks reads only the row groups it needs.

Data © OpenStreetMap contributors, available under the Open Database License (ODbL).

Loading…

Querying with DuckDB

INSTALL spatial; LOAD spatial;

SELECT name, tags['shop'] AS shop, level
FROM 'https://data.sisumaps.com/osm/toronto/latest/indoor.parquet'
WHERE bbox.xmin > -79.64 AND bbox.xmax < -79.60
  AND bbox.ymin > 43.67 AND bbox.ymax < 43.70
  AND tags['shop'] IS NOT NULL;

Columns: id (way/123), osm_type, osm_id, tags (a map of every tag), name, theme, level, a few promoted tags in the subsets, geometry (WKB) and bbox. Use a dated build (/osm/<city>/<YYYYMMDD>/…) for anything you keep; latest moves weekly. Every build has a manifest.json with its sources, rows and checksums.