Moin,
ich habe mal meine JOSM-Version aktualisisert und mit osmconvert ein paar Versuche gemacht.
Ausgangspunkt ist die unten aufgefuehrte Beispieldatei test.osm (zwei residential-Strassen, jeder Node ist ein bollard).
Diese habe ich nun mit JOSM bearbeitet und als test_mod.osm abgespeichert.
- Node 23 mit name=deleted versehen und dann geloescht.
- Node 33 mit name=moved versehen und dann die Position geaendert
- Node 34 mit name=changed tag versehen und dann barrier=bollard entfernt und dafuer highway=traffuc_signals gesetzt
- eine neue Strasse bestehend aus zwei neuen Konten hinzugefuegt
- die Strasse mit name=neue strasse und highway=residential versehen
- die neuen Knoten mit name=neuer punkt 1 und name=neuer punkt 2 versehen
Wie man in der unten aufgefuehrten Datei test_mod.osm sehen kann, hat JOSM fuer die neuen Knoten die IDs -122 und -121 und fuer die neue Strasse die ID -123 vergeben. (Ich hatte JOSM noch von ein paar vorherigen Tests geoeffnet, das scheint sich auf die IDs auszuwirken.)
Alle bearbeiteten Daten sind mit action=modify gekennzeichnet, der geloeschte Node ist mit action=delete gekennzeichnet.
Jetzt habe ich osmconvert auf die JOSM ausgabe losgelassen:
osmconvert.exe test_mod.osm >test_mod2.osm
Wie man in der unten aufgefuehrten test_mod_2.osm sehen kann, hat osmconvert
- das mit action=delete markierte Element entfernt
- die action=modify Markierungen entfernt
- die iDs unveraendert gelassen.
Als letztes habe ich nun per osmconvert mal diff-Dateien zwischen den verschiedenen Versionen erzeugen lassen:
osmconvert.exe test.osm test_mod.osm --diff >test_mod_dif.osc
osmconvert.exe test.osm test_mod2.osm --diff >test_mod2_dif.osc
Wie man in den unten aufgefuehrten test_mod_dif.osc und test_mod2_dif.osc sehen kann, ist dabei folgendes herausgekommen:
- die action=delete Markierung in der JOSM Ausgabe test_mod.osm wird nicht als Aenderung erkannt
- nachdem der als geleoscht markierte Node per osmconvert aus der Datei entfernt worden ist, taucht die Aenderung auch in der Diff-Datei auf
- die neu erzeugten Elemente werden beide Mal richtig erkannt
- die veraenderten Nodes (sowohl die Koordinaten-Aenderung als auch die Tag-Aenderung) werden beide Mal nicht als Aenderung erkannt
Ich muss sagen, der letzte Punkt hat mich doch ziemlich unangenehm ueberrascht.
Gruss
Torsten
test.osm:
<?xml version='1.0' encoding='UTF-8'?>
test_mod.osm:
<?xml version='1.0' encoding='UTF-8'?>
test_mod2.osm:
<?xml version='1.0' encoding='UTF-8'?>
test_mod_dif.osc:
<?xml version='1.0' encoding='UTF-8'?>
test_mod2_dif.osc
<?xml version='1.0' encoding='UTF-8'?>