StreetComplete ändert surface/smoothness ohne den tracktype zu prüfen

Im Unterforum Tagging wird derzeit die Verwendung von tracktype diskutiert, u.a. hier: Poll: how do you use tracktype?

Bei der Datenauswertung ist aufgefallen, dass es sehr seltsame, nicht zu erwartende Kombinationen von surface und tracktype bzw. smoothness und tracktype gibt, im Extremfall z.B. surface=asphalt mit tracktype=grade5, eine Kombi, die ich mir in der Realität nicht vorstellen kann.

Dem bin ich mal nachgegangen. Neben absoluten Newbies und “vergessen” ist mir ein häufiger, typischer Fall aufgefallen: viele Feldwegen, die direkt von einer Straße abgehen, und seien sie noch so schlecht, haben die ersten paar Meter asphaltiert. Wenn ich mir solche Changesets ansehe, scheint es, dass hier mit SC diese ersten Meter abgetrennt wurden und anschließend die Fragen(n) nach surface und evtl. auch smoothness beantwortet wurden.

Durch das Auftrennen wird der bereits vorhandenen und für 99% des Weges zutreffende tracktype auf beide Abschnitte übernommen. Anschließend wird surface (z.B. Asphalt) zugefügt, ein tracktype grade5 bleibt dabei unverändert. Der Bearbeiter bekommt hiervon noch nicht einmal was mit, da er das weitere Tagging nicht einmal sieht.

Beispiel: Way History: 1031094657 | OpenStreetMap

Das führt m.E. zu Inkonsistenzen.

Ich finde, SC muss bei Fragen nach surface und smoothness zwingend prüfen, ob an dem way ein tracktype getaggt ist und zwingend nachfragen, ob der tracktype noch passt. Ohne Beantwortung des tracktypes dürfen keine Daten in die Datenbank geschrieben werden.

Aber auch die anderen Editoren sollten bei Erfassung oder Änderung von tracktype/surface/smoothness prüfen, ob die Daten zueinander stimmig sind und zumindest eine Warnung ausgeben. Auch erfahrene User können das bei der Bearbeitung schnell mal übersehen.

Ergänzung: anpingen @westnordost

7 Likes

Dass es übersehen wird, keine Frage. Vermutlich wäre der Aufwand, die Konsistenz zu prüfen sehr groß … und kaum ein Konsens zu finden, wann spätestens die Warnung erfogen sollte, siehe auch die anderen (deutlich besser formulierten Umfragen) zu tracktype: Key:tracktype - OpenStreetMap Wiki

Ich habe mir vorhin die tolle Kombination von surface=unhewn_cobblestone mit smoothness=excellent in Deutschland angeschaut, Way: 1395331230 | OpenStreetMap aufgeteilt in iD, surface geändert, Wegtyp geändert, aber nicht smoothness …

In Erzhausen, Way: 503325307 | OpenStreetMap, wurde surface=unhewn_cobblestone mit SC eingefügt zu vorhandenem smoothness=excellent. Dieses Mapillary-Bild https://www.mapillary.com/app/?lat=49.950936082875955&lng=8.651235285698021&z=17.45423656420446&pKey=1307941763139917&focus=photo könnte das Wegstückchen zeigen, wäre für mich surface=paving_stones und smoothness=good, nicht mehr.

Auf jeden Fall sind diese Kombinationen eine Untersuchung wert, die manchmal auch vor Ort durchgeführt werden muss.

Von wohl gut 1300 dieser seltsamen Kombi aus Asphalt mit grade5 liegen über 600 in Deutschland.

Natürlich gibt es auch Fälle, wo surface falsch gesetzt wurde und der tracktype stimmt, z.B. dieser Weg

Wurde vor 8 Jahren mit Asphalt getaggt, sah aber vor 6 Jahren noch so aus:

Leider hat der Fotoersteller @5R-MFT auch übersehen, dass das nicht stimmen kann, selbst wenn in den letzten 6 Jahren asphaltiert worden sein sollte.

1 Like

Ich sehe das Problem. Trotzdem ist es sinnvoll, dass surface korrekt erfasst wird, selbst wenn tracktype falsch ist. Lieber ein alten falschen Tag + einen aktuellen richtigen Tag. Solche Fehler können dann gefunden werden. Einen falschen tracktype kann man nicht so einfach finden.

1 Like

Habe die surface jetzt angepasst. Ich kann mich nicht erinnern den als Asphalt gemappt haben. Dafür aber die surface und lit=no mit Streetcomplete.

Fällt das Auftrennen solcher Wege nach wenigen Metern schon unter Mikromapping? Hier Way: 115775874 | OpenStreetMap wären es immerhin ungefähr 10 Meter (die für den Bearbeiter in SC jedoch ausschlaggebend waren), aber manchmal sind es nur zwei oder drei …

Nein, das warst Du nicht. Aber du hattest später Mapillary- Aufnahmen gemacht und Änderungen. Bei Deinen Änderungen konntest Du natürlich auch nicht sehen, dass da Asphalt gemappt ist, weil SC das nicht anzeigt.

Ach, tracktype vs surface schon wieder. Das Thema hat eine lange Historie in StreetComplete, mit vielem hin und her. Wenn ich mich recht erinnere, fing es mit dem Feature-Wunsch an, dass beim Spezifizieren von einem surface der dem vorher gesetzen tracktype widerspricht, der letztere gelöscht wird auf das dieser dann in einem nachfolgenden Quest korrigiert werden kann; und das gleiche anders herum.

Also letztlich was @Mammi71 hier anregt bzw. fordert.

Ich kann sagen, das hat @Mateusz_Konieczny schon vor Jahren eingebaut.

Darauf folgte jedoch ein ewiges hin-und-her, eine unendliche Geschichte. Diese Erkennung musste letztlich mit der Zeit immer weiter aufgeweicht werden da sich herausstellte, dass man letztlich aufgrund der schwammigen Definition der verschiedenen tracktypes selten eindeutig Widersprüche erkennen kann. tracktype=grade1 ist zum Beispiel einfach als “solid. Usually paved” beschrieben. :person_shrugging: Noch schlimmer ist tracktype=grade2 als “mostly solid”. Das könnte fast alles (surface) sein.

Das gipfelte gerade neulich in einem “Bug report” der daraus bestand, dass sich ein Nutzer wunderte, warum er abwechselnd immer wieder nach surface und tracktype gefragt wurde, nachdem er besten Gewissens immer jeweils earth und grade1 beantwortet hatte für eine Straße in einer trockenen Steppe, die absolut fest war und aber auch einfach aus dem Boden bestand.)

Das war nur der letzte in einer langen Reihe von Anpassungs-Wünschen, so dass ich bereit war, das Handtuch zu werfen und das ganz auszubauen. Letztlich habe ich es nicht gemacht, die aktuelle Liste nicht erlaubten Kombinationen ist mittlerweile lediglich sehr kurz. Im wesentlichen dürfen als “weich” geltende surfaces kein tracktype=1 haben und befestigte surfaces kein tracktype ≥ 3. Mehr automatische Erkennung von Inkompatibilität gibt eine großzügige Auslegung der Wiki Dokumentation nicht her.

6 Likes

Yeah, handle surface vs tracktype conflicts by matkoniecz · Pull Request #4105 · streetcomplete/StreetComplete · GitHub seemed a good idea

later following appeared:

Maybe more. At this point I am getting allergy reaction on hearing about handling of surface tracktype conflicts :)

4 Likes

Vollkommen falsch verstanden!

Ich habe nicht gefordert, dass tracktype gelöscht werden soll, damit in einer weiteren Quest dann wieder danach gefragt wird. Das würde ich für Grundverkehr halten, denn das Ergänzen eines surface bedeutet ja nicht zwangsläufig eine Änderung des tracktypes.

Es ist auch nicht meine Anregung, dass SC oder ein anderer Editor einen Widerspruch erkennen soll. Auch hier wurde ich vollkommen missverstanden.

Was aber möglich ist und vollkommen unabhängig davon ob einige das tracktype für unklar definiert halten: jeder Editor sollte einfach nachfragen: Du hast surface ergänzt/geändert, hast Du auch tracktype geprüft? Und dann zwangsweise sofort die nächste Quest nach tracktype stellen. Nicht SC entscheidet, ob etwas widersprüchlich ist, sondern der User entscheidet. Allein das würde schon viele Widersprüche vermeiden.

Es geht auch nicht um die Bereiche, wo es eher unklar ist, sondern um diejenigen, die offensichtlich widersprüchlich sind, weil der Bearbeiter es übersehen hat bzw. im Fall von SC gar nicht erst sehen konnte. Asphalt mit grade5 oder mud mit grade1 sollte es gar nicht geben.

Es gibt eigentlich nur sehr wenige Werte, die unklar sein können, insbesondere unter unterschiedlichen Witterungsbedingungen. Die meisten, das zeigen die Auswertungen, haben eine klare Korrelation zwischen Festigkeit, Glattheit, Oberfläche und Ausbauzustand. Unabhängig von der jeweiligen Herangehensweise des jeweiligen Mappers wird man fast immer zu annähernd gleichen Ergebnissen +/- 1 grade kommen. Nur bei earth, ground, sand und dirt ist die Variabilität breiter.

Und wie gesagt, nicht der Editor soll entscheiden, ob etwas zusammenpasst, sondern der User. Aber der muss explizit gefragt werden, ohne dass SC vermeintlich inkompatible Werte vorher löscht, damit die neue Quest aufgeht.

Sowas passiert nur, wenn SC abwechselnd entweder surface oder tracktype wieder löscht, weil etwas vermeintlich inkompatibles eingetragen wurde. Dieses Vorgehen ist falsch!
Das wäre vermeidbar mit der Frage:
“Die Kombination von earth und grade1 ist ungewöhnlich, bist Du Dir sicher?
Nein: Korrigiere surface oder tracktype
Ja: Schreibe eine kurze Begründung für nachfolgende Mapper” und Abspeichern unter note=
(Nur 1% aller surface=earth haben grade1, über 90% verteilen sich fast gleich auf grade3-5)

Nicht der Programmierer von SC entscheidet was eine gültige Kombination ist. Es wird nicht einfach was geändert oder gar gelöscht, wovon der Nutzer nichts mitbekommt. Es wird aber auch nicht so schnell übersehen oder vergessen, weil noch einmal explizit danach gefragt wird. Ausnahmen für außergewöhnliche Kombinationen bleiben möglich, weil der User bewusst entscheidet. Die Daten werden sogar besser, weil die ungewöhnlichen Kombinationen auch eine Begründung haben.

6 Likes

Und welcher Editor macht das?

1 Like

und welche anderen tags sollten auch noch abgefragt werden? smoothness vielleicht? sac_scale? vielleicht auch highway?

Ich glaube JOSM’s Validator würde das vor dem Hochladen checken.

1 Like

Bei surface=asphalt auch nur bei tracktype=grade4 oder grade5. grade3 und asphalt ist voll ok für JOSM :slight_smile:
image

Siehe auch hier die endlosen Issue die verlinkt sind: #22102 (Add a warning if surface does not match tracktype for highway=track with tracktype=grade2 till grade5 [PATCH]) – JOSM

3 Likes

Auf anhieb fällt mir da dieser Weg zu einem Grundstück ein. Eine Asphaltschicht, die mittlerweile so verwittert und zugewachsen ist, dass sie im Grunde nur noch vom Gestrüpp zusammengehalten wird. Würde man dort den Bewuchs zurückschneiden wäre der Asphalt mit dem nächsten Sturm verschwunden. Hier ist die Stelle in Mapillary: https://www.mapillary.com/app/?lat=54.369328203311&lng=10.147794090944&z=17&pKey=159699722693489&focus=photo&x=0.6897548597622927&y=0.5095741599544529&zoom=0

1 Like

Mal was Grundsätzliches, auch auf die Gefahr hin, wegen Plasphemie gesteinigt zu werden…
Braucht es die Klassifizierung “Tracktype” überhaupt noch, wenn es doch genügend Möglichkeiten gibt, die Qualität und den Zustand eines Weges eindeutig zu beschreiben?
Warum ihn parallel dazu noch in eine relativ starre Klassifizierung stecken?
Klar fallen mir genug Argumente für “Tracktype” ein. Als einfache, grobe und vorläufige Beschreibung zum Beispiel.
Aber ist es wirklich total abwegig, unter Umständen darauf zu verzichten?
Übersehe ich was?

2 Likes

Haha, schön zu sehen dass das StreetComplete-Projekt nicht die einzigen sind, die mit diesem Endlosen Thema zu tun haben :laughing:

1 Like

OK, ja, hört sich erstmal sinnvoll an. Allerdings meine ich mich zu erinnern, dass das genau die initiale or Teil der initialen Implementation war (“Bist du sicher? Das war so-und-so-getaggt”). Nach der ewigen Kette von Issues mit diesem Thema habe ich wirklich jegliche Motivation verloren mehr als eine Minimal-Lösung anzubieten, es geht mir da wie Mateusz.

Wenn du das Thema weiter verfolgen willst, kannst du gerne versuchen die Historie nachzuvollziehen und einen neuen Feature Request auf GitHub posten, mit Verweis auf vorherige Diskussionen die dazu geführt hatten dass die initiale Implementation ausgebaut wurde bzw. wieso dann dein Vorschlag besser ist als die initiale Implementation (die halt eben ausgebaut wurde).

3 Likes

Und neue Möglichkeiten werden ja regelmäßig von @Hungerburg erfunden:wink:

tracktype entspricht dem OSM Prinzip von grob-zu-fein und bietet Renderern eine einfache Möglichkeit der Darstellung.

4 Likes

Kannst Du ein anderes Beispiel nennen, wo dieses Prinzip verwendet wird, ohne dass die gröberen Daten durch die feineren Daten ersetzt werden?

Hauptgrund für mich ist, dass tracktype mehr bzw. andere Informationen enthält als surface und smoothness. Theoretisch könnte es Pflastersteine auf schlechtem und weichen Untergrund geben, bei dem die Steine kein PKW oder gar Trecker tragen. Da wäre tracktype > grade1 denkbar. Oder eine sehr gut tragende alte befestigte Oberfläche, die inzwischen komplett mit Erde oder Gras bedeckt ist, könnte grade1 + surface=dirt/earth/grass sein.