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.
La première étape consiste à :
.pbf au format .osm
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.
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
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.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.