PTv3: Zielsetzung eines modifizierten ÖPNV Modells

Beim OSM-Samstag auf der heurigen FOSSGIS in Passau gab es eine Diskussion zum ÖPNV-Mapping. Ein Kurzprotokoll habe ich damals unter https://wiki.openstreetmap.org/wiki/FOSSGIS_2017/OSM-Events/%C3%96PNV-Mapping zusammengeschrieben

Hallo hsimpson,

Die Probleme bei PTv2 sind in meinen Augen:

  • Das Proposal ist zwar angenommen, aber die Wikiseiten, die sich mit ÖPNV beschäftigen, sind erst Jahre später aktualisiert worden. Solche Widersprüche fördern Missverständnisse und stiften Verwirrung. Auch ich bin diesen eine Zeit lang aufgesessen.

  • Ein Taggingschema, das mehr macht, als nur ein paar Tags zu erfinden, wird ohne eine Musterimplementierung nur beschränkten Erfolg haben. Für ein x-beliebiges neues Tag foo=bar, erfordert es nur Änderungen am Kartenstil. Neue Relationstypen erfordern jedoch Support durch die Werkzeuge, die aus diesen Relationen normale Simple-Feature-Geometrien (Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon) erzeugen, wie sie von den üblichen GIS-Werkzeugen verwendet werden. Aus diesem Grund hat die site-Relation auch nur eine geringe Relevanz. Wer also möchte, dass ein von ihm vorangetriebenes Mappingschema auch unterstützt wird, muss, so hart es leider auch klingen mag, selber Software programmieren.

  • Das Problem mit den schwer wartbaren Routen ist wirklich ein Problem. Ich meine damit das Schulbusproblem und die Segmentfrage. Ich kann mit Segmenten leben.

Nicht störenden Unschönheiten sind:

  • Masterrouten. Mir leuchtet noch nicht ein, wozu die erforderlich sind. Das mag aus Mapperperspektive auf dem Papier schön aussehen (“dann ist da eine Relation, die die anderen Relationen zusammenfasst”). Das Konzept hat aber das oben erwähnte Problem, dass es von wenigen Anwendungen unterstützt wird und in den mir bekannten Fällen nur Informationen dupliziert. Versteht mich nicht falsch! Ich bin nicht streng gegen Duplizierung, aber wenn Duplizierung, dann bitte so, dass beide Varianten ähnlich gut für Datennutzer zugänglich sind.

  • Geteilte Bahnsteige (siehe Beitrag #1 von sllh)

Dem Renderer sind die Daten egal. Du meinst vermutlich “Kartenstil”, oder?

Wenn zu mir als Kartenstilautor jemand sagen würde, du musst das neue Tag foo=bar unterstützen, weil es dazu ein akzeptiertes Proposal gibt, würde ich ihm freundlich mitteilen, dass ich gerne abwarten würde, bis es angenommen ist. Der beste Weg, etwas voranzubringen, ist Dinge selber zu machen. So funktioniert Open Source.

Viele Grüße

Michael

Ein bisschen OT, aber warum existiert diese Wiki-Seite noch: https://wiki.openstreetmap.org/wiki/%C3%96PNV_Schema
Ist es nicht Sinnvoll, diese Seite zu löschen und stattdessen eine Weiterleitung zur Public-Transport-Seite zu installieren?

Meiner Ansicht nach schafft diese Siete mehr Verwirrung, als sie ausräumt, da sie bei weitem nicht vollständig ist und keinerlei Verweise auf aktuelle Seiten zum Thema ÖPNV aufweist (außer zu ein-zwei Key/Value-Seiten).

Grüße

Genau hier beißt sich doch wieder die Katze in den Schwanz…

Es gibt nunmal leider viele Mapper hier, die nur das mappen, was auch auf der Karte gezeigt wird. So bin ich immer noch der Meinung, dass die Berliner und Hamburger S-Bahnen sehr schnell auf route=train + service=commuter umgestellt werden würden, wenn die gängigen ÖPNV-Karten route=light_rail nicht mehr grün rendern würden. Diese tun das aber immer noch, mit Verweis auf die aktuelle Nutzung dieser Tags. Im speziellen Fall der ÖPNV-Karte ist ein Umstellen auf die korrekte Tagging-Variante sogar kontraproduktiv, da diese service=commuter gar nicht rendert. Blöderweise ist das auch eine der bekanntesten Karten in dem Bereich.

Und genau deshalb muss man die großen Renderer unbedingt von Anfang an mitnehmen, damit man eben nicht erst am Ende zu ihnen kommt und denen ein neues Schema vor die Füße wirft. Sonst würde ich auch sagen, dass man mir doch bitte erst mal ein paar Beweise bringen soll, dass das tatsächlich relevant ist, das jetzt anders zu rendern.

Anderes Beispiel: Wenn Carto highway=platform nicht mehr rendern würde, wäre dieser Tag schon lange ausgestorben…

Viele Grüße

Mal zu etwas ganz anderem. Wenn es ein neues Pt Schema gibt, bietet sich die Chance, den weltweit stark verbreiteten, und auch in Deutschland extrem auf dem Vormarsch befindlichen Bedarfs-ÖPNV zu berücksichtigen. Alleine im Aachner Verkersverbund gibt es da diverse Varianten:

Da ist z.B. die konservativste Variante das Anruf-Linientaxi. Hierbei handelt es sich um klassischen Linienverkehr nach Fahrplan, der allerdings nur auf Bestellung fährt. Meist kommt das bei Linien zum Einsatz die zur Hauptzeit normal bedient werden.

Nächste Variante ist das ASEAG-Sammelauto. Das kann man zu festen Zeiten zu bestimmten Bushaltestellen bestellen, das Ziel allerdings innerhalb eines Gebietes frei wählen.

Eine weitere Variante ist der Netliner oder Multibus, bei dem Start und Ziel eine beliebige Haltestelle innerhalb eines Gebietes sein müssen, aber die Zeiten relativ frei gewählt werden können.

In Afrika und Asien gibt es vielfach Sammelbusse, die feste Routen fahren, aber nicht nach Fahrplan fahren, sondern dann, wenn genug Fahrgäste eingestiegen sind.

Ich würde daher einführen, dass Linienrelaionen nicht nur Routen sondern alternativ eine Liste von Start- und Endhaltestellen oder alternativ Start- und Endgebieten beinhalten können. Dazu sollen an alle Linien noch folgende Informationen getaggt werden können: generelle Bedienzeittraum, Fährt nur auf Bestellung, fährt nach festem Fahrplan oder zeitlich varabel.

Hier habt ihr meine Ideen für was wichtig ist wenn wir eines Tages umschalten auf ein anderes Schema:

http://www.openstreetmap.org/user/Polyglot/diary/42995

Wo wir einverstanden sind, ist das so ein neues Schema einfacher sein muss, als was wir jetzt haben.

Jo

Moin,

also für mich ist immer entscheidend, das das mappen nicht weiter verkompliziert oder gar erschwert wird.
Bei Buslinien die verschiedene Routen auf einer Linie haben (z.b. Bus fährt von a nach c aber b wird gelegentlich bedient), sollte einfach nur die Linie hinzugefügt werden, über die gesamten Fahrtroute-Varianten.
Und nicht extra aufspalten in Bedienungszeitraum-Linien
(Aus einer Linie können urplötzlich mehrere vorhanden sein, pflegeintensiver und wartungsintensiver zugleich).
Mittels Routing-Funktion kann virtuell doch dann der Bus diese Linie befahren, und bei den Abzw. die richtige Linienführung finden wegen der nächsten logischen Haltestelle.

Wie sieht eigentlich das Tag für Draisinenbahnen aus oder für Museumsbahnen?

Gruß

Thal

Da bin ich völlig einverstanden. Wenn eine Linie diese Haltestellen bedient:

A B C D E F G H

dann macht es nicht viel Zweck auch Routenrelationen zu erfassen für die Varianten die nur

C D E F

bedienen. Bei C und F würde ich dann wohl public_transport=stop_position/bus=yes auf dem Weg mappen und die Wege dort trennen.

Polyglot

kommt immer darauf an was man mit den Daten machen möchte… zum Rendern einer Karte stimme ich zu, weil deckungsgleich… Wäre ich der Busfahrer… dann möchte ich vielleicht nur das Schnipsel :wink:

Gibts es eigentlich auch die Möglichkeit sich aus so einer Routenrelation sich eine gpx… bzw. kml-Datei oder ähnliches sich zu generieren zu lassen… um das z.B. nachzufahren? Weil im Wander/Tracking/MTBFahrrad Bereich ist sowas ja dass Format…

Das Trennen von Wegstücken empfinde ich auch als sehr großen Nachteil der jetzigen Vorgehensweise… :confused:

Hier so eine Negativbeispiel:
http://www.openstreetmap.org/#map=19/48.30312/11.91214

Da wäre es mir lieber wenn Routing-Ergebnisse, also z.B. Gpx-Dateien auf eine Karten gerendert werden würden :roll_eyes:

PS: Natürlich könnte man sagen… ja das ist Aufgabe des Renderers die Wege wieder zusammenzufügen die man wegen der Routen-Relationen zerteilt hat… Naja sehe ich nicht so… was soll der Renderer noch alles machen… :roll_eyes:

Meiner Erfahrung nach sind mehrere Routenvarianten für eine Richtung ein verhältnismäßig kleiner Mehraufwand. Wenn ich die Lücken von Linien schließen möchte, gehe ich mit JOSM wie folgt vor:

  1. längste Routenrelation heraussuchen

  2. mit Strg+A alle Elemente auswählen und dann mit JOSM-Sortierfunktion (vor-)sortieren

  3. Plausibilitätscheck für der sortierten Einträge

  4. prüfen, ob noch immer Lücken vorhanden (evtl. Ways ergänzen)

  5. gucken, welche Linienabschnitte sich überschneiden und diesen Teil aus nicht reparierten Relationen löschen

  6. Überschneidungen aus reparierter Relation mit Strg+Ziehen in die andere(n) Relationen kopieren

  7. Anpassungen an verschiedenen Linienästen (entfällt bei Verstärker-Relationen)

(in blau die zusätzlichen Schritte: einfaches Kopieren)

Momentan frage ich mich allerdings, was überhaupt der Vorteil darin ist, dass man die Ways in den Relationen ablegt. Was interessiert es den Nutzer, über welche Straße/welches Gleis man fährt? Wozu braucht man diese Info?

Ohne viel Aufwand eine Linie auf der Karte darstellen?

Und es gibt durchaus Linien, wo man auch zwischen den Stationen ein-/aussteigen kann. Im VRS kann man zum Beispiel abends und nachts überall aussteigen und aus Hong Kong kenne ich Linien, die haben nur eine Start- und eine Endhaltestelle.

Beispiel für die Relevanz für den Passagier:

Extrem ist da die Fähre von Juist nach Norddeich Mole. Alle drei Varianten unterscheiden sich nur durch den Weg. Der Weg wird abhängig vom Wasserstand, Schiff und Beladung gewählt. Wenn das Schiff nach dem Verlassen des Juister Hafengebiets nach rechts abbiegt, dann kann man schonmal neue Tickets für den Zug buchen, denn man kommt 40 Minuten später als normal an und der gebuchte Zug ist vermutlich weg.

oder einfach: Wenn links die soundso-Gebäude kommen muss ich auf den Aussteigeknopf drücken.

Beispiel für die Relevanz für Mapper:

Wenn die Linie nicht irgendwo abgeschrieben sondern anhand von tatsächlichen Beobachtungen gemappt wird, dann sind die Routen über längere Zeit unvollständig. Nur anhand der Fahrwege kann man als Mapper sehen, wo vermutlich noch Varianten und fehlende Haltestellen sind.

Ok, danke. Jetzt verstehe ich die Notwendigkeit von Ways in den Relationen.
Ich hatte gehofft, dass wir dem Ziel der Vereinfachung und der einfacheren Wartbarkeit dadurch näher kommen könnten, indem wir die Wege aus den Relationen löschen. Das hat sich damit natürlich erledigt…
Soweit ich es überblicke, haben wir jetzt alle Eigenschaften von PTv2 mit Ausnahme der Stop_area-Relation betrachtet und festgestellt, dass für eine mögliche Vereinfachung nur noch die Einsparung von Linienvarianten und die Reduzierung von Tags in den Routenvarianten (mein Vorschlag) bleibt.
Die Reduzierung von Routenvarianten ist in meinem Mapping-Gebiet (Berlin, Brandenburg, Mecklenburg-Vorpommern) auf einigen Linien gängige Praxis (Beispiele: RE1 Magdeburg - Frankfurt (Oder)/Eisenhüttenstadt/Cottbus https://www.openstreetmap.org/relation/7024716 zwei statt >= 4 Relationen, RE4 Lübeck - Ueckermünde oder Szczecin Główny https://www.openstreetmap.org/relation/2609914 vier statt sechs Relationen). Das könnte man sicherlich noch ausdehnen, insbesondere auf Verstärkerkurse.
Die Reduzierung von Tags ist in meiner Interpretation des Proposals https://wiki.openstreetmap.org/wiki/Proposed_features/Public_Transport bereits mit PTv2 möglich, denn es heißt z.B. zum Tag »Operator« in der Relation einer Routenvariante:

Die breite Entfernung solcher Tags würde allerdings an fehlender Akzeptanz scheitern (man würde denken, dass es vergessen wurde und nicht aus gutem Grund nicht getaggt) und daran, dass auf der Wiki-Seite dazu nichts steht (s. https://wiki.openstreetmap.org/wiki/Public_transport). Hier heißt es nur »recommended«. Weiß jemand warum das so ist?

Hallo Liebe ÖPNV Interessierte ;),

ich bestelle mir immer wieder Bus-Relationen… dazu hab ich mir nach und nach so eine und andere Sache gebastelt. Vielleicht findet es hier einen oder anderen Interessierten der so ein Tool/Hilfe gute gebrauchen könnte.

Was gibts:

  • Was zum Bushaltestellen suchen
  • Diese mit einem Online-Routing-Programm routen zu lassen
  • Nur das nötigste mit Overpass in JOSM laden…

Dazu hab ich noch ein bisschen was dazu geschieben… damit man vielleicht versteht was ich mir dabei gedacht hab :wink:

http://greymiche.lima-city.de/bus-relation/index.html

mfg Miche101

Also, auf mich macht die Anleitung einen sehr komplizierten Eindruck. Ich habe in letzter Zeit auch viele Bus-Relationen bearbeitet und ich glaube nicht, dass das Problem die Erstellung einer Relation ist. Das geht nämlich relativ zügig: JOSM starten, Bereich herunterladen, neue Relation erstellen (bzw. Kopie einer vorhandenen erstellen), relevante Daten eintragen (bzw. bei einer Kopie anpassen), Haltestellen und Ways zusammenklicken (ggf. heruntergeladenen Bereich erweitern). Fertig.

Das grundsätzliche Problem ist die Komplexität des PT-Schemas, z.B. dass man für unterschiedliche Fahrtverläufe und auch für Hin- und Rückweg eigene Relationen erstellen muss. Dazu kommt, dass man die Relationen mehr oder weniger häufig kontrollieren muss, weil sie z.B. durch unaufmerksame User (vielfach mangels Wissen) beschädigt werden. Und dann sind da noch der jährliche Fahrplanwechsel oder Baustellen, die solange dauern, dass die Relationen angepasst werden müssen.

Es würde schon viel helfen, wenn man unterschiedliche Fahrtverläufe in einer Relation abbilden kann. Mein Vorschlag wäre ein Tag “tourX” (X steht dabei für eine Ziffer), der darstellt, dass Way A nur bei Fahrt X befahren wird. Dieser Tag wird dann auch an den Haltestellen dieser Fahrt notiert (“platform:tourX”). Wenn Ways und Haltestellen für alle Fahrtverläufe gleich sind, entfällt dieser Tag.
(Das ist nur eine Überlegung und ich weiß nicht, ob das möglich oder sinnvoll ist.)

Ich habe da auch so meine Bedenken:
Bei uns ändern sich fast bei jedem Fahrplanwechsel die Routen. Sie werden entweder neu angelegt oder aus zwei anderen Teilen zusammengesetzt oder erhalten nur eine andere Linienbezeichnung.

Ich habe bisher die busstop und die plattform wie in der Vorlagen JOSM (Transport ÖPNV) eingetragen und in description:de die Lineninformationen der Haltestellentafel eingetragen. Dann haben die meisten Haltestellen einen QR-Code, die auf den jeweiligen Haltestellenfahrplan verlinkt - diesen nutze ich als website=*. Da sich dieser fast nicht ändert, sind die Daten aus der Website für diese Haltestelle immer sehr aktuell.

Das Anlegen der Relation und vor allem die Pflege ist damit m.E. nicht notwendig. Ich kann an Hand der aktuellen Haltestellendaten (über die Webseite des Verkehrsunternehmen) jederzeit die Verbindung und Linienführung abrufen.

Eigentlich nicht,… die Anleitung ist nur für den Fall das man nicht weiss was man machen muss. Also geht auch ohne… ich hab sie nur geschrieben für diesen Fall. Wenn man das ganze einmal gemacht hat wird man sagen, ja ist das einfach… das und das wäre noch schön… :wink:

Ja das gibt es mit dem MVV auch aber… Es hat auch Vorteile diese Daten in OSM zu haben… besonders wenn man vielleicht wo ist wo man sich nicht auskennt… und vielleicht nicht mal das Verkehrsunternehmen kennt… hat mir OSM schon geholfen das richtige zu finden… :slight_smile:

Ich treffe immer wieder auf total veraltete solche description oder andere Tags mit Linieninfos als Inhalt. Halte ich sehr wenig von weil

  1. Ist das nicht maschinell auslesbar, da nicht standardisiert. Also machst du dir hier nen Haufen Arbeit für die Katz.
  2. Ist description=* dafür gedacht, andere Infos zu konkretisieren, wenn sie sonst nicht konkret genug dargestellt werden können. Bestes Beispiel: wheelchair=limited. Das sehe ich hier nicht, man kann ausreichend genau darstellen, welcher Bus wo hält.

Mache ich auch wo möglich. Aber:

Das passiert doch häufiger als man denkt. Im Köln-Bonner Raum sind z.B. alle alten Links inzwischen für die Katz, da der VRS vor einiger Zeit die Websitearchitektur umgebaut hat. Das passiert im Endkundenbereich selbst bei solch trägen Unternehmen ab und an, da man sehr auf einen Benutzerfreundlichen Auftritt angewiesen ist.

Viele Grüße