Switzerland:Public Transport/Libero/BERNMOBIL/Schema

From OpenStreetMap Wiki
Jump to: navigation, search

Modellierung von Bus und Tramlinien sowie von Haltekanten, Wartebereiche und Haltestellen in OSM

Aktuell ist ein Grossteil der Linien von BERNMOBIL nach einem alten Schema (z.B highway=bus_stop) gemappt. Dieses alte Mappingschema kennt weiter keine route_master Relation, was die Modellierung und das spätere, getrennte Darstellen von einzelnen Linienfahrwegen verunmöglicht. Das neue schema (z.B public_transport=stop_position) schafft hier Abhilfe und behebt weitere Unzulänglichkeiten des alten Schemas. Die Spezifikation des neuen Schemas findet sich hier. Das hier vorgestellte Mappingschema baut auf dem neuen Mappingschema auf und definiert die Nomenklatur der einzelnen Felder für die Linienfahrwege von BERNMOBIL. Weiter wird definiert welche Felder als Pflichtfeld aufgefasst werden (rot markiert) und welche optional sind. Das Kapitel unterscheidet zwischen dem Mapping von route_master, route, stop_position, platform und stop_area.

Fahrwege (route) und Fahrweggruppen (route_master)

Im Normalfall hat jede Linie mindestens zwei Fahrwege (route). Einen Fahrweg pro Richtung. Je nachdem können Linien aber auch mehr als zwei Fahrwege haben, zum Beispiel dann wenn tageszeit-abhängig andere Haltestellen angefahren werden (z.B Eilkurse). Weiter können die Fahrwege im Fall einer Baustelle oder Veranstaltung ändern. So entsteht z.B ein zusätzlicher Linienfahrweg wenn in Bern der Bundesplatz gesperrt ist und die entsprechende Haltestelle nicht angefahren werden kann (Linie 10). Alle diese Fahrwege (route) werden zu Gruppen (route_master) referenziert. Wobei ein route_master viele route‘s, eine route aber immer nur eine route_master haben kann. Diese route_master entsprechen somit dem fahrgastrelevanten Verständnis von Linien. Folgendes Mappingschema wird vorgeschlagen.

Fahrweg (route) für Buslinien (route=bus)
OSM Link auf Beispiel (route): Relation 1358972 (XML, Potlatch2, iD, JOSM, history, analyze, manage, gpx) (Bus Linie 10)
Key Value Bemerkung Beispiel
type route Definiert diese Relation als route route
route bus Definiert den Fahrzeugtyp der route bus
from <Startpunkt> Name der Starthaltestelle Nomenklatur siehe hier Köniz Schliern
to <Endpunkt> Name der Endhaltestelle Nomenklatur siehe hier Ostermundigen Rüti
via <wichtige Zwischenpunkte> Name der Haltestelle Nomenklatur siehe hier Hirschengraben
name <Fahrzeugtyp> <Referenz Nummer>: <Startpunkt> - <Zwischenpunkt> - <End-punkt> Name der Relation Nomenklatur siehe hier Bus 10: Köniz Schliern – Bern Bahnhof - Ostermundigen
description <Fahrzeugtyp> <Beschreibung> Beschreibt die Relation Nomenklatur siehe hier Stammlinie
opening_hours <Tageszeit zu der die route gefahren wird> Tageszeit zu der die route gefahren wird Nomenklatur siehe hier Mo-Sa 20:00-24:00; So 06:00-24:00
ref <Liniennummer> Name der Linie 10
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero
Elemente der Relation route=bus

Beim Erstellen eines Linienfahrweges sollten die zugehörigen Wege entsprechend ihrer Reihenfolge in der Realität zur Relation hinzugefügt werden. Am Ende der Aufzählung werden dann die Haltestellen, eben-falls in der realen Reihenfolge aufgelistet.

Rolle Referenziert auf Bemerkung Beispiel für Rolle Beispiel für Referenziert auf
none way Nomenklatur siehe hier Bernstrasse (27 Punkte)
stop stop Kennzeichnet den Ort auf der Strasse zu der sich rechtwinklig dazu der Wartebereich (plat-form) der Haltestelle befindet (detaillierter unter 2.2.1)** stop Ostermundigen Rüti (46.956, 7.505)
stop_exit_only yes Kennzeichnet die Haltekante (respektive den Halt) mit einem Einsteigeverbot yes Ostermundigen Rüti (46.956, 7.505)
stop_entry_only yes Kennzeichnet die Haltekante (respektive den Halt) mit einem Aussteigeverbot yes Ostermundigen Rüti (46.956, 7.505)
platform platform Kennzeichnet den Wartebereich (platform) der Haltestelle platform Ostermundigen Rüti (46.956, 7.505)

Bemerkung: die von nounours77 vorgeschlagene Bezeichnung der Fahrtrichtung ("forward" falls mit dem weg, "backward" falls gegen den Weg) scheint nicht mehr nötig bzw. gewünscht zu sein. JOSM validator lässt es z.B. nicht zu. Laut https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport soll keine forward/backward rolle mehr zugewiesen werden. --Nounours77 (talk) 08:54, 22 November 2014 (UTC)

Fahrweg (route) für Tramlinien (route=tram)
OSM Link auf Beispiel (route): Relation 4089818 (XML, Potlatch2, iD, JOSM, history, analyze, manage, gpx) (Tram Linie 6)
Key Value Bemerkung Beispiel
type route Definiert diese Relation als route route
route tram Definiert den Fahrzeugtyp der route tram
from <Startpunkt> Name der Starthaltestelle Nomenklatur siehe hier Bern Bahnhof
to <Endpunkt> Name der Endhaltestelle Nomenklatur siehe hier Weissenbühl
via <wichtige Zwischenpunkte> Name der Haltestelle Nomenklatur siehe hier
name <Fahrzeugtyp> <Referenz Nummer>: <Startpunkt> - <Zwischenpunkt> - <End-punkt> Name der Relation Nomenklatur siehe hier Tram 3: Bern Bahnhof - Weissenbühl
description <Fahrzeugtyp> <Beschreibung> Beschreibt die Relation Nomenklatur siehe hier Stammlinie
opening_hours <Tageszeit zu der die route gefahren wird> Tageszeit zu der die route gefahren wird Nomenklatur siehe hier Mo-Sa 20:00-24:00; So 06:00-24:00
ref <Liniennummer> Name der Linie 10
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero
Elemente der Relation route=tram

Beim Erstellen eines Linienfahrweges sollten die zugehörigen Wege entsprechend ihrer Reihenfolge in der Realität zur Relation hinzugefügt werden. Am Ende der Aufzählung werden dann die Haltestellen, ebenfalls in der realen Reihenfolge aufgelistet.

Rolle Referenziert auf Bemerkung Beispiel für Rolle Beispiel für Referenziert auf
none rail Nomenklatur siehe hier forward Gleise (14 Punkte)
stop Kennzeichnet den Ort auf der Strasse zu der sich rechtwinklig dazu der Wartebereich (plat-form) der Haltestelle befindet (detaillierter unter 2.2.1)** stop Bern, Bahnhof (46.937, 7.432)
stop_exit_only yes Kennzeichnet die Haltekante (respektive den Halt) mit einem Einsteigeverbot yes Ostermundigen Rüti (46.956, 7.505)
stop_entry_only yes Kennzeichnet die Haltekante (respektive den Halt) mit einem Aussteigeverbot yes Ostermundigen Rüti (46.956, 7.505)
platform platform Siehe hier platform Bern, Bahnhof (46.937, 7.432)

Zusätzlich ist beim Erstellen der Schienen (Rail) darauf zu achten, dass diese mit dem Tag oneway=yes (Schiene wird nur in der Richtung des Weges befahren) oder oneway=-1 (Schiene wird nur in der entgegen der Richtung des Weges befahren).

Fahrweggruppen (route_master) für Buslinien route_master=bus
OSM Link auf Beispiel (route_master): Relation 4113572 (XML, Potlatch2, iD, JOSM, history, analyze, manage, gpx) (Bus Linie 10)
Key Value Bemerkung Beispiel
type route_master Definiert diese Relation als route_master route_master
route_master bus Definiert das Transportgefäss der route_master bus
ref <Liniennummer> Nummer der Linie 10
name <Fahrzeugtyp> <Liniennummer> Name der Linie Nomenklatur siehe hier Bus 10: Köniz Schliern – Ostermundigen
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero
Elemente der Relation route_master=bus
Rolle Referenziert auf Bemerkung Beispiel für Rolle Beispiel für Referenziert auf
none route Hier werden alle route der route_master eingefügt und somit sämtliche Linienfahrwege einer Linie zusammengefasst Bus 10: Köniz Schliern – Bern Bahnhof - Ostermundigen
Fahrweggruppen (route_master) für Tramlinien route_master=tram
OSM Link auf Beispiel (route_master): Relation 4089819 (XML, Potlatch2, iD, JOSM, history, analyze, manage, gpx) (Bus Linie 10)
Key Value Bemerkung Beispiel
type route_master Definiert diese Relation als route_master route_master
route_master tram Definiert das Transportgefäss der route_master tram
ref <Liniennummer> Nummer der Linie 6
name <Fahrzeugtyp> <Liniennummer> Name der Linie Tram 6
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero
Elemente der Relation route_master=tram
Rolle Referenziert auf Bemerkung Beispiel für Rolle Beispiel für Referenziert auf
none route Hier werden alle route der route_master eingefügt und somit sämtliche Linienfahrwege einer Linie zusammengefasst Tram 3: Bern Bahnhof - Weissenbühl

Haltekanten (stop_position), Wartebereiche (platform) und Haltestellen (stop_area)

Haltestellen Modelierung
Haltekanten (oder Steige) und Wartebereiche werden in OSM nach dem neuen Schema folgendermassen gemappt. Das neue Schema kennt stop_position (node), platform (node or way, closed way or area) und stop_area (relation) als Werte für den Key public_transport. Die platform entspricht dem Wartebereich und kann mit einem Weg oder auch einer Fläche modelliert werden. Die (stop_position) ist ein Punkt „auf“ dem Weg oder Gleis des Linienfahrweges. Dieser Punkt soll nach Möglichkeit so gesetzt werden, dass er auf der Höhe der Bodenmarkierungen für Sehbehinderte Personen des Wartebereiches liegt. Wenn keine solche Markierung vorhanden oder bekannt ist, soll der Punkt mittig zum Wartebereich gesetzt werden. Die Relation mit dem Wert stop_area entspricht dem eigentlichen Verständnis von einer Haltestelle also einer Elternrelation aller Haltekanten mit dem gleichen uic_name und uic_ref.


Haltekanten für Buslinien (public_transport=stop_position / bus=yes)
OSM Link auf Beispiel (stop_position): Node 286465950 (XML, Potlatch2, iD, JOSM, history) (Haltestelle Ostermundigen Rüti)
Key Value Bemerkung Beispiel
public_transport stop_position Definiert diesen Punkt als Haltepunkt stop_position
bus yes Verweist auf den Fahrzeugtyp.Es kann auch zu Situationen kommen in denen Trams und Busse die gleiche Haltestelle benutzen (z.B Zyt-glogge). In einem solchen Fall wird bus=yes und tram=yes getaggt yes
name <Name gemäss Fahrgastinformation vor Ort> Name der Haltestelle Nomenklatur siehe hier Ostring
uic_name <Name gemäss BAV> Name der Haltestelle gemäss BAV Nomenklatur siehe hier Bern, Ostring
uic_ref <Nummer gemäss BAV> Nummer der Haltestelle gemäss BAV Nomenklatur siehe hier 8587480
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero
Haltekanten für Tramlinien (public_transport=stop_position / tram=yes)
OSM Link auf Beispiel (stop_position): Node 3113546000 (XML, Potlatch2, iD, JOSM, history) (Haltestelle Fischermätteli)
Key Value Bemerkung Beispiel
public_transport stop_position Definiert diesen Punkt als Haltepunkt stop_position
tram yes Verweist auf den Fahrzeugtyp.Es kann auch zu Situationen kommen in denen Trams und Busse die gleiche Haltestelle benutzen (z.B Zyt-glogge). In einem solchen Fall wird bus=yes und tram=yes getaggt yes
name <Name gemäss Fahrgastinformation vor Ort> Name der Haltestelle Nomenklatur siehe hier Ostring
uic_name <Name gemäss BAV> Name der Haltestelle gemäss BAV Nomenklatur siehe hier Bern, Ostring
uic_ref <Nummer gemäss BAV> Nummer der Haltestelle gemäss BAV Nomenklatur siehe hier 8587480
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero

Wartebereiche (public_transport=platform)

Für die Modelierung von platform gilt nachfolgender Vorschlag. Das Mappen von platform ist aber nicht Teil des aktuellen Projekts. Entsprechend gibt es hier keine Pflichtfelder.

Key Value Bemerkung Beispiel
public_transport platform Definiert diesen Weg (normal-fall) oder diesen Punkt als Haltepunkt platform
name <Name gemäss Fahrgastinformation vor Ort> Name der Haltestelle Nomenklatur siehe hier Ostring
uic_name <Name gemäss BAV> Name der Haltestelle gemäss BAV Nomenklatur siehe hier Bern, Ostring
uic_ref <Nummer gemäss BAV> Nummer der Haltestelle gemäss BAV Nomenklatur siehe hier 8587480
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero

Haltestellen (public_transport=stop_area)

Für die Modelierung von stop_area gilt nachfolgender Vorschlag. Das Mappen von stop_area ist aber nicht Teil des aktuellen Projekts. Entsprechend gibt es hier keine Pflichtfelder.

Key Value Bemerkung Beispiel
public_transport stop_area Definiert diesen Punkt als Haltestelle stop_area
name <Name gemäss Fahrgastinformation vor Ort> Name der Haltestelle Nomenklatur siehe hier Ostring
Elemente der Relation public_transport=stop_area
Rolle Referenziert auf Bemerkung Beispiel für Rolle Beispiel für Referenziert auf
stop ‪ public_transport‬‬‪=stop_position‬‬‬ Hier werden alle stop_point der stop_area eingefügt und somit sämtliche Haltekanten einer Haltestelle zusammengefasst stop Bern, Bahnhof Perron C
platform ‪public_transport‬‬‪=platform‬‬ Hier werden alle platform der stop_area eingefügt und somit sämtliche Wartebereiche einer Haltestelle zusammengefasst plattform Bern, Bahnhof Perron C

Modellierung von Strassen und Schienen

In diesem Abschnitt wird die Modellierung von Schienen und Straßen im Zusammenhang mit ÖV beschrieben.

Schiene (railway=tram) Way

Wichtigste Key/Value zum Modellieren von Schienen sind:

Key Value Bemerkung Beispiel
railway tram Definiert das Way-Element als Schienen (MUST) tram
oneway yes Definiert, dass das Gleis nur in eine Richtung befahren werden kann (MUST, sofern 1 Spur pro Richtung vorhanden ist) yes
electrified contact_line Oberleitung vorhanden (nicetohave) contact_line
gauge <Spurbreite in mm> Definiert die Spurbreite in mm (nicetohave) 1000 (für 1m)
voltage <Spannung des Fahrstromes in V> Definiert die Spannung des Fahrstromes (nicetohave) 600 (für 600V)
maxspeed <max.Geschwindigkeit> Definiert die max.Geschwindigkeit (nicetohave) 50 (für 50km/h)
operator <Name des Betreibers> Marketingbezeichnung (Marke), Markeninhaber ist BERNMOBIL AG (online Auszug HR Bern, via zefix.ch). BERNMOBIL wird immer „uppercase“ (versal) geschrieben BERNMOBIL
network <Verbund> Bezeichnung/Schreibweise gemäss Webseite Libero-Tarifverbund mit Angabe der Verbundpartner. Der Verbund ist nicht im HR eingetragen Libero

Strasse (highway=*) Way

Wichtigste Key/Value zum Modellieren von Strassen im Zusammenhang Bussen/Trolley sind:

Key Value Bemerkung Beispiel
highway primary, secondary, residential, service,... Definiert das Way-Element als entsprechende Highway-Typ. Bei reinen Busspuren ist highway=service zu setzten.(MUST)

Hinweis: Fahren Busse auf der Schiene (d.h. auf einer sep. ÖV-Spur), muss beim Schienenelement (railway=tram)psv=yes gesetzt werden. Bei den Übergangselementen zwischen der Strasse <--> Schiene muss highway=service und psv=yes gesetzt sein.

primary
psv yes/no Definiert, dass die Strasse vom Bus/Trolley befahren werden kann (MUST, wenn nur für Bus/Trolley vorbehalten)

Hinweis:psv=yes ist gegenüber bus=yes vorzuziehen, mit psv=yes wird nicht unterschieden zwischen Trolley und Bus.

yes
trolley_wire yes Trolley-Oberleitung vorhanden (nicetohave) yes

Abbiegeverbote oder Gebote:

Gelten Abbiegeverbote oder Gebote restriction=* nicht für den ÖV, muss der ÖV mit except=psv von der Regelung ausgeschlossen werden.