Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Smalltalk
Antworten
uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von uname » 11.12.2023 21:15:59

Da es bis jetzt für heute noch kein Türchen gab, habe ich mein Türchen vorgezogen. Nicht nur, damit ihr heute noch ein Türchen öffnen könnt. Vielleicht wurde das andere Türchen vergessen und hierdurch ist ein anderer Tag wieder frei geworden.


Wie bereits im 9. Türchen unseres Adventskalender 2023 angekündigt, möchte ich euch ein wenig die Relationen in OpenStreetMap näherbringen. Relationen sind neben Punkten, Linien, Flächen und Attributen (Tags) ein weiteres Element von OpenStreetMap.

Das OpenStreetMap-Wiki verfügt über sehr gute Artikel zur Einführung von Relationen für Einsteiger sowie generell zu Relationen. In meinem Adventskalender-Türchen versuche ich euch mein leider auch noch nicht perfektes Wissen zu Relationen vor allen an mehr oder weniger einfachen Beispielen näherzubringen.

Geodatenbank OpenStreetMap
OpenStreetMap ist eine Geodatenbank, die für unterschiedliche Zwecke verwendet wird. Hierbei lassen sich vor allen komplexere Zusammenhänge nicht durch die Objekttypen Punkte, Wege (inkl. Flächen) und Attribute (Tags) abbilden.


Wofür verwendet man keine Relationen?
Bevor ich auf die Einsatzgebiete von Relationen eingehe, möchte ich aufführen, wo Relationen nicht verwendet werden. So werden Relationen nicht verwendet, um gleichartige Objekte wie z. B. alle Autobahnraststätten oder die Häuser an einer Straße zusammenzufassen. Sollten jedoch z. B. alle Autobahnraststätten in einer Anwendung benötigt werden, so können diese über die gleichen Eigenschaften bzw. Tags aus der OpenStreetMap-Datenbank leicht ermittelt werden.


Wofür werden Relationen verwendet?
Relationen werden immer dann benötigt, wenn einzelne OpenStreetMap-Objekte in einem Verhältnis zueinanderstehen und gemeinsam eine Aufgabe erfüllen.


Woraus besteht eine Relation?
Eine Relation besteht aus einem oder mehreren Attributen (Tags) und einer sortierten Liste von Datenelementen. Als Datenelemente können Punkte, Linien und selbst wieder Relationen in die Relationsliste aufgenommen werden. Jedem Datenelement in der sortierten Liste kann auch eine Rolle zugewiesen werden, die die Bedeutung des Datenelements in der Relation beschreibt.

Relationen können sein
Routen wie Wanderwege, Fahrradrouten, Buslinien, Straßen (Autobahnbezeichnungen, Bundestraßenbezeichnungen), Fähren, ...
Multipoligone zur Darstellung komplexer Flächen
Abbiegebeschränkungen im Straßenverkehr


Beispiele
In meinem Adventskalendertürchen möchte ich sowohl für Routen als auch für Multipoligone jeweils ein Beispiel vorstellen. Mit Abbiegebeschränkungen habe ich mich noch nicht wirklich beschäftigt. Ich denke für Mapper mit viel Interesse an Fußgänger-, Radfahrer- und Auto-Navigation kann das Thema aber ganz interessant sein.


Routen - Wanderweg Jacobsweg Camino Francés
Der klassische Jakobsweg Camino Francés ist bei OpenStreetMap in der Relation 2163573 (wird auf der Karte nicht dargestellt) definiert und enthält aktuell die folgenden Eigenschaften.

denomination=roman_catholic
distance=750
from=Saint-Jean-pied-de-port, France
heritage=1
heritage:operator=whc-UNESCO
int_name=Camino de Santiago
name=Camiño Francés
name:es=Camino Francés
name:eu=Donejakue bidea (Frantses Bidea)
name:gl=Camiño Francés
name:pt=Caminho Francês
network=iwn
note=Superroute - please do not add ways into this relation. Por favor no añadir vías a esta relación.\nBe careful to not map the bicycle way here. See the wiki.
osmc:symbol=blue:blue:shell_modern
pilgrimage=Camino_de_Santiago
religion=christian
route=hiking
symbol=NNN
to=Santiago de Compostela, Espana
type=superroute
wikipedia=es:Camino de Santiago francés

Diese Relation hat den Typ type=superroute und enthält wiederum sieben Relationen, da die Wanderroute aufgrund der Länge auf sieben Teilstrecken aufgeteilt wurde. Das Attribut route=hiking definiert die Relation als Wanderweg. Zudem ist die Superroute Teil der Relation 153968 (wird auf der Karte nicht dargestellt), die scheinbar aktuell zur Zusammenfassung aller Jakobswege verwendet wird.

Die Gesamt-Relation habe ich nur aufgeführt, falls jemand den Jakobsweg ganz wandern möchte. Zur Vereinfachung möchte ich nun auf die erste Teilstrecke Camino Francés – 01 Relation 2163569 (wird auf der Karte dargestellt) eingehen, die in OpenStreetMap von Saint-Jean-Pied-de-Port bis Logrono geht. Diese Teilstrecke hat ähnliche Attribute (Tags) wie die Superroute und beschreibt die Eigenschaften dieses ersten Wegabschnitts.

denomination=roman_catholic
distance=186
from=Saint-Jean-Pied-de-Port, France
int_name=Camino Francés
name=Camino Francés - 01
name:es=Camino Francés - 01 San Juan Pie de Puerto a Logroño
name:eu=Donejakue bidea -01 Garazitik Logroñora
name:fr=Camino Francés - 01 Saint-Jean-Pied-de-Port à Logroño
network=iwn
note=Be careful to not map the bicycle way here. See the wiki. 25/2/2015 As per wiki I am changing the reference to 66216 and marking as IWN.
osmc:symbol=blue:blue:shell_modern
pilgrimage=yes
religion=christian
route=hiking
section=east (east)
symbol=NNN
to=Logroño, España
type=route
wikipedia=fr:Camino francés

type=route definiert sie als Route und route=hiking als Wanderweg. Sie ist Teil der oben genannten Superroute und enthält aktuell 591 Mitglieder bestehend aus Punkten und Linien, die entlang dieses Wegabschnitts liegen.


Hinzufügen bzw. Kontrolle von Streckenabschnitten
Der hier vorgestellte Abschnitt des Jakobswegs führt in Puenta la Reina über die Brücke Puente Romanico. Somit muss die Brücke bzw. genauer Way 42793375 Teil der Relation 2163569 sein.

Auch als kleine Wiederholung für das Adventskalendertürchen vom 9. Dezember hier das Tagging der Brücke Puente Romanico

bicycle=yes
bridge=yes
highway=pedestrian
historic=bridge
layer=1
motorcar=no
name=Puente Romanico
name:eu=Garesko zubi erromanikoa
smoothness=bad
surface=sett
wikidata=Q12258204
wikipedia=eu:Garesko zubi erromanikoa

4482

Brücke Puente Romanico in OpenStreetMap
Quelle: OpenStreetMap Contributors und Bing Maps

Im Gegensatz zu den Screenshots vom 9. Türchen ist hier zusätzlich die Zugehörigkeit der Brücke und damit von Way 42793375 zur Relation 2163569 und damit zum ersten Teil des Jakobswegs aufgeführt. Über die Zuordnung dieser Relation zur Superroute gehört diese Brücke zum Camino Francés.


Und was macht man nun mit den Relationen bzw. diesen Informationen?
Durch die Zusammenfassung von Punkten und Wegen zur einer Wanderroute ist es möglich den Weg auf OpenStreetMap-Karten anzuzeigen (siehe Link Relation Camino Francés - 01) oder individuell auszuwerten. Falls man z. B. für den Jakobsweg nicht auf eine der bereits verfügbaren GPX-Dateien oder Wegen z. B. in komoot zurückgreifen will, so kann man ganz einfach aus den OpenStreetMap-Daten die genannten Relationen und damit die Routen als GPX-Dateien exportieren.

In overpass turbo erhält man durch den Aufruf

Code: Alles auswählen

[out:json][timeout:25];
rel(2163573);
(._;>>;);
out;
den gesamten Jakobsweg oder durch

Code: Alles auswählen

[out:json][timeout:25];
rel(2163569);
(._;>>;);
out;
die erste Teilstrecke des Jakobswegs. Über Export -> GPX -> Download kann die GPX-Datei gedownloadet und in Navigationsgeräte oder Navigations-Apps für die Pilgerreise importiert werden. Da diese Daten von Mappern von OpenStreetMap erfasst und regelmäßig geändert werden, können die GPX-Dateien sowohl eine bessere als auch eine schlechtere Qualität als andere Quellen im Internet haben. Vorteil ist auch, dass wenn man dort wandert und einen Fehler findet, dass man ihn selbst ändern kann. Auch wenn es nicht Teil dieses Beitrags ist: Um GPX-Dateien zu vergleichen (OSM-GPX vs. Tourismusverein), können mehrere GPX-Dateien per Drag-and-Drop auf diese Webseite gezogen werden. Dann werden die unterschiedlichen Dateien in verschiedenen Farben angezeigt, wodurch Abweichungen leicht erkennbar werden.


Weitere Arten von Routen
Das Attribut type=route wird neben Wanderwegen für weitere Routen wie z. B. nummerierte Straßen (Autobahnen, Bundestraßen), Buslinien oder auch Radwege verwendet. In komplexeren Strukturen wie z. B. Fahrradknotennetzen werden ähnlich wie beim Jakobsweg auch Relationen in Relationen genutzt.



Multipoligone –Steinhuder Meer und Insel Festung Wilhelmstein
Bei komplexeren Flächen wie z. B. Gebäuden mit Innenhöfen oder auch wie in diesem Fall dem Steinhuder Meer mit einer Insel, werden Relationen verwendet, um die geschlossenen Wege wie z. B. den See als „außen“ und eine Insel wie die Festung Wilhelmstein als „innen“ zu kennzeichnen.

Die Relation 32810 Steinhuder Meer hat aktuell die folgenden Attribute bzw. Tags:

TMC:cid_58:tabcd_1:Class=Area
TMC:cid_58:tabcd_1:LCLversion=8.00
TMC:cid_58:tabcd_1:LocationCode=6054
canoe=yes
canoe:conditional=no @ (night; Nov 01-Mar 31)
canoe:max_length=7.6m
ele=38
name=Steinhuder Meer
name:de=Steinhuder Meer
name:fr=Lac de Steinhude
natural=water
type=multipolygon
water=lake
wikidata=Q165782
wikipedia=de:Steinhuder Meer

Die Relation type=multipolygon hat insgesamt 17 Mitglieder alle vom Typ Linie, da die Eigenschaften über die Relation definiert werden. In diesem Fall ist nur ein Mitglied (Ufer) als außen und alle anderen 16 Mitglieder inkl. der Insel Festung Wilhelmstein sind als innen definiert.

4483

Steinhuder Meer in OpenStreetMap - gesamte Relation
Quelle: OpenStreetMap Contributors und Bing Maps


4484

Steinhuder Meer in OpenStreetMap - Insel Festung Wilhelmstein
Quelle: OpenStreetMap Contributors und Bing Maps



4485

Steinhuder Meer in OpenStreetMap - nur Außengrenzen (Ufer)
Quelle: OpenStreetMap Contributors und Bing Maps

Die Insel Festung Wilhelmstein ist als Way 4592420 Mitglied der Relation 32810 Steinhuder Meer. Die Linie ist Teil der Relation als „inner“. Das Hauptobjekt sind die Außengrenzen des Steinhuder Meer Way 94930792 . Diese Linie ist Mitglied der Relation 32810 Steinhuder Meer als „outer“.


Durch die Relation werden die Objekte wie das Steinhuder Meer und die Insel in Beziehung gesetzt. Durch die Relations-Eigenschaften „outer“ bzw. „inner“ kann die OpenStreetMap-Software deren Verhältnis zueinander auswerten. Nur so wird die Insel Festung Wilhelmstein korrekt als Insel in OpenStreetMap angezeigt.


Relationen für Mapping-Einsteiger
Relationen mögen für Mapping-Einsteiger komplex erscheinen. Das ist aber kein Problem, da viele Mapper selten bis nie mit Relationen in Kontakt kommen. Auch ich habe selbst nach 14 Jahren OpenStreetMap kaum Relationen verwendet, erstellt oder angepasst. Für Einsteiger ist vielleicht nur wichtig zu wissen, dass man bei Änderungen z. B. von Wegverläufen Wege nicht aus bestehenden Relationen löscht. Aus Sicherheitsgründen erlauben Editoren wie iD es nicht Objekte zu löschen, die aktuell noch einer Relation zugewiesen sind. Um Objekte löschen zu können, dürfen sie keiner Relationen angehören und müssen daher vorher aus der Relation gelöscht werden.

Abschluss
Ich hoffe mein kleiner Einstieg in die Welt der Relationen von OpenStreetMap hat euch gefallen. Habt ihr euch als Mapper für OpenStreetMap auch schon mal mit Relationen in OpenStreetMap beschäftigt? Falls ja würde ich mich über einen Erfahrungsbericht sehr freuen.

TuxPeter
Beiträge: 1966
Registriert: 19.11.2008 20:39:02
Lizenz eigener Beiträge: MIT Lizenz

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von TuxPeter » 11.12.2023 22:03:05

Langsam fange ich an, in ersten Ansätzen, zu verstehen, wie diese Karte funktioniert. Wahnsinn, was diese Community weltweit auf die Beine stellt.

Benutzeravatar
Meillo
Moderator
Beiträge: 8818
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von Meillo » 11.12.2023 22:43:02

uname hat geschrieben: ↑ zum Beitrag ↑
11.12.2023 21:15:59
Da es bis jetzt für heute noch kein Türchen gab, habe ich mein Türchen vorgezogen. Nicht nur, damit ihr heute noch ein Türchen öffnen könnt. Vielleicht wurde das andere Türchen vergessen und hierdurch ist ein anderer Tag wieder frei geworden.
Das finde ich eine gute Idee. Danke fuer's Einspringen.

Hast du die vorige Person angeschrieben? Sie koennte nun deinen alten Tag uebernehmen. Ansonsten waren ja noch ein paar weitere Ideen in der Warteschlange.


Inhaltlich schaue ich mir das Tuerchen demnaechst in Ruhe an. Ich bin schon sehr gespannt darauf!
Use ed once in a while!

Benutzeravatar
Livingston
Beiträge: 1454
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von Livingston » 11.12.2023 23:08:04

TuxPeter hat geschrieben: ↑ zum Beitrag ↑
11.12.2023 22:03:05
Wahnsinn, was diese Community weltweit auf die Beine stellt.
Ja, und man einfach miteinsteigen. Seit ich mal nach einem Umzug verzweifelt nach Altglascontainern gesucht habe und bei OSM fündig wurde, beteilige ich mich an der Jagd nach ihnen und stelle neue Funde in der Karte ein. Einfaches Ziel für den Einstieg.
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von uname » 12.12.2023 13:00:09

Hallo und Danke für die Antworten. Schön, dass euch mein kleiner Beitrag zu Relationen in OpenStreetMap gefallen hat. Die Person habe ich per PN angeschrieben. Ich habe aber noch keine Antwort erhalten.

Benutzeravatar
schorsch_76
Beiträge: 2544
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von schorsch_76 » 12.12.2023 17:28:50

Die Relationen scheinen eine Baumartige Struktur zu bauen. Sind alle anderen Objekte Teil einer Relation oder könnten anderen Objekttypen auch ohne irgendeiner Relation anzugehörigen auch existieren?

Wenn sie einfach ohne Elternobjekt existieren, ist OSM einfach ein Set aus Objekttypen mit Attributen? Wird dann nur anhand der Eigenschaften gefiltert? Kann es dann auch verweise Objekte enthalten oder Objekte deren Struktur nicht mehr korrekt ist?

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: Adventskalender 11. Dezember 2023 - vorgezogen - Alles ist relativ - Relationen in OpenStreetMap

Beitrag von uname » 13.12.2023 07:00:22

schorsch_76 hat geschrieben:Die Relationen scheinen eine Baumartige Struktur zu bauen.
Eher nicht. Relationen in Relationen werden prozentual eher weniger verwendet.
schorsch_76 hat geschrieben:Sind alle anderen Objekte Teil einer Relation oder könnten anderen Objekttypen auch ohne irgendeiner Relation anzugehörigen auch existieren?
Relationen sind eher eine Besonderheit. Objekte wie Punkte, Linien, Flächen müssen zwar immer Tags (Attribute) haben (damit sie sinnvoll verwendet werden können), müssen jedoch nicht Teil einer Relation sein. So sind z. B. Häuser, Wohnstraßen, Bänke, Sehenswürdigkeiten usw. meistens kein Teil einer Relation. Siehe auch meine Beispiele im 9. Adventskalendertürchen.

Straßen und Wege mit und ohne Relationen

4490

Relationen bei Brücke Puente Romanico in OpenStreetMap
Quelle: OpenStreetMap Contributors und Bing Maps

Die Brücke ist Teil der Relation 2163569 Camino Francés - 01 (siehe mein erster Beitrag in diesem Thread)
Die Verbindungsstraße Richtung Süden (Way 42049971) ist Teil der Relation 2163569 Camino Francés - 01

Die Verbindungsstraße Richtung Norden (Way 212493563) ist Teil der Straße - Relation 11799216 Puente la Reina-Gares - NA-700
Die Verbindungsstraße Richtung Süden (Way 42049971) ist Teil der Straße - Relation 11799216 Puente la Reina-Gares - NA-700

Hierdurch ist die Verbindungsstraße Richtung Süden (Way 42049971) Teil beider Relationen. Einmal Teil des Jakobswegs und einmal Teil der NA-700. Es gibt aber (vor allen Straßenobjekte), die weit mehr Relationen angehören (z. B. bei Buslinien in Städten).

Die Ortsstraße Calle Camping el Real (Way 24298845) Richtung Westen ist kein Teil einer Relation.

Weiterhin ist der Fluss Agra (Way 24325870) Teil der Relation Gesamtfluss Relation 2195879 Fluss Agra.
Die Flussfläche (Way 89926091) ist nicht Teil der Fluss-Relation.

schorsch_76 hat geschrieben:Wenn sie einfach ohne Elternobjekt existieren, ist OSM einfach ein Set aus Objekttypen mit Attributen?
Ja. Objekte können alleine stehen. Über geeignete APIs können z. B. alle Objekte in einem Umkreis gefunden werden. Beispiel ist Overpass.
schorsch_76 hat geschrieben:Wird dann nur anhand der Eigenschaften gefiltert?
Genau. Radfahreranwendungen, Wanderkarten, Seekarten, Wheelmap für Rollstuhlfahrer, Navigationssoftware wie OsmAnd, aufgestellte Fahrradtafeln, ... sind immer nur Teile der OpenStreetMap-Datenbasis. Diese können aber angereichert werden. Wichtig ist das OpenStreetMap-Copyright zu beachten. Die Daten unterliegen der Open Data Commons Open Database-Lizenz (ODbL). Zudem ist es erforderlich "OpenStreetMap Contributors" oder "OpenStreetMap Mitwirkende" als Quelle zu benennen.
schorsch_76 hat geschrieben:Kann es dann auch verweise Objekte enthalten oder Objekte deren Struktur nicht mehr korrekt ist?
OpenStreetMap enthält überall Fehler auch wenn die Qualität immer besser wird. Auch gibt es veraltete Objekte. OpenStreetMap-Editoren wie iD erkennen teilweise veraltete Objekttypen und schlagen alternative Tags (Attribute) vor.

Werdet Mapper für OpenStreetMap. Auch in eurer Umgebung gibt es noch genug zu tun. Selbst in Puente la Reina gibt es noch genug zu tun. Ein Großteil der Häuser fehlen z. B. noch. Hier noch die admistrativen Grenzen Relation 344396 Puente la Reina/Gares (ja, sind auch Relationen). Vor allem im Stadtgebiet fehlen viele Häuser. Wer Spaß daran hat, kann die Häuser gerne von Satellitenbildern abzeichnen (Sesselmapping).

Antworten