RSS Libre@vous
RSS de la rubrique Géomatique

Dernière mise à jour
le 14/01/2016 à 15h43
Les contenus de ce site sont publiés sous la licence CC by-sa, sauf mention contraire.
licence_CC-by-sa
Copyright © 2017 Libre @ vous. Tous droits réservés.
Joomla! est un logiciel libre sous licence GNU/GPL.
28
Nov
2014
Contribution thématique à OSM avec QGIS et JOSM Imprimer
OpenStreetMap propose plusieurs éditeurs permettant de contribuer aux données du projet. Si vous êtes contributeur occasionnel vous utilisez sans doute Potlatch ou ID qui sont disponibles directement sur le site openstreetmap.org. Si vous contribuer plus régulièrement, vous avez peut-être franchi le pas en installant JOSM sur votre ordinateur. C'est un éditeur très complet avec de nombreux outils intégrés et la possibilité d'en rajouter à travers l'installation de plugins.

Tous ces éditeurs ont un point commun : pour contribuer il faut choisir une zone, y télécharger les données existantes dans OSM puis on peut ajouter des nouvelles informations ou modifier celles existantes. Mais ce mode de fonctionnement est très peu adapté quand on souhaite contribuer par une entrée thématique plutôt que géographique. Je vous propose de découvrir dans cet article comment utiliser le logiciel libre QGIS en complément de JOSM afin de faciliter la contribution thématique à OpenStreetMap.

Pourquoi une contribution thématique ?


Vous aimeriez pouvoir contribuer à OSM sur un thème donné plutôt que sur tous les objets d'une zone géographique. Par exemple, vous avez remarqué quelques établissements scolaires où il manque des informations dans OSM et vous vous dites que vous aimeriez bien pouvoir travailler sur tous les établissements de la région Languedoc-Roussillon et les compléter avec des informations disponibles dans l'annuaire de l'éducation nationale.

Pour vous aidez, vous allez pouvoir utiliser le logiciel QGIS. QGIS est un SIG c'est à dire un logiciel métier qui permet recueillir, stocker, traiter, analyser, gérer et présenter tous les types de données spatiales et géographiques. Pour plus d'informations voir cette page wikipédia. L'avantage d'un logiciel comme QGIS c'est qu'il permet de gérer les informations géographiques par couche thématique et d'avoir une vision synthétique sous forme de tableau de toutes les valeurs associées aux objets (un équivalent des tags en terminologie OSM).

Vous pourrez par exemple visualiser en un coup d'oeil la liste de tous les établissements scolaires et ne faire apparaître que ceux dont le nom n'est pas renseigné. Mais la difficulté avec QGIS c'est que ce n'est pas un éditeur de données OSM et qu'il n'y est donc pas possible de modifier les informations OpenStreetMap (en fait il existe un plugin qui permet de faire ça mais c'est une horreur et vous pouvez oublier cette idée). Toutefois tout n'est pas perdu car il existe un moyen de coupler QGIS avec JOSM pour y ouvrir les données que vous aurez choisi. Je vais vous expliquer comment procéder.

Charger et visualiser les objets OSM dans QGIS


Il faut déjà commencer par charger les établissements scolaires de la région Languedoc-Roussillon dans QGIS, voici la procédure à suivre :
- téléchargez les données OSM mises à disposition sur le serveur de la Maison de la Télédétection. Pour les établissements scolaires, il s'agit de la couche ecoles_(points)_(polygones).zip. Prenez soin de prendre le fichier qui se trouve dans le répertoire nommé avec la date la plus récente (les extractions OSM sont réalisées une fois par semaine sur ce serveur).
- décompressez le fichier zip
- lancez le logiciel QGIS puis faites glisser dans sa fenêtre le fichier décompressé ecoles/ecoles_points.shp/ecoles_points.shp
- vous devriez voir apparaître dans l'interface cartographique de QGIS tous les établissements scolaires de la région Languedoc-Roussillon
- cliquez sur le nom de la couche ecole_points dans la liste des couches à gauche
- dans la barre d'icônes au dessus de la carte, cliquez sur le bouton Ouvrir la table d'attributs pour afficher les valeurs attributaires des différents établissements scolaires qgis_table_attributs

Il y a 6 colonnes affichées : ID, OSM_ID, NOM, OPERATEUR, NIVEAU, REF_UAI. La première est un simple identifiant numérique affecté à chaque ligne du tableau. La deuxième colonne est un peu particulière, il s'agit de l'identifiant de l'objet dans la base OSM. C'est cet identifiant qui permettra notamment d'ouvrir l'objet correspondant dans JOSM. Enfin les 4 autres colonnes proviennent des tags qui ont été saisis dans OSM pour chaque établissement scolaire. Au moment de l'extraction sur le serveur les noms des tags ont été traduits pour avoir des noms de colonnes plus lisibles et en français. Voici la correspondance entre les colonnes et les tags OSM dans ce cas : NOM -> name, OPERATEUR -> operator:type, NIVEAU -> school:FR, REF_UAI -> ref:UAI. Pour une description des tags d'établissements scolaires dans OSM, voir cette page sur le wiki OSM.

En parcourant la liste QGIS, vous remarquerez notamment que pour un certain nombre d'établissements les tags name et ref:UAI n'ont pas été renseignés (valeur NULL). Le tag ref:UAI est le code établissement défini par l'éducation nationale. C'est une information très importante car elle permet de faire le lien entre l'objet OSM et d'autres bases de données d'établissement scolaires.

Sélectionner des objets et les ouvrir dans JOSM


Pour les établissements scolaires, la priorité est de renseigner le fameux tag ref:UAI qui contient les codes d'établissement. Dans la table attributaire de QGIS, vous allez donc ne faire apparaître que ceux dont la colonne REF_UAI est NULL. Pour cela, cliquez en dessous de la liste sur le bouton Montrer toutes les entités, sélectionnez Filtre de colonne > REF_UAI, et dans le champ juste à droite tapez NULL, puis cliquez sur le bouton Appliquer. Vous ne voyez maintenant apparaître que les établissements dont le ref:UAI n'est pas renseigné dans OSM.

Pour pouvoir charger dans JOSM des objets affichés dans QGIS, j'ai créé un petit fichier de style pour QGIS qui permet d'ajouter sur une couche ce que l'on appelle des actions. Je ne vais pas rentrer d'avantage dans les détails ici, le but n'est pas de faire une formation à QGIS. Tout ce que vous devez savoir c'est que cela permet d'ajouter des petites fonctions spécifiques à une couche. Téléchargez le fichier osm_actions.qml que j'ai mis à disposition à la fin de cet article. Dans la fenêtre principale de QGIS, faites un click droit sur la couche ecoles_points et sélectionnez Propriétés. Une nouvelle fenêtre s'ouvre, cliquez en bas à gauche sur le bouton Charger le style et sélectionnez le fichier osm_actions.qml, puis Ouvrir. Cliquez en bas sur le bouton OK.

Revenez maintenant sur la fenêtre contenant la table d'attributs de la couche. Si vous faites un click droit sur un objet de la liste, vous verrez maintenant deux fonctions Afficher l'entité sur openstreetmap.org et Ouvrir les entités sélectionnées dans JOSM. En cliquant sur les numéros de ligne tout à gauche et en tenant la touche SHIFT vous pouvez sélectionner plusieurs établissements. Sélectionnez par exemple les 20 premiers établissements de la liste, puis faites un clic droit et choisissez Ouvrir les entités sélectionnées dans JOSM. Attention pour que cela fonctionne, il faut avoir déjà ouvert JOSM au préalable. Si ce n'est pas le cas, lancez-le et recommencez.

Les établissements que vous aviez sélectionnés dans QGIS sont maintenant ouverts dans JOSM. Il ne reste plus qu'à les éditer un par un et renseigner les différents tags en recherchant les informations sur l'annuaire de l'éducation nationale. D'autres informations sont données dans l'annuaire, donc on peut tant qu'à faire en profiter pour saisir celles qui manquent dans OSM (nom de l'établissement, opérateur privé ou public, niveau d'enseignement, numéro de téléphone / fax). Pour le nom j'ai personnellement choisi de ne pas faire figurer le type d'opérateur, par exemple je mets École élémentaire Jules Simon. Attention il peut y avoir quelques cas délicats de regroupement d'établissements au même endroit. Par exemple une école élémentaire avec une école maternelle, mais qui sont pourtant données avec deux codes différents dans l'annuaire. Dans ce cas, je suis la recommandation qui est donnée sur la page du wiki OSM, à savoir créer deux points avec les informations de chacune des écoles sur un point.

Se faciliter la saisie des tags


Dans le cas d'une contribution thématique, la saisie des tags peut vite devenir pénible car on saisit toujours les mêmes pour chacun des objets édités. Pour se faciliter la tâche, on peut utiliser dans JOSM ce qu'on appelle un modèle d'attributs. Cela correspond aux petites fenêtres qui s'ouvrent quand on sélectionne une entrée dans le menu Préréglages de JOSM. C'est un formulaire proposant différents champs qui correspondent au type d'objet que l'on a choisi dans le menu. Pour plus d'informations à ce sujet vous pouvez consulter la doc learnosm.

Pour les établissements scolaires j'ai déjà créé un modèle d'attributs avec les tags amenity=school, name, operator:type, school:FR, ref:UAI, phone et fax. Téléchargez le fichier etablissements_scolaires.xml disponible ci-dessous. Pour l'ajouter dans JOSM, ouvrez les préférences, cliquez à gauche sur le 3ème onglet vertical, puis Modèle d'attributs et enfin l'icône + en haut à droite.
josm_modele_attributs
Mettez un nom (par exemple Établissement scolaire) et sélectionnez le fichier etablissements_scolaires.xml. Cliquez sur Valider, il doit s'ajouter dans la liste Modèles actifs. Cliquez à nouveau sur Valider. Pour que le nouveau modèle soit pris en compte il vous faudra normalement redémarrer JOSM.

Relancez JOSM, réouvrez y tous les objets depuis QGIS. Sélectionnez un premier établissement, puis ouvrez le menu Attributs > Établissement scolaire. Et voilà vous avez un formulaire dédié qui permet de saisir bien plus rapidement les informations des établissements scolaires !

Appel à contribution !


Mon choix des établissements scolaires pour illustrer cet article est tout sauf un hasard Complice En effet, à la date du 28/11/2014 il y a 1368 établissements dans OSM sur le Languedoc-Roussillon, mais 639 d'entre eux n'ont pas de ref:UAI renseigné et 141 n'ont pas de nom. Il y a donc un gros boulot à faire avec l'annuaire de l'éducation nationale pour renseigner ces tags. J'ai déjà commencé, mais j'ai besoin d'aide. Pour conclure cet article, je lance donc un appel à contribution ! Et ce sera l'occasion pour vous de mettre en oeuvre ce petit tutoriel.



 

Commentaires  

 
#1 Randriafanomezana Michael 14-01-2016 13:04
Merci c'est très interessant
Citer
 
 
#2 Nicolas Moyroud 14-01-2016 15:46
Avec plaisir :-)
Concernant les établissements scolaires depuis mon article les choses ont bien avancé dans le département de l'Hérault, mais il reste encore beaucoup de boulot dans les autres départements et sans doute encore plus depuis que la région s'est agrandie !
Citer
 

Ajouter un Commentaire

Tout les contenus de ce site sont publiés selon les termes de la licence Creative Commons by sa. En ajoutant votre commentaire, vous acceptez implicitement sa mise à disposition selon les termes de cette licence.


Code de sécurité
Rafraîchir