DE:JOSM/Plugins/Reverter

From OpenStreetMap Wiki
Jump to navigation Jump to search

Reverter ist ein Plugin um Änderungen rückgängig zu machen.

Das Problem

Die Verwendung von Skripten zum Zurücksetzen ist nicht einfach. In vielen Fällen ist es nützlich, die Änderungen vor dem Hochladen des Reversion-Änderungssatzes in der Vorschau anzuzeigen und zu überprüfen.

Achtung

Alles, was in Revert scripts#Act_responsibly.21 und der Seite Automated Edits geschrieben wurde, gilt hier. Das Plugin ist weder für die Verwendung in Edit Wars noch für destruktive Aktionen gedacht.

Setze keine Änderungen von anderen Nutzern zurück, ohne sie vorher höflich zu kontaktieren und ihnen genügend Zeit für eine Antwort zu geben (mindestens eine Woche). Fehlerhafte Daten können problemlos behoben werden, aber eine zerbrochene Gemeinschaft ist nicht so leicht wieder herzustellen. :)

Lass dich nicht dazu verleiten, einfach mal Änderungen zurückzusetzen, nur um mögliche Bearbeitungs-Konflikte mit anderen Nutzer zu umgehen! Besprich im Zweifelsfall die Dinge auf der Mailingliste, bevor du loslegst.

Benutzung

JOSM Reverter Deutsch.png
  • Lade den Bereich herunter, der von dem Änderungssatz betroffen ist, der zurückgesetzt werden soll. Wenn du ein paar Objekte übersiehst, spielt das keine Rolle - sie werden automatisch heruntergeladen. Du kannst auch mit einer leeren Ebene beginnen (Datei -> Neue Ebene).
  • Nach dem Auswählen des Reverter-Plugin aus der Liste JOSM/Plugins, gefolgt von seiner Installation und abschließend mit einem JOSM-Neustart, solltest du jetzt einen neuen Menüpunkt finden: Daten -> Änderungssatz umkehren. Wähle ihn aus und gib dann die ID des Änderungssatzes ein, den du zurücksetzen möchtest. Behalte für eine vollständige Zurücksetzung die Standardoption bei.
    • Hinweis: Wenn da ein Weg war, der durch den Änderungssatz gelöscht wurde, den du jetzt aber rückgängig machen möchtest - und nach dem Herunterladen der Kartendaten durch das Plugin werden aber nur die Knoten dieses Weges angezeigt, dann versuche ein zweites Mal eine Rücksetzung mit der gleichen Änderungssatz-ID. In einigen Fällen befindet sich der gelöschte und nun wiederhergestellte Weg jetzt in der Bildschirmanzeige von JOSM.
  • Das Plugin erstellt Änderungen, die die Aktionen des vorherigen Änderungssatzes zurücknehmen. Überprüfe die Ergebnisse.
  • Hochladen. Im Upload-Dialog kannst du die Zusammenfassung der Änderungen ein letztes Mal überprüfen.

Teilweises Wiederherstellen

Wenn der Änderungssatz größtenteils in Ordnung war, aber ein paar Objekte zerstört hat, kannst du diese teilweise wieder herstellen. Es gibt zwei Möglichkeiten, eine Teil-Wiederherstellung durchzuführen:

  • Führe eine vollständige Zurücksetzung wie oben beschrieben durch, aber lade sie nicht hoch! Wähle nun die Objekte aus, die zurückgesetzt werden sollen, und führe Datei -> Auswahl hochladen aus. Wenn jedoch das Zurücksetzen das Löschen von Objekten beinhaltet, können diese nicht mehr ausgewählt werden und wären nicht enthalten.
  • Lade zunächst die Objekte herunter, die zurückgesetzt werden sollen - wähle diese aus und verwende die Option "Nur Auswahl zurücksetzen" im Dialogfeld "Reverter".

Um die Geometrie eines Weges wieder herzustellen, musst du in beiden Fällen sowohl den Weg als auch seine Knoten auswählen (weil ein Weg nur eine Liste von Knoten-IDs speichert, aber nicht deren Positionen). Du kannst nach diesen suchen (Strg+F), mit der Option selected | child (selected type:way), um die Knoten aller ausgewählten Wege zur Auswahl hinzuzufügen.

Sauberes und schmutziges Zurücksetzen

Ein Änderungssatz ist sauber, wenn es keine Änderungen darüber gibt (beispielsweise von anderen Benutzern), andernfalls ist er schmutzig. Das Reverter-Plugin ist fähig, sowohl saubere als auch schmutzige Rücksetzungen zu verarbeiten. Im Falle einer nachfolgenden Änderung durch einen anderen Benutzer wird der Upload fehlschlagen und ein Konflikt wird erstellt. Du kannst diese Konflikte mit dem Standard-Konfliktdialog des JOSM lösen und anschließend hochladen.

Mehrere Änderungssätze in einem Upload zurücksetzen

Es ist möglich, mehrere nachfolgende Änderungssätze in einem Upload rückgängig zu machen. Bearbeite diese einfach nacheinander (in umgekehrter Reihenfolge, also letzter Satz zuerst).

(Das ist eine Verwendung für fortgeschrittene Nutzer und wird dir nicht empfohlen, wenn du nicht genau weißt, was dabei geschieht - kontaktiere die Data Working Group für Hilfe und Beratung bei der Handhabung komplexer Zurücksetzungen.)

Konflikte lösen

Wie funktioniert es?

Das Reverter-Plugin lädt den Änderungssatz vom Server herunter. Es ruft alle Objekte ab, die vom Änderungssatz betroffen sind. Es wird nicht die aktuelle Version der Objekte heruntergeladen, sondern die Version unmittelbar nach dem Änderungssatz, der zurückgesetzt werden soll. Dann ändert es automatisch die lokale Kopie der Objekte in der Weise, als wäre der Änderungssatz nicht angewandt worden. Diese Änderungen werden von JOSM auf die gleiche Weise protokolliert, wie du deine manuellen Änderungen aufzeichnen würdest.

Insbesondere:

  • Wenn der zurückzusetzende Änderungssatz ein Tag zu einem existierenden Objekt hinzugefügt hat, wird dieses Tag vom Reverter-Plugin entfernt und das Objekt wird intern als dirty markiert (und wird Teil der Ergebnis-Liste der "modifizierten" Objekte sein, die die JOSM-Datensuchfunktion ausgibt).
  • Wenn der zurückzusetzende Änderungssatz ein Tag zu einem bestehenden Objekt entfernt oder modifiziert hat, wird dieses Tag vom Reverter-Plugin wiederhergestellt und das Objekt wird als dirty markiert.
  • Wenn der zurückzusetzende Änderungssatz Objekte löschen sollte, stellt das Plugin sie wieder her (bzw. es entfernt die Lösch-Markierung). Die ID des Objekts bleibt unverändert und die Historie wird unverändert beibehalten (das Objekt kann nicht sofort hochgeladen werden, wenn seine Tags, Geometrie oder Elemente unverändert gelassen werden, da die interne Version eines nicht gelöschten Objekts immer noch nicht als dirty markiert ist, und das nicht gelöschte Objekt ist immer noch nicht Teil der "modifizierten" Objektliste des Editors).
  • Wenn der Änderungssatz, der rückgängig gemacht werden soll, ein neues Objekt erzeugt hat (z.B. ein Duplikat), wird es gelöscht (und dieses Objekt wird intern als dirty markiert). In diesem Fall bekommst du keine visuelle Rückmeldung im Karteneditor, wenn die Objekte nicht bereits vor der Verwendung des Reverters geladen wurden, oder sie werden nicht mehr ausgewählt und verschwinden aus dem Karteneditor (du kannst jedoch die Löschungen sehen, die im Upload-Dialog angewendet werden sollen).

Du kannst diese Zurücksetzung immer noch abbrechen, um ein beliebiges Objekt, das beim Zurücksetzen gelöscht werden wird, mit Strg+Z (zurück, "unDo") wieder wählbar und sichtbar machen, was sofort für jede vom Reverter vorgenommene Änderung gilt (in einem Bearbeitungsverlauf-Fenster werden diese Elemente erfasst). Drücke dann Strg+Y, um es sofort zu wiederholen ("reDo" - dies kann nützlich sein, um den Effekt auf bestimmte Bereiche visuell zu vergleichen, oder Tag-Werte vor und nach dem Zurücksetzen zu vergleichen) und zu entscheiden, ob du diese Zurücksetzung wirklich auf den Datenserver hochladen möchtest.

Der Upload ist in keiner Weise etwas Besonderes, er erhöht die Version jedes betroffenen Objekts und der Zurücksetzungs-Prozess wird im Bearbeitungsverlauf (History) sichtbar.

Probleme

Bitte schreibe einen Fehlerbericht, falls du Probleme mit diesem Plugin haben solltest. Eine Nachricht "Vorbedingung fehlgeschlagen" (Precondition failed) vom Server sollte nicht auftreten, dies wäre ein zu meldender Fehler. Versuche dich beim Schreiben eines Fehlertickets an die Schritte zu erinnern, die du vor dem Problem getan hast und notieren auch die Änderungssatz-IDs.

Entwicklung

Geschrieben von User:Upliner

Quellcode im SVN: https://trac.openstreetmap.org/browser/applications/editors/josm/plugins/reverter

Siehe auch