[OSM-dev-fr] Précisions à propos du format XML OSMChange
Pierre Béland
pierzenh at yahoo.fr
Dim 22 Déc 19:26:30 UTC 2013
François,
Voici une partie des réponses. Je vais laisser à d'autres traiter des relations.
À partir de l'historique de openstreetmap.org, si nous regardons l'historique d'un changeset particulier, il nous est offert de voir l'historique au format osmchange. Et effectivement, il est donc possible de voir toutes les transactions effectuées dans la base OSM avec ce changeset.
Voir par exemple http://www.openstreetmap.org/api/0.6/changeset/19585655/download, où on voit clairement des objets
- créés <create> le id n'est pas négatif, mais correspond plutôt à celui attribué lors de la sauvegarde
- modifiés <modify> et effectivement avec un no. de version plus grand que 1, correspondant à celui attribué lors de la sauvegarde
- effacés <delete>
Un noeud déplacé ne change pas d'id. C'est la géométrie qui change (ie. lat et lon).
Pierre
________________________________
De : François Lacombe <francois.lacombe at telecom-bretagne.eu>
À : Discussions développeur OSM en français <dev-fr at openstreetmap.org>
Envoyé le : Dimanche 22 décembre 2013 14h07
Objet : [OSM-dev-fr] Précisions à propos du format XML OSMChange
Bonsoir,
Une ou deux questions à propos du format OSMChange présenté sur le wiki.
http://wiki.openstreetmap.org/wiki/OsmChange
J'ai besoin de traiter des fichiers sous ce format, néanmoins je saisi mal la signification du placeholder "modify".
Ce placeholder correspondrait-il aux objets déjà connus d'OSM modifiés, donc allant disposer d'un numéro de version >= 2 et d'un nouvel identifiant ?
Create livre une liste d'objets à créer avec des identifiants négatifs, qui seront remplacés dans tout le document une fois l'ID connu.
Est-ce la même chose avec modify ? Je suppose que l'on doit remplacer l'ancien identifiant par le nouveau dans tout le document.
Enfin une chose m'échappe au niveau du traitement.
Lors de la création, on remplace tous les identifiants négatifs par leur valeur fixée par le serveur.
Que se passe-t-il pour modify ?
Par exemple, lorsqu'un nœud est déplacé, il va apparaitre dans ce placeholder. Si il appartient à une relation/voie, va-t-elle aussi apparaitre dans modify ?
L'ID du nœud va changer, comment mettre à jour les voies/relations dont il est membre si ces objets ne sont pas eux-même modifiés (donc n’apparaissent normalement pas dans le diff) ?
Le traitement étant séquentiel, que se passe-t-il si il y a des références circulaires (ou bien que les objets ne sont pas dans l'ordre de leur dépendance). Que la voie à laquelle un nouveau noeud appartient est spécifiée avant celui-ci ? On va la digérer avec un <nd ref="-32"> potentiellement.
Bref, merci par avance d'éclairer ma lanterne ;)
François Lacombe
francois dot lacombe At telecom-bretagne dot eu
http://www.infos-reseaux.com
_______________________________________________
dev-fr mailing list
dev-fr at openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.openstreetmap.org/pipermail/dev-fr/attachments/20131222/223af331/attachment.html>
Plus d'informations sur la liste de diffusion dev-fr