Tutorials
Task-oriented walkthroughs for working with CityParquet.
Explained, task-oriented walkthroughs. For the bare copy-paste path, see Getting started.
Choose a tool: DuckDB for SQL conversion, Python for a small analysis script, or Rust for library reads and writes and CLI conversion. The DuckDB 3D link opens the extension’s own documentation.
With actual cities brings the tools together on published datasets: national-scale 3DBAG, PLATEAU Tokyo, catalogue queries, joins with Overture Maps, and LoD3 façade semantics.
If you would rather not install anything first, the SQL playground runs DuckDB and both extensions in your browser, against a 16.4 GB 3DBAG package on object storage.
DuckDB
Convert to and from CityParquet
Read city model formats, write CityParquet, insert records, and export again.
DuckDB 3D documentation
Installation, function reference, and examples on the DuckDB 3D documentation site.
Python
Rust
Read and write CityParquet with Rust
Write a package with the Rust library and read selected columns in Arrow batches.
Convert formats with the CityParquet CLI
Convert CityJSON, CityJSONSeq, and CityGML into packages, export them again, and check a round trip.
With actual cities
Working with 3DBAG at cloud scale
End-to-end: bounding-box search over 21.5 million objects, 3D measurement, semantic roof analysis, and format conversion — straight off object storage.
PLATEAU Tokyo
Reproject buildings stored in latitude and longitude before measuring them, and join them to 2D land-use parcels.
Catalogue and many packages
Find packages through STAC and Parquet footers, then compare Tokyo’s 23 wards in one query.
Buildings and places
Join 3D buildings to Overture Maps places, reconciling two CRSs.
LoD3 façades
Measure window and wall area from per-face semantics.