Automatische Reparaturen: Ersatz für xybot

Hallo zusammen,

die älteren unter uns werden sich noch an xybot erinnern, der einst regelmäßig eine Reihe von Fehlern beseitigt hat. Wie es aussieht, ist xybot endgültig außer Betrieb, und auch sein Betreiber scheint bei OSM nicht mehr allzu aktiv zu sein. Ich möchte einmal die Diskussion anstoßen, ob und welche dieser Korrekturen zukünftig wieder automatisiert durchgeführt werden sollen. Einige der vormals von xybot automatisch behobenen Fehler werden derzeit von Mappern manuell korrigiert. Diese Arbeitszeit könnten wir uns ggf. zum Teil sparen.
Geographisch geht es mir dabei erst einmal ausschließlich um Deutschland, daher die Diskussion hier (obwohl einige der Fehlertypen auch den Rest der Welt betreffen).

In diesem Faden möchte ich zunächst nur ein Meinungsbild gewinnen, um eine Vorauswahl zu treffen; wenn sich abzeichnet, welche Korrekturen grundsätzlich Unterstützung finden, kann man die Details in einem zweiten Schritt diskutieren, insbesondere die genaue Vorgehensweise und nach welchen Kriterien die Korrektur beschränkt werden soll - und nicht zuletzt ob sich für die einzelnen Aufgaben (Entwicklung, Ausführung/Betrieb) dann auch Freiwillige finden. Erst diese zweite, detaillierte Diskussion wäre dann jene, die auch von den einschlägigen Spielregeln für automatische Edits verlangt wird.

Ggf. könnte man auch über weitere automatische Korrekturen nachdenken; hier stelle ich erst einmal nur jene zur Diskussion, die xybot bisher durchgeführt hat.

Die Frage lautet also: Haltet ihr es grundsätzlich für sinnvoll, die genannten Korrekturen zu automatisieren?
Zur Erleichterung der Übersicht ein “Formular”: (+) dafür, (-) dagegen, ( ) unschlüssig

( ) Schreibweise Straßennamen an highways
( ) Fehler in addr:*
( ) leere Tags
( ) Whitespace
( ) Knoten mehrfach hintereinander in Wegen
( ) Wege mit nur einem Knoten

Noch einmal deutlich: bei allen Korrekturen wird zu klären sein, an welchen Objekten und unter welchen Bedingungen sie angebracht werden sollen. Zustimmung zu einem der Punkte hier soll also ausdrücklich keinen Freibrief für irgendjemanden bedeuten, jetzt ohne weitere Abstimmung einen Bot loszulassen.

Kurze Erläuterung der genannten Korrekturen:
Schreibweise Straßennamen an highways: Str. → Straße, Strasse → Straße in den name-Tags von highway-Wegen
Fehler in addr:*: Soweit ich es überblicke, hat xybot folgende Korrekturen vorgenommen: 1) Korrekturen in addr:street wie bei den Straßennamen, 2) addr:country=de → DE etc.; ggf. könnte man weitere Korrekturen über jene von xybot hinaus ergänzen.
leere Tags: Tags ohne Schlüssel oder Wert (ggf. bis auf Leerzeichen). Aktion: Tag löschen.
Whitespace: Leerzeichen am Anfang oder Ende von Tags entfernen (ggf. müßte man zwischen Freitext- und definierten Tags unterscheiden)
Knoten mehrfach in Wegen/Wege aus einem Knoten: zwei altbekannte Potlatch-Fehler. Potlatch (gleichermaßen in Version 1 und 2) erzeugt regelmäßig Wege, die nur aus einem Knoten bestehen (Aktion von xybot: löschen), oder baut denselben Knoten mehrfach hintereinander in Wege ein (etwa A-B-B-C, Lösung: Reduktion zu A-B-C).

Ich fange dann mal an:

(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
( ) Whitespace
(+) Knoten mehrfach hintereinander in Wegen
( ) Wege mit nur einem Knoten

(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach hinterander im Weg
(+) Wege mit nur einem Knoten


(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
( ) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten

Bitte nur solche technischen Reparaturen als bot. Nicht so was (ganz unten).

(-) Schreibweise Straßennamen an highways
(-) Fehler in addr:* (de->DE ist ok)
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten

und bei den Straßen immer schön auf die Grenze zu ß-losen Staaten achten…

(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten

Darüber hinaus unverknüpfte ungetaggte Knoten, die nach September 2012 erstellt oder verschoben wurden.
Bei identischen Geometrien mit gleichen Tags die übereinander liegen, bis auf eine alle Löschen (Wenn es ein Element gibt, dass mehr Tags hat und neuer ist, können die anderen auch gelöscht werden).

[1] Schreibweise bei Strassennamen: Achtung beim “ß”: in der Schweiz wird dieser Buchstabe nicht verwendet. Hier gibt’s nur “ss”

Also wenn so ein Bot laufen sollte, dann sollte er diesmal Änderungen die länderspezifisch sind nicht nach Geofabrik-Extrakt machen sondern nach Grenzrelation. Wenn das zu aufwändig ist, dann kann der Bot eben nur allgemeine Dinge ändern, die in allen Teilen des Geofabrik-Extrakts gültig sind.


(+) Schreibweise Straßennamen an highways, wenn obiges sichergestellt ist
(+) Fehler in addr:*, wenn obiges sichergestellt ist
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten


(+) Schreibweise Straßennamen an highways (nur in absolut eindeutigen Fällen, wie oben schon gesagt wurde)
(+) Fehler in addr:* (nur in absolut eindeutigen Fällen, wie oben schon gesagt wurde)
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten
(+) unverknüpfte ungetaggte Knoten, die nach dem redaction bot erstellt wurden (siehe Beitrag von BFX)

(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten


(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten *

  • Solange der Weg ungetaggt ist.

Falls sich kein anderer Interessent findet (und immer vorausgesetzt, daß den bestehenden Einwänden - siehe “(-)” und diverse Anmerkungen - hinreichend Rechnung getragen werden kann), würde ich mich um die “Strassen” etc. kümmern (ein Werkzeug für diesen Zweck ist fast startklar). Mein Ansatz für die geographische Beschränkung wäre, zuerst den (etwas zu großen) Geofabrik-Extrakt nach Kandidaten zu filtern und dann in einem zweiten Schritt zu prüfen, ob die gefundenen Objekte tatsächlich in DE liegen. Da dann nicht der gesamte Datenbestand gegen die Grenzrelation abgeglichen werden müßte, sondern schlimmstenfalls einige hundert Knoten, wäre der Aufwand überschaubar.
Ich denke dabei in die Richtung, die Relation bzw. ihren größten Ring in ein Polygon umzuwandeln und dann per osmosis --bp zu filtern. Gab es nicht sogar schon einmal irgendwo “grenzgenaue” Schneidepolygone für genau diesen Zweck?

PS. Falls jemand Lust hat, sich mit dem Problem “Knoten mehrfach hintereinander im Weg” zu beschäftigen, hier ist ein möglicher Startpunkt ohne Postgresqlgis etc.: Wenn man einen -Stream durch

egrep '<nd|<way' | uniq -d | egrep -o '[0-9]+'

schiebt, erhält man eine Liste von Knoten (IDs), die an solchen Problemen beteiligt sind. Dann muß man die API nur noch nach ihren Elternwegen fragen und schon hat man seine Kandidaten (und natürlich auch alle anderen Wege, in denen der Knoten vorkommt). Ein Blick auf OSMI zeigt allerdings, daß dieses Problem doch nicht allzu akut ist bzw. in DE derzeit offenbar (manuell) erfolgreich in Schach gehalten wird - ganze 2 Fehler. Aber vielleicht ist der Hinweis auch gerade für die Kollegen von Interesse, die diese manuellen Korrekturen durchführen: Die erhaltene Liste kann man schließlich auch direkt in JOSM füttern.

Damit wäre ich vorsichtig.
Die Kollegen in Frankreich markieren hohe Gebäude oft mit zwei übereinander liegenden Messpunkten mit jeweils verschiedener Höhe. So etwas sollte man sicher nicht per Bot entfernen.
Man kann natürlich über die Sinnhaftigkeit dieser Einträge streiten, aber die Katasterdaten geben das eben her und die französische Community hat sich entschieden, das auch so zu übernehmen.

Edbert (EvanE)

Ich habe mir mal erlaubt, die Vorschläge von BFX mitaufzunehmen.

(+) Schreibweise Straßennamen an highways
(+) Fehler in addr:*
(+) leere Tags
(+) Whitespace
(+) Knoten mehrfach in Wegen
(+) Wege mit nur einem Knoten
(+) unverknüpfte ungetaggte Knoten
(-) identischen Geometrien mit gleichen Tags

Zur Schreibweise von Strassennamen: Ich schreibe generell kein ‘ß’ (das habe ich mir eben von oben kopiert :wink: ), aber es ist mir egal, wie entsprechende Strassennamen in der Datenbank stehen - es sollte nur einheitlich sein. Die Alternative für mich wäre halt, diese Strassennamen nicht einzutragen, da ich auch nicht möchte, dass ein anderer User hinterher “aufräumen” müsste. Selbiges gilt für addr:street.

Zu den mehrfachen Knoten: Das gilt nur, wenn ein Knoten zweimal direkt hintereinander in einem Way vorkommt?

Zu den identischen Geometrien mit gleichen Tags: Das ist imo ausser leeren Tags das Seltenste und könnte (wie auch “Whitespace”) möglicherweise beabsichtigt sein.

Ja, in diese Richtung habe ich auch gedacht. Polygone kann ich dir erstellen.

Ja, genau. In den Erläuterungen hatte ich das geschrieben, im “Fragebogen” habe ich diese Präzisierung vergessen.
Edit: oben soeben geändert.

Thomas