Verschiedene Start-/Endhaltestellen einer Buslinie

Guten Abend,

Sicherlich in ganz Deutschland vertreten ist das Phänomen von Buslinien, welche auf einzelnen Fahrten, zusätzlich zur ganztägigen Route, weitere Haltestellen, beispielsweise Schulen, ansteuern.

Für das Beispiel von Busline X, welche für gewöhnlich von A nach B fährt, manchmal jedoch (alle zwei Fahrten, zweimal am Tag, etc.), nach der Fahrt auf der normalen Route von A nach B, bis nach C fährt, fielen mir folgende Möglichkeiten der Abbildung in Relationen ein:

  1. Einzelne, vollständige Route-Relationen für sämtliche Variationen. Im Rahmen des Beispiels also eigene Relationen für A->B und A->B->C.
  2. Alleiniges Erfassen der längstmöglichen Route, also A->C.
  3. Darstellung der Teilabschnitte in verschiedenen Relationen mit Zusammenfassung der zwei Variationen der Route in jeweils eigenen superroute-Relationen. Also Relationen für A->B und B->C (wie taggen? ebenfalls route=bus?) und Verwendung jener in route-Relationen für beide Variationen der Route. (Ergo Bus X, A->B mit nur dem ersten Teilstück und A->C mit beiden). Der Unterschied hiervon zu Vorschlag 1 besteht lediglich in der Verwendung von Superroutes.

Welche hiervon wäre am sinnvollsten für das genannte Beispielszenario? Gäbe es weitere?

Da ich weder im Wiki, noch in der tatsächlichen Verwendung Hinweis auf einen bestehenden Konsens oder eine de-facto Optimallösung habe finden können, bitte ich hiermit um Rat oder Erfahrungsberichte diesbezüglich.

Vielen Dank im Voraus
Emilius

Servus Emilius,

die Version 1. ist die beste und etablierteste hiervon. Die verschiedenen Route-Relationen werden dabei von einer Route_Master-Relation zusammengefasst.
Definiert ist dieses im sogenannten PTv2-Schema (public_transport:version=2).

Beispiel hierfür: der Bus 210 im MVV, wo die letzte Variante eine Teilroute der ersten Variante ist. Hierzu die entsprechenden, aktuellsten GTFS-Daten des MVV (die Relationen sind diesbezüglich noch nicht angepasst).

Die Version 2. wäre auch möglich, wenn sie “A->B->C” darstellen würde, d.h. nur und komplett die längsten Varianten zu mappen und die echte Teilrouten nicht zu mappen. Sobald eine leichte Abweichung der Route (selbst bei sonst identischen Endhaltestellen) existiert, wird das wieder als eigene Route-Relation (im selben Route_Master) gemapped. Beispiel Bus 221 Varianten 2+3 und 5+6, GTFS analog.

Die Version 3. kommt bei ÖPNV auch vor, so weit ich weiß allerdings nur wenn ein Teil der Strecke die Nutzung einer Fähre oder Shuttle-Trains (Eurotunnel) durch den Bus beinhaltet: Flixbus N232

P.S.: ich bin der Autor von PTNA, daher die Links. Eventuell ist deine Gegend schon dabei. Wenn nicht: lässt sich schnell machen.

2 Likes

Hallo Toni,

Vielen Dank für die ausführliche Antwort!

Viele Grüße und frohe Weihnachten
Emilius

1 Like

Ich trage alle Varianten einer Linie als jeweils eigene Relation ein. superroutes verwende ich eigentlich nur (solange sich die Anzahl der Mitglieder der Relation im Rahmen hält), wenn ich deutlich machen will, dass mehrere Varianten mit dem gleichen Fahrzeug nacheinander abgefahren werden. In einem Fall hat sich auch die Liniennummer an einer Haltestelle geändert. In solchen Fällen, wo ich weiß, dass das Fahrzeug weiterfährt und es erlaubt ist drinnen sitzen zu bleiben verwende ich für die Endhaltestelle der Variante auch die Rollen stop und platform anstelle von stop_exit_only und platform_exit_only und entsprechend für die Starthaltestelle der anschließenden Variante eben auch die “einfachen” Rollen anstelle von stop_entry_only und platform_entry_only.

Ja, wenn die Strecke Fähren enthält, machen superroute Sinn. Bei den Flixbus-Linien eventuell generell, damit die Anzahl der Mitglieder der einzeln Relationen nicht zu groß werden.

Meine Meinung: Die einfachste Methode ist es natürlich, die Linie vollständig darzustellen, ist aber hier irreführend, weil es unregelmäßig passiert, und besser ist, separate, ggf. mit state=alternate für die unregelmäßigen Varianten hinzufügen.

Beim regelmäßigen Verlauf der Linien ist es wiederum sinnvoller, nur die vollständige Variante einzutragen, außer man möchte diese separate Eigenschaften eintragen als einer Form von Micromapping (das habe ich z.B. bei der RNN 646, wo Sonntags die Busse von Nierstein anstelle von Oppenheim anfangen bzw. enden und somit nicht eingetragen werden müsste, hätte ich opening_hours nicht eingetragen).