Problem mit JOSM, Revert-XML und verschiedenen Ebenen

Servus zusammen,

es kann sein, dass ich auf dem Schlauch steh und einfach den entsprechenden Schalter nicht finde:

Zum Sachverhalt:
Bei der Suche nach Self-Intersections via OSM-I habe ich eine Gegend gefunden, in der ziemlich viel kaputt gegangen ist (von Flächen wurden teilweise Punkte gleichförmig wild verschoben, Flächen wurden willkürlich geteilt und dann Teile dieser Flächen gelöscht etc.). Da der Verursacher in der Gegend aber auch viel Wertvolles gemacht hat (und dieses im selben Changeset hochgeladen hat), will ich dieses Wertvolle nicht einfach mit einem Revert ins Nirwana schießen.

Als Lösung für das Problem habe ich mir nun überlegt, dass ich die Changesets runterladen kann, dort im xml-Text die Teile, die gut sind, erhalten kann, einen revert des Original-Changesets mache und danach das manuell geänderte Changeset wieder drüber bügle.

Diesen Vorgang habe ich in JOSM angefangen und es sieht auch nicht schlecht aus - bis auf ein Problem:

Ich lade die Grunddaten vom Server, mache das Original-Changeset rückgängig, lade dann von der lokalen Platte das geänderte Changeset (welches gut aussieht) und JOSM legt mir dieses in einer separaten Ebene an. Und nun bekomme ich diese beiden Ebenen absolut nicht zusammen. Wenn ich auf “Vereinen” gehe, dann bügelt er mir jedes Mal die Serverversion über die manuell geänderten Daten und diese sind weg.

Was mache ich falsch?

Wenn ich die geänderten Daten per Copy&Paste über die Ebenen rüberschiebe, dann kopiert er mir nur die Teile, die es noch nicht gibt, die Änderungen müsste ich dann manuell nachtragen.

Theoretisch könnte ich vermutlich auch noch den Weg gehen, dass ich die Daten vom Server runterlade, den Changeset rückgängig mache, diese Daten wieder hochlade, dann meinen Änderungs-Changeset öffne und diese Daten anschließend hochlade. Das ist aber eine Operation am offenen Herzen, die ich nicht wirklich machen will. Da möchte ich das schon vorher im JOSM mir anschauen können.

Hat jemand vielleicht noch eine andere Idee, wie man das Ganze sinnvoll so lösen könnte, dass die kaputten Daten repariert werden können ohne die guten Daten zu zerschießen und ohne manuell alles wieder zurechtrücken zu müssen?

Klingt kompliziert.

Du kannst auch ein Changeset lokal zurückgängig machen und nur eine Auswahl per Selektion wieder hochladen.
Willst du also einen Landuse fixen, so lädst du nur diesen wieder hoch.

Alternativ besteht die Möglichkeit (das mache ich häufiger), einen Teil eines Changesets rückgängig zu machen.

Way selektieren, mit dem Util 2 Plugin alle Punkte auf dem Way Selektieren (Taste E) und dann das Changeset
nur mit der Selektion rückgängig machen. Wenn nur Punkte verschoben wurden (Achtung das richtige Changeset wählen)
dann hat mir das gerade beim fixen von OSMI Fehlern geholfen.

Ich finde übrigends Klasse, das sich jetzt anscheinen mehr um die Self Intersections kümmern, ich habe den Eindruck
das die Zahl (trotz stetigen Zuflusses an Fehlern) überschaubar bleibt.

Christoph
P.S. wieder bei der Arbeit :slight_smile:

Hast Du mal den betreffenden Mapper angesprochen? Eventuell sieht er/sie das Chaos und sagt dann: mach rückgängig, die guten Teile stelle ich dann selbst wieder her. Hängt natürlich vom Verhältnis sinnvoller zu fehlerhafter Bearbeitungen ab, aber genau das habe ich mal erlebt: Jemandem ist ein Changeset ordentlich schief gegangen, ich habe Hilfe per Revert angeboten und sogar vorgeschlagen, die “guten” Teile so gut wie möglich zu verschonen, wenn sie sich benennen lassen - aber dem/der Kollegen/in war es lieber, alles gründlich rückgängig zu machen und sinnvolle Änderungen selbst wieder einzupflegen. Fragen schadet nicht.

Ansonsten läßt sich das reverter_plugin von JOSM auch selektiv anwenden: “Nur Auswahl” hilft für verschobene Punkte schon ganz gut. “gelöschte Objekte wiederherstellen” in Verbindung mit Umkehrung der Änderungen an den willkürlich geteilten Wegen könnte die verlorenen Teilflächen retten. Eventuell in mehreren Einzelschritten bearbeiten.

Aber: Falls Du das reverter_plugin bisher noch nie benutzt hast, ist ein so komplexer Fall ganz sicher nicht das Richtige für einen ersten Versuch, denn man kann auch viel damit kaputtmachen. Hier tummeln sich aber einige Leute, die Erfahrung mit dem Werkzeug haben und ggf. auch Spaß an einer solchen Herausforderung hätten…

mit dem Mapper stehe ich schon im regen Austausch, er könnte theoretisch einen Teil wiederherstellen, aber das ist recht viel Arbeit (er war ausgesprochen fleißig :slight_smile: ), die ich irgendwie verhindern will

das mit dem selektiv Reverten habe ich gestern versucht (in mehrfachen Iterationsschritten hintereinander) und danach ein reines Datenchaos gehabt (allerdings habe ich die Variante mit dem gleichzeitigen Markieren der Punkte von TheFive noch nicht ausprobiert, wobei ich da das Problem sehe, was mit 613 Objekten passiert, bei denen evtl. verschiedene Changesets zum Einsatz kommen und wie finde ich den jüngsten Changeset, den ich anwenden muss, heraus, ohne alle 613 Objekte manuell durchzuschauen?)

Ich auch… :wink:
…und zum Aufwärmen gehts an den OSMI :sunglasses:
Zum reverten kann ich leider nichts beitragen, weil mir da die Erfahrung und der Mut fehlt :frowning: , verfolge das aber mit großem Interesse.

so,

nachdem ich ein Wochenende mich mit dem Problem rumgeschlagen habe und immer noch keine ordentliche Gesamt-Lösung, hier mal der Stand mit dem was klappt und mit dem, was nicht klappt.

Das Revert bei noch vorhandenen Objekten funktioniert tadellos und führt in der Regel auch zu dem Ergebnis, dass ich erwarten würde (an zwei bis drei Stellen muss ich nachschauen, was da schief gelaufen ist, aber der Rest sieht recht gut aus).

Das Wiederherstellen von gelöschten Objekten funktioniert hingegen nicht so, wie ich es erwartet hätte. Wenn ich einen Weg wiederherstellen will, dann habe ich bisher über das Changeset die Weg-ID ermittelt, diesen via Alt-Umschalt-U wiederhergestellt (danach wurde er nicht sichtbar dargestellt), anschließend über die Suchfunktion nach dem String “retrieved using undelete JOSM plugin” den Weg samt zugehörigen Punkten markiert, über eine Umkehrung des Changesets wurde der Weg samt Punkten sichtbar und wenn ich das Ganze dann hochladen will, dann moniert der Server, dass ihm verschiedene Punkte des Weges fehlen (die aber in JOSM definitiv vorhanden sind).

Muss ich, bevor ich einen Weg wiederherstelle, zuerst alle Punkte dieses Weges wiederherstellen? Das wäre keine Arbeit, die wirklich Spaß macht, da manche gelöschten Wege locker Punkte im dreistelligen Bereich haben.

Kennt jemand das Problem und hat eine Lösung dafür?

Der Server erlaubt (vernünftigerweise) nicht, einen Weg anzulegen, welcher Knoten enthält, die gelöscht sind. Das berücksichtigt JOSM in der Regel korrekt, allerdings nicht bei Benutzung des undelete-Plugins (vermutlich ein Bug im Plugin). Es gibt aber eine einfache Lösung.

Suche “modified type:node”, dann “Auswahl hochladen”. Damit werden nur die geänderten (inklusive wiederhergestellten) Punkte hochgeladen. Anschließend die restlichen Bearbeitungen wie gewohnt hochladen. Der Übersichtlichkeit halber möglichst alles in ein Changeset (also nach dem ersten Upload dieses nicht schließen).

Nach der Wiederherstellung eines Weges über das undelete-Plugin sollte eine weitere Umkehrung von Changesets übrigens nicht nötig sein.

Danke, genau das hab ich noch gebraucht :slight_smile:

Zu dem Problem mit dem undelete-Plugin gibt es übrigens schon ein Ticket (http://josm.openstreetmap.de/ticket/6568). Den Workaround habe ich gerade drangehängt, aber früher oder später wird das hoffentlich gefixt.