Relation type=route ein überholtes Model?

Ok, bin ich dabei… dann ignoriere ich Relationen. Beim nächsten Kreis an einer Staatsstraße haben >10 Relationen eine Lücke :laughing:

Man kann mit den geeigneten Tools sich über diese Route führen lassen. Zugegeben, diese Tools könnten auch auf einer gpx arbeiten. Ansonsten ist im Endeffekt natürlich alles irgendwie “anzeigen”.

Aber was viel wichtiger ist, die Konsistenz der Daten wird gewahrt, ohne dass irgendwie geraten werden muss. Wie kreuzschnabel schon schrieb, geht es bei Routen-Relationen darum, den Verlauf eng an den Datenbestand zu koppeln. Wir haben in der Datenbank eine Entität “Feldweg von da über da nach da” (auch Way genannt mit mehreren Nodes). Und eine gegebene Fahrradroute führt, unabhängig davon, ob nun der eine Node einen Meter zu weit links oder zwei Meter zu weit rechts ist, über genau diesen Weg.

Wenn ich nun eine Korrektur an dem Node vornehme, dann ist das eine Positionskorrektur, ändert aber nichts Fundamentales an der Route, die über den Weg führt, dem der Node angehört.

Ich denke das ist der richtige Ansatz. Wer neben einfachen Nodes, Ways dann Daten-Strukturen eines höheren Levels (Relationen) anlegt, der sollte nicht davon ausgehen, dass ein Anfänger gezwungen ist sich darum zum Kümmern, und schon gar nicht wenn diese Strukturen auf höheren Level wie bei PTv2 eine sortierte Mitgliederliste besitzen sollen. Alleine weil diese Reihenfolge zu beachten und wiederherzustellen derzeit nicht von allen Editorensoftwares machbar ist, bzw. innerhalb einem gewissen praktikablen Zeitaufwand machbar ist.

D.h. dann für mich, wer eine Route-Relation anlegt, der könnte/sollte dann (von mir aus, sagen wir mal grob nach einem Jahr) auch mal wieder diesbezüglich nach dem Rechten schauen :wink:

Und wie heißt das Tool? bzw. die Tools?

Ja vielleicht ist das der einzig richtige Ansatz die links liegen zu lassen… wenn die meisten Relationen kaputt und verweist sind, vielleicht findet dann ein Umdenken statt. :roll_eyes:

Mir ist bisher immer noch nicht klar geworden, in welche Richtung du umdenken willst. Was sind die Alternativen zu (z.B.) Wanderrouten in OpenStreetMap?

Die direkte Bindung am Objekt finde ich überholt… also das man alle Straßen in eine Relation einfügt. Des hat die negative folge das eine Straße z.B. in ganz vielen Relationen Mitglied ist. Erfolg eine Änderung an der Straße müssen im schlimmsten Fall alle Relationen überarbeitet werden, was sehr viel Arbeit bedeutet. Deshalb wäre eine Abstraktion zum Objekt gut… automatisch Routen, Statische Routenverläufe (GPX oder ähnliche Dinge ) usw.

Z.B. hier wäre der Bus die Plage:
https://www.openstreetmap.org/way/449126737#map=18/48.19179/11.84653

Wo man eine Brennpunkt sieht… ob wandern so schlimm ist :confused: vielleicht an Knotenpunkten, Bus auf jedenfall
https://taginfo.openstreetmap.org/keys/route#values

Und halt weil mit dem Datenformat “OSM-Relation” schlecht zu arbeiten ist… z.B. GPX draus machen usw.

Wie willst du denn dann z.B. einen Radwanderweg abbilden, wenn nicht über Relation?
Wie willst du denn sonst sicherstellen, daß man z.B. für Radwanderwege einen hinreichend sauberen Datenbestand erhälst, wo die Geometrien zueinander und diese wiederum zu den Wegen passen, wenn nicht über Relationen?

Das solche Relationen in verschiedener Form an verschiedenen Stellen unterschiedlich stark genutzt und augewertet werden, ist ja bereits hinreichend dargelegt worden. Daß man vielleicht die Fehlersuche und -prüfung etwas verbessern könnte steht auf einem anderen Blatt.

Mir auch nicht, deswegen finde ich es eingentlich müßig, darüber zu disskutieren…

Sven

Wenn ich den OP richtig verstanden habe, möchte er die gar nicht mehr in der Haupt-DB haben sondern separat als gpx.

aus meiner Sicht ist es genau andersherum, Primärdaten als statische GPX Tracks vorzuhalten ist überholt, weil man dann nämlich genau das machen muss was Du kritisierst: bei einer Änderung der Straße müssen alle 10 Tracks die diese Straße nutzen überarbeitet werden. Wenn man dagegen Relationen hat dann ändern sich diese alle automatisch wenn man die Straße ändert und oft muss man gar nichts dafür tun. Im schlechtesten muss man an manchen Stellen Änderungen an den Relationen machen, aber das muss man bei statischen Routen immer und in jedem Fall tun. Und bei statischen Tracks bekommt man es nicht einmal mit, dass sich was geändert hat, d.h. man muss selbst wenn sich gar nichts ändert trotzdem regelmäßig überprüfen dass sich nichts geändert hat. Und dazwischen kann man nur hoffen.

Man braucht trotzdem eine Zuordnung: “zu dieser Relation gehören die und die und die Wegesegmente” und wenn ein Wegesegment z.B. geteilt wird, muß es auch in der Relation nachgepflegt werden.

Macht man das aber nicht, bekommt man nach und nach Datensalat und Wege passen dann nicht mehr zu Relationen…

Werden z.B. Wander- oder Radwanderwege von vorn herein in einer separaten DB geführt ohne Referenz zu den Kartendaten der Wege kommt auch ein datentechnisch nicht sauber verwendbarer und verarbeitbarer Datensalat heraus ala Komoot oder Gpsies…

Es ist uns mehr geholfen, wenn es zu mindestens für die gängigsten Routentypen Fehlerprüftools gibt, die graphisch die fehlerhaften Routen anzeigen Einzelprüfung wie http://ra.osmsurround.org/index sind da doch recht aufwendig in der Handhabung.

Sven

Ich verstehe nicht, was daran negativ ist. Ändert sich die Straße, ändern sich doch sämtliche Relationen automatisch mit. Ohne dass die jemand dafür anfassen muss. Die muss man nicht mal neu versionieren. Weil die Relationen ja nur auf die Straße verweisen und selbst gar keine Wegpunkte enthalten, die holen sie sich bei Bedarf aus der Straße.

Bitte mal ein Beispiel. Ändere ich nur die Geometrie einer Straße, müssen die Relationen überhaupt nicht angefasst werden, weil dort nur die Straße Member ist und nicht deren Nodes. Teile ich eine Straße auf, dann fügt jeder mir bekannte Editor, einschließlich iD, den neu entstandenen Teil an der richtigen Stelle in alle betroffenen Relationen ein. Für wen also bedeutet das „sehr viel Arbeit“?

Arbeit entsteht dann, wenn man z.B. eine Straße wegen baulicher Trennung in zwei separate Einbahnstraßen aufteilt. Dann muss man freilich die Relationen neu sortieren, denn kein Editor kann von sich aus wissen, welche Richtung welches Busses welchen der Einzelways nutzt, zumal dann Abbiegerampen und ähnliches erstmal dazukommen, die vorher nicht da waren. Aber exakt denselben Aufwand hätte ich mit separat vorgehaltenen GPXen ebenfalls, die müssen dann auch alle angepasst werden!

Welcher Editor bitte macht das nicht automatisch? Ich musste da noch nie was „nachpflegen“. Wenn ich einen Way teile, der zu 27 Relationen gehört, dann werden, ohne dass ich was Weiteres mache, anschließend mit dem geänderten Way auch 27 aktualisierte Relationen neu hochgeladen. Das ist keine Handarbeit und damit kein Argument für Pflegeaufwand.

Ich sehe immer noch nicht den Nachteil von Relationen und den Vorteil von GPXen. Das kommt mir ein wenig vor, als würde mich jemand fragen, warum ich meine Spesenaufstellung statt im Rechner nicht gleich auf Papier führe, schließlich müsse ich doch nach jedem Neueintrag die Ausdrucke korrigieren, denn wenn ich nur im Rechner eintrage, stimmen Datei und Ausdruck doch gar nicht mehr überein.

GPX ist für mich ein Ausgabeformat, kein Datenbankformat für dynamische Daten, mit denen gearbeitet wird, die geändert und nach Bedarf neu kombiniert werden.

–ks

Ganz genau. Man hat eben keinen Pflegeaufwand, da Relationen Teil des OSM-Datenmodells und mittlerweile alle gängigen Editoren korrekt damit umgehen (sollten). …und sollte man auch tunlichst so belassen und nicht irgendwelche Kinkerlitzchen mit GPXen anfangen, die Relationen ersetzen sollen! Fehler können nur noch durch denjenigen entstehen, der die Tastatur und Maus bedient. Ich habe auch keinen Pflegeaufwand. Darum verstehe ich die Intention des Beitragseröffner nicht.

+1

Sven

Über eine Punteliste kann man z.B. GPX sehr schnell aktualisieren… bzw. theoretisch auch automatisch erledigen lassen und auf max. Abweichung prüfen. Dann hat man aber was was man auch gebrauchen kann und nicht sowas wie eine Relation welche nur “theoretisch” toll ist.

Für Bus funktioniert das ganz gut… müssen nur in Kleinigkeiten mal korrigiert werden was einfach ist… Daten kommen hier aus GTFS-Datei des MVVs sind in großen Teilen noch nicht in OSM eingetragen. —Für mich — zu großer Aufwand… das routing Ergebnis ist für mich ausreichend um das zu sehen was ich sehen will… in OSM eintragen kann machen wer will… dann aber auch nachhalten :stuck_out_tongue:

Ein automatisch erzeugter Link der Linie 463 eine Variante der insgesamt 17 Varianten dieser Linie: (Insgesamt >1000 Links)

https://graphhopper.com/maps/?point=48.200874115,11.812337943&point=48.198281825,11.810975287&point=48.196525354,11.809286845&point=48.196229624,11.799307022&point=48.196678643,11.793843968&point=48.188237854,11.776635748&point=48.18453242,11.771944896&point=48.166978337,11.759116556&point=48.173490448,11.755294519&point=48.177251841,11.756325483&point=48.185319648,11.774389044&point=48.1880479,11.776071704&point=48.196878054,11.794717521&point=48.196669096,11.798619285&point=48.195387894,11.801408679&point=48.196435289,11.80920647&point=48.198732125,11.811363744&point=48.198461583,11.828152774&point=48.191643858,11.846723276&point=48.190159353,11.85317013&point=48.190711737,11.863592249&point=48.192958182,11.862012603&locale=de&vehicle=car&weighting=fastest&elevation=true&use_miles=false&layer=OpenStreetMap

Gute Idee! Diese Punkte könnte man vielleicht einer Datenbank entnehmen. Diese Punkte haben dann auch eine definierte Reihenfolge, sind also mit einer Linie verbunden. Und falls es mehrere dieser Linien gibt, bräuchte man dann noch eine Liste dieser Linien, die dann für eine gegebene Route verwendet wird.

All das haben wir aber schon. Diese Punkte heißen nodes, die Linien heißen ways und die Liste der Linien heißt (tada!) Relation.

Wie bereits geschrieben wurde, kann das mit Tools wie etwa rel2gpx geschehen. Wenn dieses Tool bei dir nicht richtig funktioniert, gäbe es noch die Möglichkeit, da weiterzuforschen, was genau da nicht funktioniert.

tada! Der Link mancht die Relation fast überflüssig… so viel weniger Arbeit… :stuck_out_tongue:

rel2gpx funktioniert… kann nur keine Kreisel, lässt bei z.B. eine Busrelation die Platformen die Ways sind nicht weg usw.
( außerdem… voll die Zumutung was das alles für *.pm Module braucht bis es läuft :roll_eyes: )

ja, schon. Aber das “Nachhalten” ist kein kein neues Problem.

War mir immer schon klar, dass je mehr Details wir haben, desto höher wird der Wartungsaufwand.
Mir sind nächstes Jahr (veraltete) Daten aus Juli/August 2019 immer noch lieber als veraltete Daten aus 2016.

Die Frage die mich treibt: wie können wir (gerade für ÖPNV) automatisiert feststellen, dass, wo und welche Probleme wir mit unseren Daten haben.
GTFS-Daten vom MVV sind schon mal eine gute Basis um Routen zu aktualisieren und (wo fehlend) neu einzutragen.
Was dann folgen muss ist, bei Updates der GTFS-Daten (automatisiert) festzustellen, was sich geändert hat und wo wir die OSM-Daten anpassen müssen.

So weit ich weiss: ab 2020 oder 2021 werden wir (Dank EU-Gesetz) von allen ÖPNV-Verbünden GTFS-Daten (lizenzfrei?) bekommen.
Der MVV geht hier nur schon einmal in Vorlage um mit der Veröffentlichung und Nutzung durch Dritte Erfahrungen zu sammeln - was ich sehr löblich finde.

“es gibt viel zu tun, fangt schon mal an” ist nicht mein Motto.

Routen hat auch den Vorteil das gleichzeitig eine Prüfung des Datenbestandes stattfindet.

z.B.

https://www.openstreetmap.org/directions?engine=fossgis_osrm_foot&route=48.97144%2C11.64853%3B48.97144%2C11.64934#map=17/48.96919/11.65096

Node nicht verbunden. ( https://www.openstreetmap.org/node/6336186432 )

und:

https://www.openstreetmap.org/directions?engine=fossgis_osrm_foot&route=48.89538%2C11.13802%3B48.89541%2C11.13850#map=17/48.89709/11.13918&layers=N

access Tagging, Foot=yes fehlt hier. ( https://www.openstreetmap.org/way/680588790 )

Zwei Fehler die sonst nicht auffallen würden :wink:

derzeit ist dieser Wanderweg getaggt mit
access=private
motorcar=no
motorcycle=no
und highway=track

ich kann mir kaum eine Situation vorstellen wo das Sinn machte, auch nicht mit foot=yes
Vermutlich ist gemeint:
motor_vehicle=private
foot=yes
kein access-tag?

Wie ist die Beschilderung? Fahrräder?

k.A. ich seh nur das der darunter liegende Weg foot=yes hinzugefügt wurde und das ein Offizieller Wanderweg durch führt. Wird denk ich was mit dem Kies abbau zu tun haben. Hab auch schon erlebt das Anlieger… Schilder aufstellen bzw. entfernen… :roll_eyes:

So jetzt mal stand der Dinge, lass ich euch dran teil haben :slight_smile:

Ich kann jetzt: ( Beispiel Altmühltal-Panoramaweg https://www.openstreetmap.org/relation/37187 )

**Aus einer Relation ein GPX machen… **
https://greymiche.lima-city.de/bus-relation/relation2gpx_v2/index.html

…Lückenlos vorausgesetzt Relation ist Lückenlos… mit Kreisel usw.

Mit dem GPX kann man alles machen… z.B. mit https://www.gpsvisualizer.com/ die Daten um Höhendaten ergänzen:

https://www.gpsvisualizer.com/display/elevation/20190911014729-17202-profile.png
https://www.gpsvisualizer.com/display/elevation/20190911014703-17202-map.html

Desweiteren kann ich das/oder ein x-beliebiges GPX neu verrouten auf OSM Daten:
dazu erst das GPX auf eine Auswahl an Via-Punkten verkleinern:
GPX verkleinere auf ein gestimmte Anzahl an Wegpunkten
https://greymiche.lima-city.de/bus-relation/gpx2rte/index.html

Diese oder andere Wegpunkte eine Routing Link bauen :slight_smile:
https://greymiche.lima-city.de/bus-relation/GPX2Routing-request2/index.html

(Kann man auch für ÖPNV gut gebrauchen… von Haltestelle zu Haltestelle routen)
mit verschiedenen Profilen usw. um die Route für sich anzupassen :sunglasses: und sich ein GPX zu holen.
PS: für Brouter die Tipps hab ich auch aufgeführt :wink:

Gruß Miche