DE:ÖPNVKarte

From OpenStreetMap Wiki
Jump to navigation Jump to search
ÖPNVKarte
OpenBusMap
Berlin, Deutschland
Berlin, Deutschland
Autor: Melchior Moos
Slippy map: öpnvkarte.de
Tiles license: CC BY-SA 2.0[1]

Die Öpnvkarte ist eine Karte, die aus den Openstreetmap-Daten berechnet wird und besonderen Wert auf die Darstellung von öffentlichen Verkehrsmitteln legt. Sie ist für die ganze Welt verfügbar und wird mittlerweile wieder aktualisiert. Sie wird von Melchior Moos gepflegt.

Tags

Die folgenden speziell auf öffentliche Verkehrsmittel bezogenen Tags werden außer den Standardtags für Wege und Flächen dargestellt.

Zu beachten ist, dass es sich hier um die Dokumentation der vom ÖPNV-Renderer unterstützten Tags und nicht unbedingt um die sauberste Art zu mappen handelt. Sinnvoll ist eine sortierte Relation pro Fahrtrichtung anzulegen und dabei jeweils die Platformen/Positionen der Haltepunkte in die Relationen aufzunehmen. Ein vollständiger Vorschlag zum Eintragen von ÖPNV-Routen ist z.B. unter User:Oxomoa/ÖPNV-Schema zu finden.

Haltestellen

Tag Geometrie Beschreibung
highway=bus_stop Knoten oder Punkt Bushaltestelle
railway=station Knoten oder Punkt Zughaltestelle
railway=halt Knoten oder Punkt Zughaltestelle
railway=tram_stop Knoten oder Punkt Straßenbahnhaltestelle
railway=platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle, Typ anhängig von Zusatztags (z.B. rail=yes)
highway=platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle, Typ anhängig von Zusatztags (z.B. bus=yes)
public_transport=platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle, Typ anhängig von Zusatztags (z.B. bus=yes)

Zusatztags, die ausgewertet werden:

Tag Beschreibung
name=* Haltestellenname
ref=* Haltestellenname wenn name Tag nicht gesetzt (bei Gleisen)
bus=yes Hier halten Busse
rail=yes Hier halten Züge
light_rail=yes Hier halten Stadtbahnen
subway=yes Hier halten U-Bahnen
tram=yes Hier halten Straßenbahnen
ferry=yes Hier halten Fähren

Stationen

Tag Typ Beschreibung
public_transport=stop_area Relation Fasst Haltestellen zu Stationen zusammen. Ein Tag name=* sollte eingegeben werden
site=stop_area Relation Fasst Haltestellen zu Stationen zusammen. Ein Tag name=* sollte eingegeben werden

Haltestellen, die in keiner zusammenfassenden Relation sind, werden bei gleichem name=* automatisch zu Stationen zusammengefasst.

Linien

Linieninformationen werden prinzipiell nur aus Relationen gewonnen. Ob dabei für jede Fahrtrichtung eine eigene Relation angelegt wird ist bei der Kartendarstellung relativ unerheblich; eine getrennte Erfassung ist aber für Anwendungen, die den genauen Verlauf einer Fahrt benötigen, unerlässlich. Wer die Schieneninfrastruktur in einer Relation darstellen möchte, verwende bitte route=railway oder route=railway_track.

Tag Typ Beschreibung
line=rail oder route=train Relation Zuglinie
line=light_rail oder route=light_rail Relation Stadtbahnlinie
line=subway oder route=subway Relation U-Bahnlinie
line=tram oder route=tram Relation Straßenbahnlinie
line=bus oder route=bus Relation Buslinie
line=trolleybus oder route=trolleybus Relation Oberleitungsbuslinie
line=ferry oder route=ferry Relation Fährlinie

Zusatztags, die ausgewertet werden:

Tag Beschreibung
ref=* Liniennummer
name=* Linienname, momentan noch nicht dargestellt
from=* Start der Linie "das, was bei der Rückrichtung vorne drauf steht (stehen würde bei getrennter Erfassung)"
to=* Ziel der Linie "das, was vorne drauf steht"

Rollen der Mitglieder

Die ausgewerteten Rollen der Mitglieder sind identisch, egal ob eine Relation pro Richtung oder pro Linie angelegt wird. Die forward/backward Rollen werden für das Darstellen der kleinen Richtungspfeile immer benötigt, auch wenn die Information bei getrennter Erfassung der Fahrtrichtung theoretisch auch aus den einzelnen sortierten Routen der Linie durch Abgleich gewonnen werden könnte. Für die Anzeige einer Linie beim Klick auf die Haltestelle müssen die Plattformen in den Relationen (für die Linienweg-Anzeige auch in Reihenfolge) enthalten sein.

Rolle Typ Beschreibung
leer (alternativ auch route) Linienzug Wegstrecke, die von der Linie in beiden Richtungen befahren wird
forward Linienzug Wegstrecke, die von der Linie in Richtung der Wegstrecke befahren wird
backward Linienzug Wegstrecke, die von der Linie entgegen der Richtung der Wegstrecke befahren wird
alternate Linienzug Wegstrecke, die von der Linie nur gelegentlich befahren wird (momentan noch nicht dargestelt)
stop/platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle/Bahnsteig, an dem die Linie (in beiden Richtungen) hält. Bei nodes kann die role auch leer bleiben, aber besser mit angeben. Auch nach dem alten stop_X/platform_X eingetragene Halte werden erkannt, da nur der Anfang der Rolle auf Übereinstimmung geprüft wird.
forward_stop/forward_platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle/Bahnsteig, an dem die Linie auf ihrem Weg von from=* nach to=* hält. Bei nodes kann die role auch nur forward sein. Auch nach dem alten forward_stop_X/forward_platform_X eingetragene Halte werden erkannt, da nur der Anfang der Rolle auf Übereinstimmung geprüft wird.
backward_stop/backward_platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle/Bahnsteig, an dem die Linie auf ihrem Weg von to=* nach from=* hält. Bei nodes kann die role auch nur backward sein. Auch nach dem alten backward_X/backward_platform_X eingetragene Halte werden erkannt, da nur der Anfang der Rolle auf Übereinstimmung geprüft wird.
alternate_stop/alternate_platform Knoten oder PunktLinienzugFläche oder Gebiet Haltestelle/Bahnsteig, an dem die Linie nur gelegentlich hält. Bei nodes kann die role auch nur alternate sein. Auch nach dem alten alternate_stop_X/alternate_platform_X eingetragene Halte werden erkannt, da nur der Anfang der Rolle auf Übereinstimmung geprüft wird.

Die Sortierung in der Relation spielt momentan nur bei den Haltestellen eine Rolle, besser ist jedoch die gesamte Relation zu sortieren. Dabei ist aber nur relevant, dass die Sortierung der Wegstücke, der Vorwärtshaltestellen und der Rückwärtshaltestellen untereinander stimmt, die Haltestellen müssen aber nicht zwischen den richtigen Wegstücken liegen.

Praktische Hinweise

Es ist zu beachten, dass "forward" und "backward" (wie oben beschrieben) nichts mit der Hinfahrt bzw. der Rückfahrt zu tun haben. Es ist also möglich in der Richtung "from->to" sowohl Stücke als "forward" als auch als "backward" zu haben. Es geht dabei lediglich darum, dass das Straßenstück entweder in seiner OSM-Richtung oder gegen diese befahren wird. Beispielsweise muss eine entgegen der Fahrtrichtung befahrene Einbahnstraße mit "backward" getaggt werden (sofern sie nicht oneway=-1 hat), egal ob der Bus sich auf der Hinfahrt oder Rückfahrt befindet.

Falls nicht für jede Fahrtrichtung eine eigene Relation angelegt wurde müssen die meisten Stationen mit zwei Haltestellen eingetragen werden: Einmal mit "forward_stop" und einmal mit "backward_stop", um in der Linienwegdarstellung korrekt angezeigt zu werden (Beispiel: http://www.öpnvkarte.de/route.php?name=37&id=225469 von http://www.öpnvkarte.de/?lat=50.07109&lon=8.23781&zoom=16&layers=BT). Das hat natürlich nur dann einen wirklichen Mehrzweck, wenn die Bushaltestellen beider Fahrtrichtungen als getrennte Node eingetragen sind und jeweils die richtigen aufgenommen werden, so dass letztendlich jeder Node nur einfach in der Relation ist. Dabei ist zu beachten, dass die Reihenfolge so ist, "als würde man im Bus sitzen und mitschreiben", der erste "forward_stop" ist also auch die als "from" angegebene Abfahrtsstelle. Sie ist aber auch der allerletzte "backward_stop". Die als "to" angegebene Zielhaltestelle kommt genau in der Mitte der Haltestellenliste zweimal direkt Hintereinander vor, einmal als letzter "forward_stop" und als erster "backward_stop". Es ist dabei zweckmäßig die Fahrtroute und die Haltestellenliste zu trennen, bspw. erst die gesamte Fahrtstrecke untereinander von "from" nach "to" (mit allen ggf. nur in einer Richtung befahrenen Stücken) in die Relation einzutragen. Anschließend kann man erst alle "forward_stop"s und danach alle "backward_stop"s einfügen. Dies hat den Vorteil, dass man ggf. eine vorhandene Haltestellenliste direkt mit den in der OSM-Relation vorhandenen Stops vergleichen kann.

Auf diese Weise eingetragene Linien findet man beispielsweise in Wiesbaden: die Buslinen 1, 8, 8B, 18, 37, siehe dazu Rhein-Main-Verkehrsverbund/Bus_Wiesbaden.

Links

Die Tiles sind bei folgenden Seiten als Layer eingebunden:

Bugs

Bugs und Verbesserungsvorschläge bitte auf der Diskussionsseite posten und bei Bedarf Melchior Moos darüber informieren.

Siehe auch

Einzelnachweise

  1. Ende der linken Seitenleiste: http://öpnvkarte.de