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
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;
Code: Alles auswählen
[out:json][timeout:25];
rel(2163569);
(._;>>;);
out;
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.
Steinhuder Meer in OpenStreetMap - gesamte Relation
Quelle: OpenStreetMap Contributors und Bing Maps
Steinhuder Meer in OpenStreetMap - Insel Festung Wilhelmstein
Quelle: OpenStreetMap Contributors und Bing Maps
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.