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.laco...@telecom-bretagne.eu>
À : Discussions développeur OSM en français <dev-fr@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@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr
_______________________________________________
dev-fr mailing list
dev-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/dev-fr

Répondre à