Utiliser les données OpenStreetMap sous QGIS (via SpatiaLite)

Importer des données OpenStreeMap dans une base Spatialite

Advertisements

qgis-spatialite-osm

Il existe une multitude de moyens d’importer des données d’OpenStreetMap pour les exploiter sous un logiciel SIG.

Je vais vous présenter ici une solution permettant d’importer les données dans une base SQLite/SpatiaLite. SpatiaLite est gérée nativement par QGIS et propose une alternative plutôt intéressante aux fichiers shapes (meilleurs performances, fichier unique et portable, requêtes SQL…).

Pré-requis

Les outils sont disponibles sur le dépôt ubuntu-gis.
Seront nécessaire :

  • sqlite3
  • spatialite
  • osmosis

Pour cet article, j’ai utilisé une distribution Ubuntu 16.04 (Xenial).

Récupérer une extraction de la base OSM

A partir de geofabrik, il est possible de récupérer des extractions sur différentes emprises. Les exports sont mis à jour quotidiennement. Les données doivent être téléchargées au format « .osm.pbf ».
Pour mon exemple, j’ai récupéré les données correspondant aux régions du nord de la France.

wget http://download.geofabrik.de/europe/france/champagne-ardenne-latest.osm.pbf
 wget http://download.geofabrik.de/europe/france/haute-normandie-latest.osm.pbf
 wget http://download.geofabrik.de/europe/france/nord-pas-de-calais-latest.osm.pbf
 wget http://download.geofabrik.de/europe/france/picardie-latest.osm.pbf

Fusionner les fichiers si nécessaire

Dans le cas où, comme moi, vous avez téléchargé plusieurs régions, il est nécessaire de concaténer ces fichiers, Osmosis s’en charge très bien :

osmosis --rb champagne-ardenne-latest.osm.pbf --rb haute-normandie-latest.osm.pbf --rb nord-pas-de-calais-latest.osm.pbf --rb picardie-latest.osm.pbf --merge --merge --merge --wb nord.osm.pbf

Pour fusionner n fichiers, répéter « –merge » n-1 fois. Indiquer le fichier en sortie après le paramètre « –wb ».

Convertir en base SQLite

Spatialite-tools propose plusieurs outils intéressants dont spatialite_osm_map. Son utilisation est extrêmement simple, il suffit d’indiquer le fichier pbf  du chapitre précédent et d’indiquer le nom de la base à créer.

spatialite_osm_map -o nord.osm.pbf -d nord.sqlite

L’outil spatialite_osm_map créé des tables pour les principaux tags. Il ne préserve pas l’intégralité de la base mais permet une exploitation directe et intuitive sur QGIS (voir les autres outils disponibles pour ça). L’opération est assez longue et le fichier sqLite généré volumineux : plus de 10 fois la taille du pbf. Des messages d’erreur « UNRESOLVED-WAY » peuvent apparaître, rien de bien grave.

Ouvrir la base sur QGIS

Trois tables sont créées pour les principaux tags (ponctuel, polygone et ligne). Consultez la doc d’OpenStreetMap pour la signification de ceux-ci (les plus utiles étant highway, landuse, natural, water, amenity, building…).

osmsqlite1

Pensez à mettre à jour vos données régulièrement en répétant les opérations précédentes afin de profiter des dernières données intégrées sur OSM.

 

La plupart des tags supplémentaires sont perdus. Pour effectuer des requêtes plus spécifiques je vous conseil l’excellent plugin QuickOSM.

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s