DuckDB est une base de données analytique embarquée que ses auteurs du CWI d'Amsterdam appellent « le SQLite de l'analytique » : un unique fichier `.duckdb`, un stockage en colonnes, un moteur vectorisé et le jeu de fonctions spatiales `ST_*` via l'extension spatial. Notre exportateur écrit la zone OSM sélectionnée dans un conteneur `.duckdb` où chaque couche de la carte devient sa propre table. Pour poser les attentes honnêtement : la géométrie est stockée en WKT TEXT dans une colonne `geom_wkt` plutôt que dans un type GEOMETRY natif — pour obtenir une vraie géométrie, il suffit d'appeler `ST_GeomFromText(geom_wkt)` après `LOAD spatial`. Les coordonnées restent en WGS84 (EPSG:4326) ; les index spatiaux et le tri de Hilbert ne sont pas créés — cela vous est laissé.
Caractéristiques principales
À propos du format DuckDB
DuckDB est une base de données analytique qui tient dans un seul fichier et ne demande aucun serveur. On l'appelle souvent « le SQLite de l'analytique » : le stockage en colonnes et le moteur vectorisé donnent des agrégations et des jointures rapides sur des millions de lignes, directement sur un ordinateur portable, et l'extension spatiale ajoute les fonctions ST_ habituelles.
On exporte une carte en DuckDB quand on veut du SQL sans monter un PostgreSQL avec PostGIS : une analyse ponctuelle dans un notebook, un script ETL, un modèle dbt, un prototype de requête avant le passage au grand entrepôt. Le fichier se transmet tel quel à un collègue — il l'ouvrira d'une seule commande.
En sortie, un seul fichier .duckdb où chaque couche de la carte est devenue une table et les attributs OSM des colonnes ; les paramètres de l'export se trouvent dans la table de service _metadata. La géométrie est écrite en texte WKT dans la colonne geom_wkt : le fichier se lit ainsi même sans l'extension spatiale, et la vraie géométrie s'obtient par un appel à ST_GeomFromText après LOAD spatial. Les coordonnées sont en WGS84 ; les index spatiaux ne sont pas créés, cette décision vous est laissée.
Logiciels pour ouvrir les fichiers DuckDB
Les programmes suivants peuvent ouvrir, modifier et traiter les fichiers DuckDB Spatial Database (.duckdb) exportés depuis OSM2CDR :
Caractéristiques du format
- Format propriétaire
- 2D uniquement
- Sans perte de qualité
- Stocke les attributs
- Sortie : 1 fichier
- A single .duckdb file, one table per layer; geometry stored as WKT TEXT in geom_wkt (read via ST_GeomFromText after LOAD spatial), WGS84, no spatial index.
Qui utilise les cartes DuckDB
Comment exporter en DuckDB
Comment ouvrir après l’export
- DuckDB CLI — lancez duckdb map.duckdb et regardez autour de vous : SHOW TABLES liste les couches, DESCRIBE détaille les colonnes d'une table.
- Python — import duckdb, puis con.execute("INSTALL spatial; LOAD spatial;") et vos requêtes habituelles ; le résultat arrive directement dans pandas.
- Géométrie — enveloppez la colonne dans ST_GeomFromText(geom_wkt), sinon elle restera du texte : les fonctions spatiales ne travaillent pas sur du texte.
- Export vers la suite — COPY (SELECT ...) TO 'out.parquet' ou 'out.geojson' convertit la sélection vers un autre format directement en SQL, sans outil intermédiaire.
- DBeaver — se connecte au fichier comme à une base ordinaire, si vous préférez un client graphique.
Cartes populaires en DuckDB
Export de cartes en DuckDB Spatial Database
Téléchargez des cartes DuckDB professionnelles depuis OpenStreetMap. Génération instantanée, n’importe quelle zone.