Ajout des bâtiments à partir des données brutes

Méthode

Nous utilisons les données brutes au format .osm pour en extraire les objets qui nous intéressent. Précisément nous partons du fichier au format compressé .pbf exporté depuis le site Geofabrik : il s'agit du fichier bretagne-latest.osm.pbf qui vous a été fourni.

Nous utilisons pour cela deux utilitaires :

Utilitaire	Usage	Documentation
osmconvert	Conversion de formats et sélection par un polygone	http://wiki.openstreetmap.org/wiki/Osmconvert
osmfilter	Sélection par clef et valeur	http://wiki.openstreetmap.org/wiki/Osmfilter

Mise en pratique Les exécutables Windows ont été livrés sur la clef USB. Les versions Linux peuvent être installées à partir des pages Wiki ci-dessus.

Etapes

Etape 1 : extraction des données de Brest

La première étape consiste à :

convertir le fichier compressé .pbf au format .osm

extraire les données OSM pour la ville de Brest

L'utilitaire osmconvert.exe permet d'effectuer ces deux tâches en une seule opération.

Nous avons besoin du contour de la ville de Brest au format .poly qui définit un polygone. L'outil en ligne http://polygons.openstreetmap.fr vu précédemment permet d'obtenir ce polygone à partir de l'identifiant de la relation Brest: 1076124.

Le polygone de Brest est fourni dans le fichier brest.poly, il suffit donc de taper en ligne de commande :

osmconvert --drop-version -B=brest.poly bretagne-latest.osm.pbf > brest.osm

L'option –drop-version permet d'éliminer l'historique des données, présent dans le fichier .osm, pour ne conserver que la dernière version : la taille du fichier produit est ainsi réduite.

Etape 2 : sélection des bâtiments

Le Wiki http://wiki.openstreetmap.org/wiki/FR:Map_Features qui décrit les entités OpenStretMap nous apprend que les bâtiments sont identifiées par la clef building.

Nous utilisons l'utilitaire osmfilter.exe pour sélectionner les objets de type building et générer le fichier buildings.osm :

osmfilter --keep="building=*" brest.osm > buildings.osm

Etape 3 : import des bâtiments dans QGis

Depuis la version 2.0 QGis intègre le support des données au format .osm, et les stocke dans une base de données SpatialLite, dont le gestionnaire est intégré à QGis. Le menu Vecteur > OpenStreetMap donne accès à trois opérations :

Télécharger les données OSM : cette première étape consiste à télécharger depuis le site OpenStreetMap des données dans un fichier au format .osm. Nous avons déjà ce fichier et pouvant passer à l'étape suivante.

Importer la topologie depuis un XML : cette étape consiste à créer une base SpatialLite à partir d'un fichier .osm. Sélectionnez le fichier buildings.osm créé à l'étape précédente et démarrez l'import : le fichier buildings.osm.db est généré.

Exporter la topologie vers SpatialLite : cette opération consiste à créer une couche QGis à partir de la base SpatialLite créée. Choisissez Polygones pour le Type d'export, sélectionnez éventuellement les étiquettes OSM (clefs, tags) qui seront converties en colonnes, et pressez OK.

Résultat

La ville de Brest à l'échelle 1:5 000

Notre projet est maintenant bien avancé : il est temps de penser à nous désaltérer. Nous allons préparer cela à la prochaine et dernière étape de notre atelier.