Schon wieder Wall·E: Wiederholte Knoten (Bug in diversen Editoren)

Von den zur Wiederaufnahme angedachten angedachten xybot-Korrekturen habe ich die meisten inzwischen umgesetzt. Übrig sind noch die wiederholten Knoten und Wege, die nur aus einem einzigen Knoten bestehen (meines Erachtens die übelste Kategorie, weil der Fehler hier schon auf einer sehr niedrigen Ebene des Datenmodells besteht).

xybot hat seinerzeit beide Fehlerklassen in einem Aufwasch bearbeitet. Das möchte ich nicht tun, weil ich nicht sicher bin, wie die “richtige” Lösung für Wege aus nur einem Knoten aussieht. xybot hat sie schlicht gelöscht (bzw. dies erfolglos versucht bei jenen, die zugleich Element einer Relation waren).

Bei wiederholten Knoten dagegen erscheint mir die angemessene Korrektur ziemlich eindeutig: Wiederholungen beseitigen, so wie es auch xybot gemacht hat. Es gibt einen Sonderfall zwischen beiden Fehlerklassen: Wege, die ausschließlich aus Wiederholungen ein und desselben Knotens bestehen. Diese sind äquivalent zu Wegen aus nur einem Knoten und eine naive Anwendung des Reduktionsalgorithmus würde sie auf Wege aus einem einzigen Knoten reduzieren. Das erscheint mir nicht sinnvoll, daher möchte ich solche Wege aussparen.

Das Problem wiederholter Knoten scheint inzwischen deutlich kleiner zu sein als zu xybots Zeiten, im DE-Extrakt finden sich derzeit gerade noch 17 Exemplare. Dies mag daran liegen, daß der zugrundeliegende Bug in Potlatch 2 laut https://trac.openstreetmap.org/ticket/2501 inzwischen zumindest teilweise behoben wurde; ferner werden solche Fehler gerade in DE wohl auch händisch beseitigt. Allerdings ist die räumliche Ausweitung der Korrektur mittelfristig sicher sinnvoll.

Im folgenden kopiere ich kurzerhand die Beschreibung auf der Wikiseite. Es geht wie üblich nur um germany.osm (ohne grenzgenaues Nachschneiden, weil nicht landesspezifisch).

Übrigens mußte ich zu meiner Überraschung feststellen, daß offenbar auch JOSM in der Lage ist, wiederholte Knoten zu erzeugen: http://www.openstreetmap.org/browse/way/216494527

schon komisch. ist allerdings ein Mapper, der gerade 1-2 Tage vorher mit Josm losgelegt hat und vorher mit Potlatch geschafft hat. Eventuell hat er eine Potlatch-spezifische Arbeits/Klick-Technik, die Josm “überrumpelt”?
Der Validator meldet sich aber vor dem Hochladen, insofern war der Mapper wohl etwas zu leichtfertig.

Gruss
walter

Volle Zustimmung bis auf einem Punkt: Den Ausführrungsraum würde ich definitiv nicht auf Deutschland beschränken.

Georg V. (OSM=user_5359)

Meine Überraschung ist noch einmal drastisch gewachsen, nachdem ich Europa (Geofabrik-Extrakt) nach solchen Wegen durchsucht habe. JOSM produziert mehr davon als alle anderen Editoren zusammen!

    105 JOSM
     39 Potlatch 2
     21 Potlatch 1.4
     15 Vespucci
      3 upload.py v. 1
      3 iD 0.0.0-beta1
      3 iD 0.0.0-alpha2
      1 Redaction bot
      1 nil
      1 Go Map!! 1.0

Ticket für JOSM ist erstellt: http://josm.openstreetmap.de/ticket/8591 und scheint von den Entwicklern sehr ernst genommen zu werden.
Bei Potlatch scheint mir das aussichtslos, aber für iD und Vespucci werde ich auch noch eines schreiben.

Edit: Issue für iD: https://github.com/systemed/iD/issues/1296
… und wurde als vermeintliches Duplikat eines ebenfalls geschlossenen Issues geschlossen.
Issue für Vespucci: http://code.google.com/p/osmeditor4android/issues/detail?id=152&sort=-id

So, erste … ähm … Testläufe (nach Tests ohne Hochladen) sind durch, keine Beanstandungen. Deutschland und Österreich sind damit erst einmal sauber.

Alles in allem ist das Problem deutlich kleiner als ich dachte: im letzten Planetfile waren 515 Wege betroffen. Im Gegensatz zu früheren Zeiten ist nicht mehr Potlatch der Hauptverursacher, sondern JOSM (mit dem allerdings auch über 70 % aller Edits gemacht werden). Es sind so ziemlich alle größeren Editoren beteiligt:

    247 JOSM
    128 Potlatch 2
     52 iD
     47 Potlatch 1.4
     23 Vespucci
      7 Redaction bot
      4 upload.py v. 1
      3 ArcGIS
      2 Go Map!! 1.0
      1 Termite v0
      1 nil

(Der Redaction Bot wird vermutlich zu Unrecht beschuldigt, “nil” ist ein anonymer Editor.)
Im Code von Vespucci hat Simon Poole den Fehler innerhalb weniger Stunden (voraussichtlich) behoben; bei JOSM scheine ich mit meinem Ticket in ein Wespennest gestochen zu haben, da wird auf jeden Fall auch schon recherchiert. Angesichts des riesigen Codeumfangs ist es allerdings fraglich, ob der Fehler auf die Schnelle gefunden werden kann. Gemessen an der bisherigen Zahl seiner Bearbeitungen ist iD überproportional häufig beteiligt (etwa ein kaputter Weg auf 3400 Bearbeitungen, JOSM: einer je 1 Million); daher hoffe ich sehr, daß bei iD schnell für Abhilfe gesorgt wird.

Das ist erfreulich.
Der Redaction-Bot hat ja nichts an den Taggs oder den Knoten eines Weges geändert. Allerdings könnte durch das Ausblenden nicht zulässiger Knoten aus einer Schleife ein Weg mit zwei gleichen Knoten hintereinander entstehen. Wenn das nur noch 7 sind, ist das wirklich gut.

Bei JOSM kann der Extrude-Modus gegebenenfalls eine der Ursachen sein.
Wenn man ein nicht rechtwinklige Fläche extrudiert, gibt es einen Punkt der mindestens zweimal im Weg vorkommt. Löscht man nun den extrudierten Punkt, so bleibt der doppelte Punkt evtl. zweimal im Weg erhalten.

Edbert (EvanE)