[Talk-de] Geisterzug? Wie umgehen mit einem Way, der gelöschte Nodes enthält?
Patrick Hanft
patrick at phlogfile.de
Sa Feb 7 17:08:49 UTC 2009
Hallo Martin,
Martin Simon wrote:
> die referenzierten Nodes existieren
> bis auf den Anfangs- und den Endnode nicht mehr.
Vermutlich genau dem gleichen Problem bin ich vor einigen Wochen begegnet und
konnte es mit Hilfe von Markus Stürmer beheben, oder besser gesagt, Markus
konnte dieses Problem beheben und ich daraufhin meines mit einer Relation, in
die ich entsprechenden Abschnitt als Member aufnehmen wollte.
> Wie kann man genau diese Nodes wieder herstellen?
Ich hoffe, ich gebe Markus' Beschreibung ausreichend genau wieder.
Kurzfassung:
1) Weg-History untersuchen
2) OSM-Datei "erstellen"
3) Alle Nodes durchgehen, und für jeden Node in...
4) ...dieser OSM-Datei eine Zeile mit den alten Koordinaten, einem
"visible=true" und einem modify eintragen.
5) OSM-Datei in JOSM öffnen, notfalls korrigieren und hochladen.
> Der betreffende Way hat die ID 30697363 und wurde angeblich zuletzt am
> 31. Januar vom Benutzer Veit-Kern mit Potlach geändert.
Langfassung:
1) Die Weg-ID hast du ja schon gefunden. Unter
http://www.openstreetmap.org/browse/way/30697363/history
siehst du den Weg mit der Liste seiner Mitgliedsknoten. Die darin enthaltenen
Nodes sind die Übeltäter ;)
2.) Als nächstes hergehen und eine Textdatei im osm-XML-Format erstellen. Als
Kopf sollte
<?xml version='1.0' encoding='UTF-8'?>
<osm version='0.5' generator='JOSM'>
</osm>
genügen. Zwischen <osm ...> und </osm> müssen wir nun die gewünschten
Änderungen einfügen.
3.) Dafür gehst du die Liste der Mitgliedsknoten Stück für Stück durch. Dazu
schauen wir uns die XML-History jedes Knoten an. Für den ersten wäre das:
http://www.openstreetmap.org/api/0.5/node/339455294 (vorsicht, XML-Output!)
Anhand des "visible=true" können wir sehen, dass dieser Knoten nicht gelöscht
ist. Hier müssen wir nichts weiter tun.
Der XML-Inhalt des nächsten Knotens ist:
( http://www.openstreetmap.org/api/0.5/node/31172730/history )
<osm version="0.5" generator="OpenStreetMap server">
[...]
<node id="31172730" lat="50.6184589" lon="7.2057813" user="Veit-Kern"
visible="true" timestamp="2009-01-31T21:35:49+00:00"/>
<node id="31172730" lat="50.6184589" lon="7.2057813" user="Veit-Kern"
visible="false" timestamp="2009-01-31T21:35:56+00:00"/>
</osm>
Die letzte <node>-Zeile zeigt den aktuellen Status des Nodes an. Anhand des
'visible="false"' kann man sehen, dass dieser derzeit "gelöscht" ist.
4.) Kopiere nun diese Zeile in unsere Textdatei an besagte Stelle für die
Änderungen und ändere sie ab indem du visible=true setzt und action=modify
hinzufügst:
<node id="31172730" lat="50.6184589" lon="7.2057813"
visible="true" action="modify" />
So verfährst du jetzt mit allen Nodes, deren Status invisible ist. Weil -
vermute ich - da auch "legitimerweise gelöschte" Nodes dabei sein können,
musst du womöglich vor dem Upload nochmal "manuell" korrigieren. Solche
"legitim gelöschten" Nodes sind dann aber vermutlich Anhand eines anderen
Änderungszeitpunktes zu erkennen.
5.) Diese Datei speicherst du nun (endgültig - hoffentlich vorher schonmal
angespeichert ;) als irgendwas.osm ab und öffnest sie in JOSM. Falls du mit dem
Ergebnis zufrieden bist, kannst du den die Änderungen am Way jetzt hoffentlich
ohne größere Probleme hochladen.
Ich hoffe, ich konnte weiterhelfen. "Credit" für diese Verfahrensweise geht -
zumindest von meiner Seite aus - an Markus Stürmer. Ich hab nur seine
Kurzbeschreibung, wie er das damals behoben hat, etwas ausführlicher verfasst.
Falls es noch Probleme gibt, einfach nochmal nachfragen.
Schöne Grüße,
Patrick
--
E-Mail & Jabber: patrick at phlogfile.de
ICQ: 78746944
GPG-Key: 0x21CF2FEB
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname : signature.asc
Dateityp : application/pgp-signature
Dateigröße : 197 bytes
Beschreibung: This is a digitally signed message part.
URL : <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20090207/0f0422f1/attachment.sig>
Mehr Informationen über die Mailingliste Talk-de