Trucs et astuces: historique

Il est quelquefois utile de connaître le nom de l’usager qui a créé un objet ou, mieux, de récupérer l’historique des modifications de l’objet. J’ai découvert quelques méthodes, que j’exposerai ici.

1ère méthode: www.informationfreeway.org
Ce site affiche les cartes OSM en utilisant un moteur de rendu appelé osmarender. Lorsqu’on visionne le niveau de zoom le plus élevé (zoom 17), on voit apparaître un nom sous chacune des voies. C’est le nom de la dernière personne qui a modifié la voie.

Notez qu’un symbole de copyright apparaît à côté du nom. C’est une erreur vicieuse car les données d’OSM ne peuvent avoir de copyright.
Notez aussi que cette méthode ne s’applique qu’aux voies et non aux points.

2ième méthode: utilisation de l’éditeur PotLatch
Dans PotLatch, si on sélectionne une voie, on peut presser h pour connaître l’historique des modifications et le nom de l’auteur. On peut même réactiver une version antérieure.
Malheureusement, cette fonction n’est pas disponible pour les points.

3ième méthode: utilisation de l’éditeur JOSM
Dans JOSM, on peut sélectionner un (ou plusieurs) objets(s). La commande Alt-A affiche la liste des personnes qui ont édité ces objets.
Notez que l’objet peut être un point.
On peut aussi utiliser cette technique pour connaître les différents usagers d’une région. Il suffit de sélectionner tous les objets de la région et de faire Alt-A. Vous verrez la liste des usagers et leur % de participation.

La commande Alt-H permet d’afficher l’historique mais, à ce jour (version 528), elle n’est pas implantée.

4ième méthode: utilisation du serveur OSM
On peut envoyer une requête XML au serveur OSM. Voici la méthode:
Dans PotLatch, sélectionnez un point ou une voie. En bas, à gauche, vous verrez apparaître POINT (ou WAY) suivi d’un nombre. Pour l’exemple, supposons que vous obtenez POINT 18885667. Vous pouvez alors entrer l’URL suivant dans votre navigateur:

http://openstreetmap.org/api/0.5/node/18885667/history

On recevra alors une page de texte qui ressemble à ceci:

<osm version="0.5" generator="OpenStreetMap server">
  <node id="18885667" lat="45.501197" lon="-73.5629396" visible="true" timestamp="2007-06-26T01:09:39+01:00">
    <tag k="created_by" v="JOSM"/>
    <tag k="name" v="Montréal"/>
    <tag k="is_in" v="Quebec, Canada"/>
    <tag k="place" v="city"/>
  </node>
  <node id="18885667" lat="45.501197" lon="-73.5629396" user="moyogo" visible="true" timestamp="2008-01-12T14:01:02+00:00">
    <tag k="created_by" v="JOSM"/>
    <tag k="name:en" v="Montreal"/>
    <tag k="name" v="Montréal"/>
    <tag k="is_in" v="Quebec, Canada"/>
    <tag k="place" v="city"/>
  </node>
</osm>

C’est du langage XML, facilement lisible. On peut y voir qu’il y a eu une création et une modification (pour quelle raison?). On y trouve aussi plusieurs informations utiles telles la longitude, la latitude, le nom de l’outil utilisé et la date de modification.
Le nom du premier usager n’est pas affiché car, à cette époque, OSM n’enregistrait pas les noms.

La même technique peut être utilisée pour les voies et les relations. Il suffit de remplacer node par way ou par relation.

Avez-vous découvert d’autres méthodes?

Je me répond à moi-même. Le premier article date de 2008 et a besoin d’un rafraîchissement.