Selbstüberschneidende Linien: arbeitet der Datenprüfer bei JOSM sauber?

Guten Abend zusammen,

Ich habe den Eindruck, daß der Datenprüfer bei JOSM nicht sauber arbeitet…

Beispiel:

  • verschiebe ich den Stützpunkt Node: 1838989815 | OpenStreetMap so, daß ich selbst überschneidende Linien produziere, kommt keine Warnung beim Versuch, hochzuladen (auch wenn die Regel aktviert ist, was ich sowieso habe)
  • es ist ein bereits vorhandener Stützpunkt
  • es ist egal, ob es ein Stützpunkt einer simple Fläche, eine outer oder inner-Geometrie eines MP’s ist.
  • Erst wenn ich in JOSM einen neuen Stützpunkt setze und eine selbst überschneidende Geometrie provozieren will, springt der Prüfer an.
  • eventuell kann das auch in der Folge von “Geometrie ersetzen” passieren, daß nicht alle Fehlerprüfungen angewendet werden.

JOSM in der Version 18907

Könnt ihr euch mal bitte anschauen, ob ich mit meinem Eindruck recht habe?

Sven

Hast du die Checkbox “Beim Hochladen” bei “Selbstüberschneidende Linien” aktiviert?

Bei mir kommt die Meldung:
image

Ja, natürlich, das verwirt mich ja…

Sven

Ich glaube nicht, dass das die richtige Einstellung ist, aber aktiviere mal “Unwichtige Warnungen beim Hochladen anzeigen”. Meines Wissens sind jedoch “Unwichtige Warnungen” die “Hinweise” und der Fehler ist schon unter “Warnungen”.

Ich benutze die latest-Version (18924), vielleicht hängt es damit zusammen, was ich mir aber auch nicht vorstellen kann. Dann bin ich leider genauso ratlos wie du.

Das liegt vermutlich am OSM Datenschema. JOSM überprüft beim hochladen nur die Objekte die verändert worden sind. Das verschieben einer Node ändert nur die Koordinaten der Node selbst. Ways bestehen nur aus einer Liste an Nodes, beinhalten selbst aber keine Koordinateninformation. D.h wenn nur eine Node des Wegs verschoben wird ändert sich nur diese Node, der Way ist unverändert. Wenn eine neue Node hinzugefügt wird/bzw. gelöscht wird ändert sich der Way auch und wird daher auch validiert.

Aha… Ich hab das eben bei einem highway=track gemacht, selbes Ergebnis… Nun hab ich schon eine 100%-JOSM-Quote und das fällt mir erst jetzt auf… :frowning:

Aber das ist äußerst unschön, da so vermeidbare Fehler produziert werden können, die man als verantwortungsvoller Mapper vermeiden will, aber nicht sofort kann, es sei denn, man macht den gesamten Prüfdurchlauf… Dann kommen aber wiederum eine Latte an Warnungen, wo man sich fragt: “Hä?”

Solche “vermeindlichen” Wanungen würde ich eher als direkte Geometriefehler betrachten und müssen immer geprüft werden.

Sven

Wenn eine neue Node hinzugefügt wird/bzw. gelöscht wird ändert sich der Way auch und wird daher auch validiert.

das wäre eine plausible Möglichkeit, aber es wäre dann m.E. in josm ein bug, der sollte mit dem Validator auch die ways checken deren nodes man bewegt hat.

Ja, das unterschiedliche Verhalten bei den Test-Varianten ist verwirrend. Es gibt ja den Komplett-Test, den Test der ausgewählten Objekte und den beim Upload.
Das Problem ist, dass in JOSM beim Upload nacheinander alle geänderte Objekte jeweils durch alle Tests “gejagt” werden. Manche Tests sammeln die Daten zuerst und machen dann gründlichere Tests, andere machen das nicht. Je gründlicher die Tests arbeiten des länger dauert es. Bis vor einiger Zet hat JOSM in dieser Zeit einfach nicht reagiert, da konnte man nicht einfach beliebig viel rechnen. Unterdessen kommt aber ja auch beim Upload die Fortschrittsanzeige und man könnte eigentlich etwas gründlicher testen.
Die Frage ist halt, ob man z.B. eine Warnung bekommen will, dass der Weg irgendwelche Probleme bei den Tags hat, obwohl man “nur” einen Knoten zurechtgerückt hat.
Mich ärgert es immer, dass ich die Fehler von irgendwelchen Relationen gemeldet bekomme, wenn ich irgendeinen Weg getrennt habe. Die gemeldeten Fehler haben nichts mit meiner Änderung zu tun, aber das wird nicht gefiltert.

Habe mir das gerade noch mal angeschaut. Es ist relativ simpel, dieses spezielle Problem (Selbstüberschneidende Linien) zu lösen, aber wichtiger wäre aus meiner Sicht, auch die Probleme zu finden, bei denen man einen Punkt so verschiebt, dass anschließend z.B. eine Straße durch ein Haus verläuft oder einen Bach kreuzt. Für letztere müsste JOSM aber eigentlich (wie beim Komplett-Test) alle geladenen Objekte “gegeneinander” testen und dann anschließend noch die Meldungen ausfiltern, die nichts mit den Änderungen zu tun haben bzw. nichts mit den gerade ausgewählten Elementen.
An vielen Stellen macht JOSM das schon irgendwie ähnlich, vielleicht raffe ich mich mal auf, da einen Patch zu basteln, damit das Verhalten eindeutiger und besser vorhersehbar wird.

Ich habe mal ein Ticket eröffnet: #23397 (Improve the results of partial validations) – JOSM
und werde ein bischen an der Lösung basteln.

1 Like

Die gemeldeten Fehler haben nichts mit meiner Änderung zu tun, aber das wird nicht gefiltert.

wobei es weitgehend egal ist, wer den Fehler verursacht hat, hauptsache er wird gefixt wenn es einer ist, und nicht wenn es kein Problem ist.

Im Prinzip ja, aber es gibt halt Themen, da hat man keine Ahnung, wie man den Fehler korrigieren soll oder findet die Fehler irrelevant. Manchmal kann man den entsprechenden Test komplett deaktivieren ( bei mir zum Beispiel die absurde Prüfung auf fast rechte Winkel in Gebäuden) aber bei Meldungen wie “Rolle xyz für … nicht in Vorlagen gefunden” bin ich oft komplett ratlos. Genauso, wenn es um Spezialfälle im Bereich ÖPNV oder vieleicht 3D-Mapping geht.
Geometriefehler sind dagegen auch für den Laien leicht verständlich und meist auch leicht korrigierbar.
Wenn JOSM mir z.B. sagt, dass eine Öffnungszeit “schöner” gemacht werden könnte und ich dann in der Objekt-Historie finde, dass genau so eine Änderung schon mal revertiert wurde, dann lasse ich es auch stehen, sofern ich nicht wirklich genau weiß, wie sie aktuell aussehen.
Manchmal fahre ich dann tatsächlich bei einer Radtour dort vorbei und schaue nach, aber eben nur bei Dingen, die ich gut verstehe.

…meine Intention was und ist, diese Prüfungen bei JOSM bei einigen wenigen Dingen etwas strenger zu gestalten… Meine Eingangs geschilderte Situation, daß man anscheinend unbedacht echte Geometrie-Fehler produzieren kann. Das sollte vermieden werden… Also simpel: es sollte z.B. immer und stets geprüft werden:

  • ob nicht geschossene Ringe vorliegen
  • Linien sich selbst überschneiden

→ das auch, auch wenn nur ein Stützpunkt verschoben wird oder Geometienen über das erweiterte Werkzeug “Geometrie ersetzen” ausgetauscht werden…

…das fällt mit aus dem Stehgreif ein…

Danke,

Sven

Du meinst diese Fehler sollen auch dann aufgelistet werden, wenn du z.B. alle Nodes mit amenity=bench selektierst und dann die Prüfung startest? Oder beziehst Du Dich nur auf den Upload?
Das wöre ein ganz anderer Ansatz als das, was ich bisher dachte.
Man könnte z.B. bestimmten Tests eine Eigenschaft wie “always_full” geben, die dann meint, dieser Test soll (beim Upload) immer mit allen geladenen Daten ausgeführt werden. Könnte aber mit etwas Pech zu sehr langen Prüfzeiten führen, auch wenn man “eigentlich nichts wildes” gemacht hat :wink:
Aber ich denke auch da mal drüber nach.

Ja, das Problem tritt nicht nur beim Hochladen sondern auch bei Prüfungen mit einer selektierten Auswahl und der Prüfung der veränderten Objekten auf.

Bei der neuen JOSM Version 18969 hat es einige Änderungen bei den Tests gegeben. Beim Upload bzw. bei einer Selektion sollten jetzt viele zuvor nicht gemeldete Probleme gefunden werden und umgekehrt weniger Irrelevantes für Objekte, die nicht geändert bzw. ausgewählt waren.

2 Likes