DuckDB Spatial & Modern Analytical SQL for GIS
Production-grade reference documentation for in-process spatial SQL: run geospatial
analytics directly inside DuckDB with vectorized, columnar execution — no GIS server,
no row-by-row round trips.
These guides target data engineers, GIS analysts, and Python developers who need
deterministic performance at scale. You'll find the execution model behind DuckDB
Spatial, the query patterns that keep spatial joins and aggregations vectorized, and
the integration paths that move geometries between SQL and Python without serialization
overhead.
Every page is grounded in real configuration: memory limits and spill thresholds, CRS
handling, GeoParquet and GeoJSON ingestion, execution-plan validation, and a full
migration track for teams moving off PostGIS or GeoPandas — function-by-function
translation, index porting, and the benchmarks that mark the performance crossover.
The reference now runs to 82 pages across
4 tracks and 24 topics,
including geometry validity and repair, partitioning and file layout for spatial lakes,
Python UDFs and predicate pushdown, and head-to-head comparisons against PostGIS,
GeoPandas and Sedona.