DuckDB 🪵

DuckDB Spatial Database

Open Beta
.duckdb · application/vnd.duckdb

DuckDB is an embedded analytical database its CWI Amsterdam authors call "SQLite for analytics": a single `.duckdb` file, columnar storage, a vectorized engine, and the `ST_*` spatial function set via the spatial extension. Our exporter writes the selected OSM area into a `.duckdb` container where each map layer becomes its own table. To set expectations honestly: geometry is stored as WKT TEXT in a `geom_wkt` column rather than a native GEOMETRY type — to get real geometry you simply call `ST_GeomFromText(geom_wkt)` after `LOAD spatial`. Coordinates stay in WGS84 (EPSG:4326); spatial indexes and Hilbert sorting are not created — those are left to you.

立即导出 DuckDB ✨ Open Beta — 免费无限制

主要特点

Single `.duckdb` file — one table per map layer (polygons, lines, points, roads)
Geometry in a `geom_wkt` (WKT) column, read via `ST_GeomFromText` after `LOAD spatial`
OSM attributes preserved as separate columns; export metadata in a `_metadata` table
Coordinates in WGS84 (EPSG:4326), up to 500,000 features per layer
Opens via the `duckdb file.duckdb` CLI or `import duckdb` in Python/R

关于 DuckDB 格式

DuckDB is an analytical database that lives in a single file and needs no server. It is often called the SQLite of analytics: columnar storage and a vectorized engine give fast aggregations and joins over millions of rows right on a laptop, while the spatial extension adds the familiar ST_ functions.

A map is exported to DuckDB when you need SQL but do not want to raise PostgreSQL with PostGIS: a one-off analysis in a notebook, an ETL script, a model in dbt, a prototype query before moving it into a big warehouse. The file can simply be handed to a colleague — they will open it with a single command.

The output is a single .duckdb file, where every map layer has become a separate table and OSM attributes have become columns; the export parameters lie in the service table _metadata. The geometry is written as WKT text into the geom_wkt column: that way the file reads even without the spatial extension, and real geometry is obtained by calling ST_GeomFromText after LOAD spatial. The coordinates are WGS84; spatial indexes are not created, that decision is left to you.

打开 DuckDB 文件的程序

以下程序可以打开、编辑和处理从 OSM2CDR 导出的 DuckDB Spatial Database(.duckdb)文件:

💻DuckDB CLI 💻Python (pip install duckdb) 📐R (install.packages duckdb) 💻DBeaver 💻JupyterLab

格式规格

谁在使用 DuckDB 地图

🏗
Ad-hoc spatial analytics in Jupyter without spinning up a PostgreSQL/PostGIS server
A one-off spatial analysis in a notebook — without installing and configuring a database server.
💻
ETL pipelines: read, join and aggregate OSM data in plain SQL with zero infrastructure
Reading, joining and aggregating OSM data with a single SQL statement inside an ETL script.
📊
dbt models and notebook-driven workflows where `.duckdb` is a portable team artifact
A portable artifact for the team: the file goes into the repository and opens the same way for everyone.
🎨
Prototyping queries before migrating to Snowflake/BigQuery
A rough run-in of queries before moving the logic into a big cloud warehouse.

如何导出 DuckDB

1
选择区域
在 osm2cdr 的交互式地图上绘制矩形或多边形
2
选择 DuckDB
从 127 种可用导出格式中选择 DuckDB Spatial Database
3
导出
点击导出,1–5 分钟内收到您的 .duckdb 文件
4
下载
下载完成的 DuckDB 文件并在 DuckDB CLI 中打开

导出后如何打开

DuckDB 格式的热门地图

Free

导出 DuckDB Spatial Database 地图

从 OpenStreetMap 下载专业的 DuckDB 地图。即时生成,任意区域。

免费 / 导出
立即导出 DuckDB →

常见问题

Is geometry stored as a native GEOMETRY type?
How does DuckDB differ from SQLite/GeoPackage?
Are spatial indexes created?
What projection is the data in?
What tables are inside the file?
How do I turn the export into GeoParquet or GeoJSON?
Do I have to install anything to open the file?

相关格式

经常一起导出

Related Articles