[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