Stadtbahn Heilbronn

Moin Leute,

dieses Thema bedarf einer kurzen Vorgeschichte: Eines Tages fiel mir eine Änderung an der Stadtbahn Heilbronn auf. Ein Nutzer, der ich hier nicht nennen werde, hat vom Nordast der Stadtbahn sämtliche Haltepositionen von den Gleisen heruntergenommen und stattdessen eine pro Station auf den Bahnsteig platziert. Ich hatte mich bei dem Nutzer beschwert und da er es so akzepiert hat das korrekte Public-Transport-Schema wieder eingepflegt. Umso verärgerter war ich dann, als ich später auf der S4 zwischen Schwaigern und Öhringen nicht nur das bereits beschriebene eigentümliche Haltepositionentagging vorgefunden habe, sondern auch ausgetauschte railway-tags und feststellen musste, dass alle stop_area-Relationen ersatzlos gelöscht wurden, wieder vom selben Benutzer. Wie sich in einem zähen Dialog herausgestellt hat, waren für ihn die falschen operator-tags ein triftiger Grund dafür, die Relationen zu entfernen. Ferner pochte er darauf, dass light_rail=yes vollständig durch tram=yes und train=yes ersetzt werden müsse, dem Widerspruch zur Routenrelation zum Trotz, analog die railway-values. Da ich außer der Wiedereinführung des Public-Transport-Schemas nichts bewirken konnte, war die Diskussion schließlich beendet.

Nun zum eigentlichen Thema: Eben habe ich auf dem Wiki die erst einen Monat alte ausführliche Dokumentation zu railway=light_rail entdeckt (http://wiki.openstreetmap.org/wiki/DE:Tag:railway%3Dlight_rail). Dort heißt es in der Einleitung:

Eine “Light Rail” im Sinne von Openstreetmap ist eine Stadtbahn und straßenbahnähnliche Untergrund oder Überlandbahn oft mit eigenen Bahnkörper. Sie steht zwischen klassicher Straßenbahn (railway=tram) und vollwertiger Eisenbahn (railway=rail).

Diese Beschreibung ist mMn für die Stadtbahn Heilbronn zutreffend. Die Ersetzungen von railway=light_rail wurden mit EBO und BOStrab begründet. Da ich diese Begriffe damals zum ersten Mal überhaupt gehört hatte und heute ebenfalls kaum mit ihnen vertraut bin, konnte ich hier nicht argumentieren. Jetzt finde ich im Wiki den Schlüssel workrules=*, der eben hierzu eine Aussage macht.

Die Frage lautet nun: Kann ich railway=light_rail und light_rail=yes im Netz wieder einführen? Ich finde, der Wiki gibt mir recht, aber ich möchte mich hier absichern. Und was mache ich dann zwischen Heilbronn und Öhringen, wo Stadtbahnen und Regionalzüge auf den selben Gleisen verkehren?

Die derzeitige Situation ist unter http://tools.geofabrik.de/osmi/?view=pubtrans_railway&lon=9.22687&lat=49.14400&zoom=14&overlays=rails,rails_main,rails_branch,rails_other,rails_no_usage,light_rails,pos_subways,subways_over,subways_under,monorails,trams,funiculars,other_railways,railways_bridges,railways_tunnels,warnings,not_electrified,subways_no_tunnel,errors,railways_highways,incorrect_metros,wrong_members,stops einsehbar.

MfG Chris

Hallo Chris,

Wenn ich mir die Beschreibung bei wikipedia anschaue, ist die Stadtbahn Heilbronn ein Mix-System: eineseits Streckenabschnitte nach BOStrab (innerorts) und andererseits EBO (außerorts) also einmal als echte Straßenbahn (innerorts) und einmal als echte Eisenbahn(außerorts). Kosequenterweise müsste nach Meiner Meinung auch die entsprechenden Gleisabschnitte unterschiedlich erfasst werden, da ja die Stadbahn Heilbronn auch mit zwei Stromsystemen betrieben wird.

Das ist übrigens für mich auch ein recht gute Beispiel, warum das Tagging auf Basis railway=* inkosistent ist, da verschiedene Aussagen bei railway=* vermengt werden: Betriebsform, Spurweite, Lebenszyklus…

Mal sehen, was Michael (user nakaner) sagt… er steckt tief im Eisenbahnmapping drin.

Sven

Nachreichung:

Das Tagging-Schema: http://wiki.openstreetmap.org/wiki/DE:OpenRailwayMap/Tagging

Erst mal vielen Dank fürs Einarbeiten und für die schnelle Antwort.

Ist genau dafür nicht workrules=EBO/BOStrab da? Wenn workrules=EBO ständig mit railway=train und workrules=BOStrab mit railway=tram auftritt, wozu braucht man diesen key dann überhaupt noch?

naja, workrules=* ist anscheinend ein nicht erst frisch dokumentierter Tag… vergleiche auch http://forum.openstreetmap.org/viewtopic.php?pid=459381#p459381 ist auch derzeit nur mehr oder weniger in deutschen Landen zu finden: http://taginfo.openstreetmap.org/keys/workrules#values daher auch etwas fraglich…

Sven

Zum Mappen der Gleisanlagen kann ich nichts sagen. Zum beschlossenen Public Transport Proposal schon: “light_rail” gehört nicht in PT-Routen, Master Routen, Stop Areas, usw… Da gibt es die Wahl zwischen “train”, “tram” und “subway”.

Dass die Nodes mit “public_transport=stop_position” (und andere, die mit der Rolle "stop"benutzt werden) nur auf dem Fahrweg sein können, ist völlig richtig.

Weide

PS: Siehe Public Transport Proposal http://wiki.openstreetmap.org/w/index.php?title=Proposed_features/Public_Transport&oldid=625726

Hallo Chris,

die Sache ist aber schon ein Weilchen her oder? Ich habe gerade stichprobenartig in die History von Bretzfeld und Heilbronn Industrieplatz geschaut. Beidemale kann ich eine Ansatz von Editwar (es aber kein richtiger) zwischen dir und rayquaza erkennen. Die diskutablen Edits fanden aber zwischen Heiligabend 2013 und Ende Juni 2014 statt. Ich habe übrigens kein Problem damit, seinen Namen zu nennen und er vermutlich auch nicht. Ich schätze ihn selbst als verlässlichen und vernünftigen Mapper mit ziemlich viel Ahnung von Bahn- und ÖPNV-Fragen in OSM ein. Heilbronn und v.a. Rhein-Neckar ist sein Gebiet. Ich denke mal, dass er sich hier melden wird, er liest ja hier im Forum mit.

Gut, dass ich aus der Gegend komme und bis auf die Stadtbahn Nord (Heilbronn Harmonie–Neckarsulm) schon alle Strecken in Raum Heilbronn befahren habe.

Aber nun zur Sache. Ich kann keinem von euch beiden Recht geben und die Wikiseite zu railway=light_rail hat auch nicht recht. railway=light_rail kann man nicht scharf definieren. Es gibt eine Reihe an Fragestellungen, die bei der Einteilung helfen, aber am Ende kommt man um einen Konsens innerhalb der Community für bestimmte Städte nicht herum.

Heilbronn ist ein Teil des Karlsruher Zweisystemstadtbahnnetzes. Überland fährt man nach EBO (Eisenbahn), innerorts nach BOStrab (Straßenbahn). Im EBO-Bereich kommt auf (ex-)DB-Strecken 15 kV, 16,7 Hz zum Einsatz, ansonsten 750 V Gleichstrom. [2]

Meine Meinung zu Heilbronn
Tagging der Routenrelationen
Die Routenrelationen der AVG-Stadtbahnlinien S4, S42 und S41 (HN) [1] sollte man mit route=light_rail taggen, auch wenn das im neuen PT-Schema nicht vorgesehen ist. Es ist IMHO schlicht und einfach eine Schwachstelle, die noch keiner mittels Proposal geflickt hat. Die drei Linien sind Mischwesen zwischen Eisenbahn- und Straßenbahnfahrzeug aufgrund ihrer leichten Bauweise, starken Bremsen, Hochflurigkeit, Eignung für enge Gleisbögen usw.

Gleistagging
Glücklicherweise markieren die Stadtwerke Heilbronn die Grenzpunkte zwischen BOStrab und EBO mit kleinen Schildern.

Wenn es sich um einen innerstädtisches Gleis nach BOStrab handelt, ist es ein Straßenbahngleis (railway=tram). Die Stadtbahn fährt einfach zu oft auf der Straße. Da man Netze homogen taggen sollte (also nicht wegen 100 m Tunnel aus tram subway machen und dann wieder tram), sollte das gesamte Netz railway=tram sein. Innerstädtisch ist die Stadtbahn auch als Straßenbahn gedacht. Aus Sicherheitsgründen vermeidet man auch gern Abschnitte, auf denen Straßenbahnen im Verkehr mitschwimmen.

Haltestellen in BOStrab-Bereichen
Damit alles schön einheitlich bleibt, sind alle Haltestellen, wo die Gleise railway=tram sind Straßenbahnhaltestellen. Dazu setzt man einen unverbundenen Node mittig in die Haltestelle und taggt diesen mit railway=tram_stop + operator=“Stadtwerke Heilbronn GmbH”+ name=* + railway:ref=* + public_transport=station + light_rail=yes. Der Node wird mit light_rail=yes und nicht mit tram=yes getaggt, da dort nur light_rail-Routenrelationen halten. Dieses Verkehrsmitteltag richtet sich nämlich nach der Nutzung. Dieser Node ist Mitglied der stop_area-Relation. Dieser Node ist nicht Mitglied von Routenrelationen nach dem neuen Schema.

Die Halteposition werden als Node auf den Gleisen gemappt. Sie werden getaggt: public_transport=stop_position + light_rail=yes + name=*. Sie sind sowohl Mitglied der stop_area- als auch der Routenrelation(en). Diese Nodes sollten kein railway=tram_stop bekommen, da wir das bei Eisenbahnhaltepunkten (siehe unten) auch nicht machen.

Nachtrag 21:20 Uhr: Die stop_positions sollten auch mit tram=yes getaggt werden, da dort auch prinzipiell Straßenbahnen halten könnten (auch wenn es im Heilbronner BOStrab-Netz keine solchen Fahrzeuge gibt).

Haltepunkte auf Eisenbahnstrecken (EBO)
Folgendes gilt sowohl für DB-Strecken (Heilbronn–Heilbronn-Karlstor–Öhringen–Schwäbisch Hall-Hessenthal) als auch für AVG-Strecken (z.B. Karlsruhe-Grötzingen–Eppingen–Heilbronn): Ein unverbundener Node mit railway=halt + operator=* + railway:ref=* + name=* + public_transport=station. Ich persönlich wäre dafür hier auch light_rail=yes zu taggen und train=yes nur zu taggen, wenn dort auch Eisenbahnzüge halten.

Wie bei Straßenbahnhaltestellen auch dazu stop_position-Nodes auf die Gleise an die Haltepositionen. Wenn an dem Haltepunkt nur AVG-Stadtbahnen halten, dann wird er mit light_rail=yes getaggt. train=yes oder tram=yes wären falsch, train=no und tram=no hingegen richtig (aber eigentlich überflüssig). Wenn an dem Haltepunkt auch Linien halten, deren Relation mit route=train getaggt ist, ist train=yes für die stop_positions erlaubt.

Nachtrag 21:20 Uhr: Die stop_positions sollten auch mit train=yes getaggt werden, da dort auch prinzipiell Vollbahnzüge halten können. Deren Betreiber müssen nur beim Infrastrukturbetreiber (AVG auf der Kraichgaubahn, ansonsten DB Station & Service) die entsprechenden Gebühren zahlen.

Bahnhöfe auf Eisenbahnstrecken (EBO)
Der einzige Unterschied im Tagging ist, dass statt railway=halt railway=station verwendet wird. Was ein Bahnhof ist und was nicht legt in Deutschland § 4 Abs. 2+8 EBO fest.

Beispiel Schwaigern Ost
Schwaigern Ost ist ein Haltepunkt. Es sollte einen Node mit railway=halt + public_transport=station + light_rail=yes + name=“Schwaigern Ost” geben. Dieser sollte Mitglied der stop_area-Relation sein. Dazu sollte es noch auf dem Gleis einen Node mit public_transport=stop_position + light_rail=yes geben, der Mitglied der S4-Relationen und der stop_area-Relation sein sollte.

Nachtrag 21:20 Uhr: Die stop_positions sollten auch mit train=yes getaggt werden.

Beispiel Öhringen Hbf
Öhringen Hbf ist ein Bahnhof. Es sollte einen Node mit railway=station + public_transport=station + light_rail=yes + train=yes + name=“Öhringen Hauptbahnhof” geben. Dieser sollte Mitglied der stop_area-Relation sein. Dazu sollte es noch je Bahnsteiggleis einen Node mit public_transport=stop_position geben. Die Stadtbahnen fahren i.d.R. auf Gleis 1 und 2, die RE-Züge Crailsheim–Heilbronn ebenso. Daher sollten die stop_positions von Gleis 1 und 2 sollten mit light_rail=yes getaggt sein. Die RB-Züge Öhringen Hbf–Schwäbisch Hall-Hessenthal fahren von Gleis 3. Daher sollte die stop_position von Gleis 3 mit train=yes und light_rail=no getaggt sein. Anomalien in den Tagesrandlagen sollte man in OSM nicht unbedingt erfassen.

Nachtrag 21:20 Uhr: Da an allen drei Bahnsteigen sowohl Stadtbahnen als auch Vollbahnzüge halten können, werden alle drei stop_positions mit train=yes und light_rail=yes getaggt.

Beispiel Heilbronn Industrieplatz
Ein Node für die Haltestelle in die Mitte. Dieser wird mit name=Industrieplatz, railway:ref=THSTI, railway=tram_stop, uic_ref=8002723, operator=“Stadtwerke Heilbronn GmbH” getaggt. Auf die Gleise kommen stop_positions. Da dort nur light_rail-Relationen halten, werden diese mit public_transport=stop_position + light_rail=yes getaggt.

Nachtrag 21:20 Uhr: Die stop_positions sollten auch mit tram=yes getaggt werden. Der Haltestellen-Node in der Mitte sollte auch mit public_transport=station und tram=yes und light_rail=yes getaggt werden.

Zusammenfassung
railway=* richtet sich nach der Infrastruktur. railway=halt/station für Haltepunkte/Bahnhöfe an Gleisen mit railway=light_rail/rail. railway=tram_stop für Haltestellen an Straßenbahngleisen (railway=tram). light_rail=, tram= und train=* sind Tags des neuen PT-Schemas. Sie richten sich danach, was für Routenrelationen diese Haltestelle/Haltepunkt/Bahnhof bedienen.

Viele Grüße

Michael

[1] Nicht verwechseln mit der S41 (Murgtal), die früher mal von Heilbronn nach Raumünzach fuhr.
[2] In der Nähe der Systemwechselstellen Gleichstrom–Wechselstrom gibt es Anomalien (Gleichstrom unter EBO, Wechselstrom unter BOStrab). Meist sind diese aber nur ein paar Hundert Meter lang. Dazu kommt der Abschnitt Neckarsulm-Süd–Neckarsulm Bf., der bis Ende diesen Monats nach BOStrab betrieben wird und dann in EBO umgewidmet wird (Ursache ist die verzögerte EBO-Zulassung der neuen Fahrzeuge).

Du meinst wohl railway=rail statt railway=train, oder?

Du musst den workrules-Key internationaler verstehen. In Grenzgebieten haben wir Strecken, die zum Teil nach ausländischem Recht betrieben werden. Basel Badischer Bahnhof liegt in der Schweiz (schon damals, als er gebaut wurde!), wird aber von der DB betrieben und ist mit deutschen Signalen ausgestattet. Wenn jemand eine internationale Anwendung hat, die OSM-Eisenbahndaten auswertet, möchte er z.B. “enge Kurven” farblich hervorheben. Was “eng” ist, ist unter Umständen vom Rechtsrahmen, der auf dem Gleis gilt abhängig. Eng ist auf einer Eisenbahnstrecke für Hochgeschwindigkeitsverkehr schon eine Kurve, die man nur mit 80 befahren kann (siehe Santiago de Compostella).

Momentan taggen wir in Deutschland als workrules=* noch Gesetze/Verordnungen. In einem Jahr sind wir vielleicht auf dem Niveau angekommen, dass wir bei der Albtal- und Hardtbahn (aber nicht auf der Kraichgaubahn) workrules=EBO;SbV-AVG (Sammlung betrieblicher Vorschriften) taggen.

Ich nenne mich mal selbst :slight_smile:

Ist zwar eigentlich nicht relevant, aber dann schreib’s doch bitte auch richtig: Davor waren die Stationen doppelt erfasst, also mit einem railway=*-Node pro public_transport=stop_position. Bei der Beseitigung davon hatte ich, wenn das für mich einfacher war als das PT-Tagging auch zu richten, die stop_positions zusammengeführt.

Ging mir auch so :roll_eyes:

Sonst müsste an den Bahnsteigen und stop_positions fast jeder Bahnstation zusätzlich zu train=yes light_rail=yes sein. Dass ein Zug, der als Strassenbahn und Eisenbahn fahren kann sowohl tram=* als auch train=* nutzen kann ist für mich selbstverständlich.

workrules=* ist nur jeweils national auswertbar, weil das z.B. in Frankreich natürlich nicht EBO heisst. Andersrum gibt es in Deutschland für railway=rail noch z.B. etwa 16 BOA (teilweise unter anderem Namen).

Ja.

Das richtet sich aber doch nach der möglichen Nutzung, weil es z.B. für Routinganwendungen dienen können soll, dachte ich? Sonst hätte man an Gleisen, die maximal in Tagesrandlagen (oder eben im Regelverkehr garnicht) genutzt werden gar keine stop_position :confused:

Den Satz würde ich also um ein “können” am Schluss ergänzen.

Wir Deutsche sind bei manchem dem Ausland weit voraus.

workrules=* ist seit ein paar Tagen dokumentiert. Diese Wiki-Seite habe ich letztes Wochenende angelegt. Sie ist aber noch nicht fertig. Ich muss noch ein paar Werte aus dem Protokoll dorthin übertragen und dann die Seite noch ins Deutsche übersetzen.

Du wirst auch bei einem Blick auf die Taggingseiten der OpenRailwayMap feststellen, dass wir jetzt endlich auch die Änderungen der letzten beiden Taggingdiskussionstreffen in Köln und Bad Nauheim in die Dokumentation einpflegen. Seit Sonntag ist außerdem das Tagging endlich vollständig auf Englisch dokumentiert.

rayquaza, du weißt aber, dass tram=* und train=* PT-Tags und keine Infrastrukturtags sind?

train=* usw. sollte man nicht zum Routen nehmen. Dafür gibt es railway=stop.

Also hätte deiner Interpretation nach eine Bushaltestelle an der planmässig kein Bus hält (z.B. eine dauerhafte SEV-Haltestelle) an stop_position, platform und stop_area bus=no und kein *=yes-Tag?

Ah… sehr schön… ich nehme alles zurück und behaupte das Gegenteil… :slight_smile:

siehe http://forum.openstreetmap.org/viewtopic.php?pid=461638#p461638

Sven

Interpretiert man bus/tram/ect.=yes als “Verkehrsmittel, für deren Halt die Haltestelle vorgesehen ist”, würde das so hinkommen.

Hallo rayquaza,

Deine Argumentation klingt logischer als meine. Daher ziehe ich meine Behauptung zurück., dass man Stadtbahnhaltestellen im EBO-Bereich, die nicht von RB-/RE-Zügen bedient werden, (z.B. Bretzfeld) mit train=no taggen sollte.

Ich habe meinen obigen Beitrag angepasst.

Viele Grüße

Michael

Hat es jemand gesehen?..

Der Abschluss einer sehr ausführlichen und klaren Antwort. Danke dafür! :slight_smile:
Ich denke, das kann man so kaufen.

Richtig. Der Wiki (siehe weiter oben) hat mich dazu gebracht, die Meinungsdifferenz - Konflikt würde ich es nicht nennen - unter Beteiligung von Dritten zu reaktivieren. Das hätte eigentlich schon früher passieren sollen. :expressionless:

MfG Chris

Als Markierung für PTP hat sich “public_transport:version=2” etabliert. Wenn man sich nicht daran halten will, dann sollte man da einen anderen Wert benutzen. Im PTP ist alles, was für einen Passagier eher nach Zug aussieht als nach Straßenbahn, ein “train”. Der Begriff bedeutet im PTP etwas anderes als bei Eisenbahnexperten. Im PTP werden ja sogar normale PKWs als “bus” bezeichnet, wenn wegen des geringen Fahrgastaufkommens Taxen als Bus eingesetzt werden. Ich bin auch mit vielen Dingen im PTP nicht einverstanden wie ich ja durch Einbrigen eines Nachfolgevorschlages nachgewiesen habe, aber man sollte nicht erst massenweise Längen in Fuß erfassen und danach anfangen, die Füße neu zu vermessen und die Einheit zu modifizieren. Wenn Editoren und Prüfprogramme die Mapper in diesen komplizierten Angelegenheiten unterstützen sollen, dann darf es keinen Etikettenschwindel geben.

Weide

public_transport=station ist nicht die neue Art railway=station und railway=halt zusammenzufassen. Mit public_transport=station soll bei größeren Haltestellen die Fläche um Haltepositionen, Bus- und Bahnsteige, Kioske, Park and Ride Parkplätze etc. angegeben werden. Wenn irgendwo in der Prärie zwei Bahnsteige an der Strecke liegen, dann gehört da gar kein public_transport=station hin. Ein Node wird dabei nur als Platzhalter für noch nicht erfasste Flächen benutzt.

Weide

Hallo Weide,

public_transport=station eignet sich aber gut, um leicht auswertbar für das Rendern in kleinen Maßstäben nur ein Symbol (public_transport=station) statt vieler sich überlappender Symbole (public_transport=stop_position) zu rendern. Siehe auch http://forum.openstreetmap.org/viewtopic.php?id=27509

Alternativen wie “Dann lege halt in deinem Renderer einen Mindestabstand zwischen stop_position-Symbolen fest” sind IMHO unbrauchbar. Es gibt oft genug nahe beieinander liegende Haltestellen mit unterschiedlichen Namen (nein, ich meine nicht den Bahnhof und die geringfügig anders benannte Bushaltestelle auf dem Bahnhofsvorplatz). Zum Beispiel liegen in Karlsruhe die Haltestellen Rüppurrer Tor und Philipp-Reis-Straße/die neue Welle nah beieinander (in den Liniennetzpläne ist sogar eine Fußweg-Umsteigeempfehlung eingezeichnet). Wenn der Renderer jedoch Haltestellen nur einzeichnet, wenn auch ihr Label Platz hat (Haltestellen ohne Namen sind nämlich nicht gerade nützlich), dann könnte möglicherweise für eine der beiden Haltestellen kein Platz sein.

Viele Grüße

Michael

Ich gebe zu, dass ich “public_transport:version=2” erst seit ein paar Wochen kenne. Aber ein “public_transport:version=2.1” sollte meiner Meinung nach die Version 2 um folgende Punkte erweitern:

  • Einführung von light_rail für Mischwesen aus Tram und Train. Stadtbahnen, die nach EBO und BOStrab verkehren, sollten dann route=light_rail sein. Diese gibt es in Karlsruhe, Saarbrücken, Kassel, Köln/Bonn (Linien 16 und 18) und vermutlich auch noch anderen Städten. Es ist kartographisch unschön, in ÖPNV-Plänen quer durch die Innenstadt Eisenbahnlinien zu zeichnen, und genauso unschön, die Linien an der Systemgrenze EBO/BOStrab die Farbe wechseln zu lassen, wenn die Liniennnummer gleich bleibt.

  • public_transport=station für alle Arten von Bahnhöfen, Haltepunkten, Bushaltestellen und Anlegern öffentlicher Fähren. Die Wichtigkeit kann bei Bahnhöfen und Haltepunkten anhand von railway:station_category={1, …, 7} beurteilt werden. Es handelt sich zwar um ein Schema der DB, das wir aber benutzen dürfen (sic!) und international anwendbar ist.

Das Schema wäre also, relativ kompatibel zu Version 2, daher die Nummer 2.1.

Viele Grüße

Michael

Finde ich erstmal gut.

Besonders relevant finde ich die Angabe der Fläche mit public_transport=station in Version 2 nicht. Aber dasselbe Tag in einem ganz anderes Sinn zu verwenden schafft evtl. noch mehr Verwirrung. Vielleicht eher ein neuer Wert…?

Oder wäre das schon durch die stop_area erledigt?

bis dann
Weide