Wege mit nur einem Knoten: eine Aufgabe für Wall·E?

Nur ein Gedankeneinwurf meinerseits: wenn sich Fälle abgrenzen lassen, die nicht ohne menschliches Zutun gelöst werden können/sollten, kann man beispielsweise die Fehlerprüfung in keepright dahingehend optimieren. Alle anderen 1NW können (meiner Meinung nach) einfach gelöscht werden. Alle anderen sollten für andere QA-Programme übrig bleiben, die dann im günstigstens Fall auch irgendwann von Menschen behoben werden.

Ich denke das wäre ein guter Kompromiss.

PS: Weiter so mit dem Aufräumen! Und danke! :wink:

Schwierig, sehr schwierig. Sind denn an den 1-Knoten-Wegen Taggs enthalten?

Wo nein, kann man die sicher bedenkenlos löschen, da keine Informationen verloren gehen.
Wenn doch, muss man weitere Überlegungen anstellen, ob ein Mensch aus den vorhandenen Informationen irgend etwas rekonstruieren könnte.

Beide Fälle scheinen laut der von dir erwähnten Liste in erheblichen Maß vorzukommen.

Edbert (EvanE)

Kommentare zu deinen 3 Szenarien:

  1. Dieses Problem lässt sich auf jeden Fall vermeiden, indem man nur taglose 1NW löscht. Das sind zwar nur ein Teil aller 1NW, aber zumindest ein Anfang. Für die anderen könnte man überlegen, die Tags an den Knoten zu übertragen. Selbst wenn es sich um Tags für Wege handelt, kann das sinnvoll sein - Information geht keine verloren, QA-Tools können das anzeigen.
  2. Halte ich für irrelevant. Entweder gibt es einen Mapper, der an dieser Stelle bereit ist, Straßen einzuzeichnen, dann wird der das auch tun, wenn da kein 1NW sitzt, oder es gibt keinen, dann wird auch niemand den 1NW verbessern.
  3. Hier könnte es helfen, die Wege nicht zu löschen, wenn sie zuvor aus mehreren Knoten bestanden. Eventuell könnte man sie (bzw. nur ihre Geometrie) dann auf den letzten Stand mit mehr als einem Knoten zurücksetzen, das sollte normalerweise nicht schaden - sie waren ja auf diesem Stand schon mal in der DB und falscher als ein 1NW kann es auch kaum sein. Und wenn es Gründe für eine Änderung gibt, dann sind sie dann zumindest wieder leichter in Karten oder im Editor sichtbar.

Von meiner Seite also: Ja, sinnvoll.

Zu 3. möchte ich zu Bedenken geben, dass einige/etliche dieser 1-Knoten-Wege aus überlappenden Wegen entstanden sein können. Dann macht ein Wiederherstellen eines früheren Zustands meiner Meinung nach wenig Sinn. Ebenso ist nicht sicher, dass ein Knoten aus einer früheren Version nicht bereits selbst gelöscht wurde. In beiden Fällen wird nur ein Fehler durch einen anderen ersetzt.

Weiter denke ich, dass 1-Knoten-Wege in Version 1 ebenso wie Tagg-lose 1-Knoten-Wege bedenkenlos gelöscht werden können.

Edbert (EvanE)

Bei der Frage “Gehen Infos verloren?” sollte man auch berücksichtigen, ob diese “verlorenen Informationen” denn auch gefunden werden. Ich kenne keinen Editor, der solch einen “Weg” grafisch anzeigt. Wie auch? Unter josm bspw. findet man solche Wege nur, wenn man den Validator drauf los lässt oder gezielt einen Bereich markiert und dann durch die Auswahlliste sucht. Und auch dann stellt sich die Frage: War das nun ein missglückter Löschversuch oder ein missglückter Eintragversuch? Oder anders ausgedrückt: Soll ich die Info behalten oder Löschen?

Da dies nicht eindeutig zu klären ist, braucht es andere Quellen (meist lokales Wissen). Daher käme ich zu dem Schluss, dass letztlich keine Infos verloren gehen, bzw. die Infos, die erhalten bleiben würden ohnehin überprüft werden müssen.

Wenn ich den Weg mit seinen Informationen in einen Node ändere bzw. alle Informationen dort hin übertrage, dann wird der Node sichtbar. Und das positiv wie negativ, soll heißen er wird bei keep right angezeigt wenn am Node unpassende Attribute sind. Sollten keine Attribute vorhanden sein, dann durch den Bot sofort löschen.

PS: http://toolserver.org/~mapjedi/candidates_singlenode_de.osm = Page not found.

Nehmen wir mal an wir haben einen One-Node-Way mit dem Tag amenity=pub.

Das könnte auf vielerlei Weise entstanden sein:

  • Pub war als Fläche eingetragen und Löschen ist missglückt.
  • Pub war als Fläche eingetragen und wurde ausversehen zerstückelt
  • Pub sollte eingetragen werden und das ist missglückt

Wahrscheinlich gibts auch noch mehr Möglichkeiten. Wenn man die Info jetzt wiederherstellt, dann kann es genausogut sein, dass man eine Info in die Datenbank einträgt, die falsch ist.

Ich see’s wie Edbert: Taglose löschen und alle anderen anschauen (Keepright?).
Und: Wenn möglich Editoren reparieren! :slight_smile:

Edit: ein “fixme” kann man alternativ an den Node auch noch kleben…

Meiner Meinung nach müsste die API das Hochladen von solchen Wegen ablehnen, so wie sie das bei Wegen die garkeine Knoten haben bereits macht.

Die API ist bewusst einfach gehalten, um die notwendige Performance zu gewährleisten.

Ich stimme dir dennoch zu, dass kaputte Wege mit weniger als zwei verschiedenen Knoten von der API nicht akzeptiert werden sollten.

Die beste Möglichkeit ist diesen Wunsch im Brainstorming für die nächste API-Version (0.7) zu dokumentieren.

Edbert (EvanE)

Ich habe mir zufällig den Weg 26205091 aus der Liste ausgesucht, und konnte anhand dessen einen den Weg rekonstruieren:
http://www.openstreetmap.org/browse/way/218728084/history

Vorher bestand der Weg aus 2 Knoten, nachher war der nicht mehr vorhandene Knoten gelöscht. → Vielleicht kann man den 1-Knoten-Weg mit mind. einem der damal Vorhandenen Knoten wieder Verbinden, bzw. wenn der Knoten gelöscht worden ist, an der Position einen Neuen knoten einfügen.
Da dies möglicherweise zu redundanten Informationen führen kann, (da ja die Tags erhalten bleiben,) könnte man vor jeden Tag ein fixme: setzten?! Und ggf. noch ein fixme-Tag anhängen.
So kann man den Weg zumindest im Editor sehen und wenn man will bearbeiten/reaktivieren/löschen.

Edit:
hingegen ist bzw. war Weg 23598134 aus der Liste identisch wie dieser Weg nun:
http://www.openstreetmap.org/browse/way/214247948/history

Nicht daß ihr denkt, ich hätte das Thema schon wieder vergessen. Ich habe bewußt nach dem Eröffnungsposting mal einen Tag die Klappe gehalten, um die Diskussion nicht einseitig in eine bestimmte Richtung zu lenken und um halbwegs unbeeinflußte Wortmeldungen zu erhalten.

Die bisherigen Äußerungen decken das komplette Spektrum vom Holzhammer bis zur Mutter der Porzellankiste ab - ein Hinweis, daß die Sache gar nicht so eindeutig ist wie man zunächst denken könnte.

Folgender gemeinsamer Nenner scheint sich aber mindestens abzuzeichnen: 1NW in Version 1 ohne Tags können weg. Diese enthalten bestenfalls die Information “hier ist möglicherweise irgendwas” - also nil. Falls der zugehörige Knoten ebenfalls keine Tags hat und nicht Teil eines weiteren Weges (oder einer Relation) ist, kann er meines Erachtens gleich mit entsorgt werden. Bedauerlicherweise deckt dies nur einen recht kleinen Teil der 1NW ab.

Das stimmt. Möglicherweise lassen sich jedoch bestimmte Situationen automatisiert erkennen. Einen ersten Hinweis liefert die Versionsnummer, anschließend kann man sich die Historie oder weitere Objekte aus demselben Änderungssatz anschauen: gibt es ein weiteres Objekt mit identischen Tags, das in demselben Änderungssatz angelegt wurde? Bei der Identifizierung der Verursacher von Wegen mit wiederholten Knoten habe ich schon eine History-Suche im Einsatz.

Probleme mit dem Webserver, die Datei ist vorhanden. Tee trinken und erneut versuchen.

Wie gesagt sind die Hauptverursacher derzeit Potlatch und Vespucci. Bei Vespucci bin ich zuversichtlich, daß der Fehler (Ticket gestern geschrieben) schnell behoben wird und die nächste Version dann “sauber” ist; es bleiben aber natürlich noch alte Versionen im Umlauf. Bei Potlatch hingegen habe ich wenig Hoffnung, daß der Bug noch irgendwann geschlossen wird.

Bei 23598134 würde ich (als Mensch-Mapper) sagen: der Weg kann weg, denn alle Knoten, die er vorher hatte, stecken jetzt in einer Straße mit dem gleichen Namen. Dieses Kriterium ließe sich nach meiner Einschätzung ebenfalls automatisieren. Wenn das noch für paar weitere gelingt, könnte man den 1NW-Wald evtl. schon spürbar ausdünnen.

Falls ich mich tatsächlich daran mache, einen Teil der 1NW zu löschen, bleiben ganz von allein nur noch diejenigen übrig, von denen ich lieber die Finger lasse. keep right braucht dann nur noch diejenigen anzuzeigen, die eben da sind - und das tut es ja schon.

Allgemein ist die Einschätzung, dass 1-Knoten-Wege ein Problem sind und daher behandelt werden sollten.
Nach meiner Einschätzung sollte das jedoch Version 1 oder ohne Taggs heißen.
Bezüglich der Knoten stimme ich mit dir überein. Wenn der Knoten des 1NW Taggs hat oder Teil eines Weges/Relation ist, sollte man ihn besser behalten (ggfs. ein FIXME ergänzen). Falls nicht kann er gleich mit entsorgt werden.

Hier kann man eventuell noch unterscheiden zwischen highway, immer Flächen (z.B. landuse) und POI (amenity, shop, …). Bei highway kann man wohl bedenkenlos entsorgen. Bei Flächen oder POIs die Taggs des Weges an den Knoten und den Weg entsorgen.
Falls die Prüfung des Changesets ein Duplikat ergibt, kann man Weg und Taggs und falls unverbunden den Knoten entsorgen.

Das wäre als Rückfall-Ebene (Anzeige nicht automatisch lösbarer Probleme) sicher sinnvoll.

Persönlich tendiere ich mittlerweile dazu, möglichst viele der 1NW entweder komplett zu löschen (inkl. Knoten) oder wo das nicht möglich ist, auf einen Punkt mit den Taggs des Weges zu reduzieren (nur den Weg löschen). Im zweiten Fall wäre ein FIXME=* sicher sinnvoll.

Die Fälle, wo man tatsächlich als Mensch einen Weg wieder herstellen kann, dürften eher wenige sein. Meistens wird ein Mensch einen 1-Knoten-Weg einfach entsorgen. Von daher würde ich keine zu strengen Maßstäbe anlegen.

Edbert (EvanE)

-snip-

Nein, das ist mir zu grob. “oder” deckt auch Wege mit Tags in Version 1 ab - dies enthält den Fall, wo die Daten eines POI am kaputten Weg gelandet sind - sowie Wege kaputte Wege ohne Tags mit höherer Versionsnummer, also auch Wege, die etwa als Teil eines MP bewußt keine Tags hatten. Wie häufig in den skizzierten Fällen tatsächlich noch etwas zu retten ist, vermag ich bisher nicht einzuschätzen, aber ich möchte die Chance hierauf nicht gleich von vornherein zunichte machen. Deshalb die strengere Bedingung “1NW in Version 1 ohne Tags”.

Ich denke, daß ich diesen ersten Schritt nächste Woche einmal angehen werde: 1NW in Version 1 ohne Tags löschen, ihre nicht erhaltenswerten Knoten (ohne Tags und nicht Element eines weiteren Objekts) gleich mit. Anschließend mal schauen, welche weiteren sicher löschbaren Fälle sich identifizieren lassen. Dies könnte einer davon sein:

OK, das kann ich nachvollziehen.
Wir (ich) wissen und schätzen, dass du die sichere, eindeutige Seite deutlich bevorzugst. Daher wollen wir (ich) dich nicht drängen, das hier anders zu machen.

Persönlich neige ich nach der bisherigen Diskussion und meiner eigenen Erfahrung mittlerweile dazu, einfach alle 1-Knoten-Wege zu löschen. Ein Bot muss jedoch deutlich vorsichtiger vorgehen, als es ein Mapper im Einzelfall tun würde.

Edbert (EvanE)

Sollte man hier nicht noch die Einschränkung machen, dass die Wege in keiner Relation enthalten sind? Bei Wegen in Relationen würde ich eine deutlich höhrere Wahrscheinlichkeit sehen, dass noch etwas zu retten ist, und sei es nur die Korrektur der Relation. Vermutlich wäre es sinnvoll 1NW in Relationen gezielt durch ein QA Tool Mappern zur manuellen Korrektur zuzuführen. Man müßte dazu aber wohl einen Weg finden, wie man die 1NW im Editor besser bearbeitbar macht.

Wenn man 1NW in Relationen ausschließt, wäre aber die Frage, ob man bei 1NW ohne Tags wirklich noch die Forderung nach Version 1 zum Löschen braucht.

Korrekt. Hatte ich auch so vor, aber vergessen dazu zu schreiben. (Für mich war das in Kenntnis der API ohnehin implizit, weil /delete nur funktioniert, wenn das Objekt nicht referenziert wird - daher habe ich wohl nicht daran gedacht, dies oben zu erwähnen.)

Abwarten. Wenn die ersten sicheren Fälle erledigt sind, gewinne ich hoffentlich einen besseren Überblick, wie sich die übrigen verteilen und nach welchen Kriterien weitere als sicher löschbar eingestuft werden können. Solche Kriterien ergänze ich dann lieber nach und nach im Programm, als mit einer von vornherein zu breit gefaßten Bedingung möglicherweise verwertbare Information zu verlieren.

Wenn du 1NW, die in Relationen enthalten sind, ohnehin nicht löschen willst, ist zumindest dieses Argument gegen das Löschen von 1NW ohne Tags in höherer Version nicht zutreffend, da diese ja in der MP-Relation enthalten wären. Den Zweifehlerfall, dass der Weg Knoten verloren und auch noch aus der Relation herausgefallen ist, muss man wohl nicht berücksichtigen.

Es spricht natürlich nichts dagegen, wenn du dies erst genauer analysieren willst.

Wenn man mit dem Löschen allerdings zu zurückhaltend ist, dürfte dies im Endeffekt bedeuten, dass man dadurch eher weniger Informationen rettet. Mapper würden die 1NW dann wohl eher unvorsichtig entsorgen, wenn die Wahrscheinlichkeit gering ist, in diesen sinnvolle Informationen zu finden.