QuackOSM pour faire simplement du SQL avec données OSM
Posted by Cyrille37 on 31 August 2026 in French (Français).Salut
Une belle personne m’a parlée de QuackOSM quand je lui faisais part de la difficulté d’installer un serveur Overpass-API pour faire des requêtes en locales sans charger les serveurs communautaires.
Alors j’ai essayé … Et ça déchire de simplicité. 🤩
📢 ATTENTION: la doc est explicite : relations must be of type boundary or multipolygon. Il y d’autres contraintes, ce sera donc à voir selon les besoins …
Comme QuackOSM est un module Python et que je m’y perd tout le temps j’ai utilisé uv. QuackOSM se charge du téléchargement des fichiers PBF par exemple sur GeoFabrik OpenStreetMap Data Extracts.
Il suffit donc d’une seule ligne :
uvx --from 'quackosm[cli]' quackosm \
--osm-extract-query France \
--osm-extract-source geofabrik \
--working-directory ./ \
--ignore-cache \
--cpu-limit 8
Ou si vous avez déjà le fichier “france-latest.osm.pbf”
uvx --from 'quackosm[cli]' quackosm france-latest.osm.pbf \
--ignore-cache \
--cpu-limit 8
Pour obtenir le fichier “geofabrik_europe_france_nofilter_noclip_compact_sorted.parquet” (9 Go) au format GeoParquet.
À noter:
- l’extra
quackosm[cli]pour éviter “ModuleNotFoundError: No module named ‘click’” - Au premier appel, uv télécharge et résout les ~40 dépendances (duckdb, pyarrow, numpy, shapely, etc.) et les met en cache localement
En suite on peut utiliser DuckDB pour faire des requêtes sur des objets OSM.
Par exemple avec l’outil de bureau DBeaver on créer une connexion DuckDB (le driver est téléchargé automatiquement), on ouvre une console SQL sur la connexion et :