Skip to content

HAFAS Rohdaten Format (HRDF)

Stand August 2024. Informationen zu kontinuierlichen Anpassungen findest Du in unserem Changelog.

Aktuelle Informationen zu Releases

Realisierungsvorgaben RV 2.0.6 und 2.0.7

Die Aktivierung der Anpassungen gemäss den neuen Realisierungsvorgaben RV 2.0.6 und 2.0.7 ist geplant für den 29.10.2024.  [Update 2024-10-25: Die Aktivierung wurde auf einen noch zu bestimmenden Zeitpunkt verschoben.] Beide Vorgaben werden gleichzeitig umgesetzt. Testdaten stehen unter Testdatensätze Realisierungsvorgaben HRDF 2.0.6 und 2.0.7 zur Verfügung.

Folgende Dateien sind von der neuen HRDF-Version betroffen:

File FPLAN

*GR-Zeilen sind nicht mehr unterstützt
*SH-Zeilen sind nicht mehr unterstützt
*VV-Zeilen werden neu unterstützt. Sie beinhalten

  • Voraussichtliche Verspätung in Minuten
  • Haltestelle, ab der die Verspätung gilt
  • Haltestelle, bis zu der die Verspätung gilt
  • Abfahrtszeitpunkt
  • Ankunftszeitpunkt

Beispiel

File ATTRIBUT

Neu fängt die Beschreibung ab der Spalte 5 (statt 4) an.

Beispiel (neu): 

Alt:

Files ATTRIBUT_DE / ATTRIBUT_EN / ATTRIBUT_FR / ATTRIBUT_IT

Die Files ATTRIBUT_DE, ATTRIBUT_EN, ATTRIBUT_FR, ATTRIBUT_IT werden nicht mehr zur Verfügung gestellt. Die verschiedenen Sprachvarianten sind jedoch alle im File ATTRIBUT enthalten.

File BETRIEB

  • Erste Zeile: Eindeutiger Identifier (SBOID) (nach dem „N“) wird zur Verfügung gestellt.
  • Zweite Zeile: Ab Version 2.0.7 kann es nur einen TU-Code pro SBOID geben.

Beispiel (neu mit SBOID):

Alt (aktuell ohne SBOID):

File BHFART

  • Ab Version 2.0.7 wird nur das File BHFART zur Verfügung gestellt werden.
  • Sofern bekannt, werden die globalen IDs (für die Schweiz die Swiss Location ID (SLOID)) der Haltestelle und Haltekante zur Verfügung gestellt.
    • mit einem “A” als Präfix werden die global IDs der Bahnhöfe zur Verfügung gestellt
    • mit einem “a” als Präfix werden die global IDs der Haltekanten zur Verfügung gestellt
  • Eine Haltestelle kann mehrere Steige haben (d.h. bspw. Orte zum Ein- und Ausstieg an der besagten Haltestelle). Ein gleicher Steig kann mehreren Haltestellen zugewiesen werden.
  • Die Information “Land” wird pro Haltestelle mit der Kennung L zur Verfügung gestellt
  • Die Information “Kanton” wird pro Haltestelle zur Verfügung gestellt. Die Information wird mit einer *I-Zeile und dem Infotextcode “KT” übermittelt

Die SLOID sind schon heute im File BHFART_60 produktiv ausgetauscht.

File GLEISE

Neu werden die Files GLEISE_WGS und GLEISE_LV95 zur Verfügung stehen. Die anderen Files GLEIS_xx werden nicht mehr zur Verfügung stehen.

File KMINFO

Die Spalte “Kommentar” beginnt mit dem Sonderzeichen % ab der Position 21.

Beispiel (neu):

Alt:

File ZUGART

  • Neu wird der Verkehrsträger von jeder Angebotskategorie mitgeliefert. Die Information wird mit einer *I-Zeile und dem Infotextcode “VM” übermittelt.
  • Neu ist das Attribut “Ausgabesteuerung” zweistellig. Die Attribute, welche nach diesem vorkommen, werden um eine Stelle verschoben.

Beispiel (neu):

Alt:

 

Hintergrund

Was ist HRDF?

Das Hafas Rohdaten Format (HRDF) ist ein proprietäres Datei-Format für Fahrplan-Daten.

Wer steckt dahinter?

Die Firma Hacon hat das Hacon Fahrplan-Auskunfts-System (HAFAS) entwickelt, welches HRDF zum Datenaustausch nutzt.

Warum bietet die Open Data-Plattform das an?

Das HAFAS System (s.o.) ist im öV verbreitet, wodurch sich HRDF zu einem der Standards der Branche entwickelt hat. Zudem deckt es viele Aspekte der Kundeninformation ab, die bei anderen Formaten (derzeit) nicht gegeben sind.

Mehr Informationen zur Beurteilung von HRDF als Standard findest Du im Bericht des Bundesamt für Verkehr (BAV).

Wie komme ich an die Daten/Schnittstellen ran?

Daten

Der Fahrplan im HRDF-Format (bspw. für 2024): https://opentransportdata.swiss/de/dataset/timetable-54-2024-hrdf

Für den Autoverlad (bspw. für 2024): https://opentransportdata.swiss/de/dataset/timetable-54-2024-hrdf-autoverlad

Der aktuelle Fahrplanentwurf: https://opentransportdata.swiss/de/dataset/timetable-54-draft-hrdf

Schnittstellen

HRDF ist kein Schnittstellen-Standard.

Fachliche Beschreibung

Welche Informationen bilden wir mit HRDF ab? (Umfang)

  • Fahrplandaten des öV-Schweiz und Fahrten im grenznahen Bereich der Schweiz.
    • Hinweis: Für die grenzüberschreitenden Züge sind der schweizerische Teil des Laufes bis zum ersten kommerziellen Halt im Ausland (Richtung Ausland) bzw. letzten kommerziellen Halt im Ausland (Richtung CH) enthalten.
  • Alle Informationen einer ganzen Fahrplanperiode (bspw. 2024).

Wie sind die Informationen aufgebaut? (Modell)

Ein HRDF-Export besteht aus mehreren Dateien, die für ein Gesamtbild fast alle gemeinsam betrachtet werden müssen. Für Details verweisen wir auf die Realisationsvorgabe (RV v2.0.5 (Juli 2023) resp. RV v2.0.7 (Mai 2024)) und die offizielle HRDF-Dokumentation (auf Anfrage erhältlich: Kontaktformular).

In gewisser Weise kann man sich die HRDF-Datei als Dump einer Datenbank vorstellen. Die einzelnen Dateien im ZIP entsprechen einzelnen Tabellen bzw. Objekten.

Bitte beachten:

  • Bei den HRDF-Dateien gilt NICHT (immer) NOMEN EST OMEN. Bspw. enthält die Datei “BAHNHOF” nicht nur Bahnhöfe, sondern alle Haltestellen (bspw. auch von Bussen).
  • Das Format der HRDF-Dateien ist auf eine kompakte, maschinenlesbare Struktur ausgerichtet. Daher:
    • sind häufig verwandte, aber nicht gleiche Inhalte in derselben Datei
    • werden Inhalte mit einem “*” gefolgt von einem Buchstaben, bspw. “*Z”, angeführt (so weiss die das interpretierende System was als nächstes kommt)
    • ist der Aufbau jeder Zeile, die auf ein “*” folgt, in der HRDF-Dokumentation streng geregelt. Jeder Teil einer Zeile hat eine vorherbestimmte Breite (Anzahl Zeichen), die Teile werden durch Leerschläge voneinander getrennt. Beispiel:
      • Es kann definiert sein, dass der erste Teil einer Zeile die ID einer Haltestelle enthält und nur 5 Zeichen lang sein darf und der nächste Teil (ab Zeichen 6 bis Zeichen 10) das die Haltestelle besitzende Unternehmen identifiziert.
      • Also könnte die Zeile wie folgt aussehen: 12345_67891, wobei _ hier den Leerschlag visualisiert. Sollte es kein Unternehmen geben und das Feld optional sein, dann wären Zeichen 6-10 nur Leerschläge.
    • Somit unterscheidet sich HRDF von anderen gängigen Dateiformaten wie bspw. CSV, wo Inhalte mit einem Komma separiert werden, oder JSON, wo Inhalte (mit diversen Zeichen) strukturiert repräsentiert werden: Inhalte in HRDF sind limitiert in ihrem Umfang und ihrer Position auf jeder Zeile.
  • Es gibt Dateien, die Teil des von uns bereitgestellten HRDF-Exports sind, die leer sind. Diese sind nur im Sinne der Interoperabilität abnehmender System inkludiert. In der folgenden Beschreibung führen wir sie bewusst NICHT auf.

Insgesamt kann man die HRDF-Daten fachlich in (1) Stammdaten, (2) zeitlich relevante Daten, (3) Fahrplandaten und (4) Umsteigedaten unterteilen. Auf den Inhalt gehen wir im folgenden genauer ein.

Technische Beschreibung (Was steht in den HRDF-Dateien? (Inhalt))

Dieser Abschnitt beschreibt grob jede einzelne Datei des HRDF-Modells inklusive Beispielen aus dem HRDF-Export (genaue Informationen sind der RV und HRDF-Dokumentation zu entnehmen). Ausserdem beschreiben wir die Dateien nicht alphabetisch, sondern ausgehend von Knotendateien. Beispielsweise führen wir zunächst FPLAN als eine der zentralen Dateien ein und beschreiben dann die von dieser Datei referenzierten Dateien, usw. Somit teilen wir die Beschreibung ein in:

  • Fahrplandatei (FPLAN) und ihre Referenzen sowie allgemeine Information
    • Braucht man, um herauszufinden:
      • wann wird
      • von wo nach wo gefahren
      • an welchen Tagen im Jahr
      • mit welchem Verkehrsmittel
      • mit welcher Linie
      • mit welchen Zusatzdiensten und Einschränkungen
      • mit welchen weiteren Details (SJYID, etc.)
    • Sowie für zeitliche relevante Informationen:
      • Gültigkeit
      • Feiertage
      • Zeitzonen
  • Haltestellen-Datei (BAHNHOF) und ihre Referenzen
    • Braucht man für folgende Informationen zu Haltestellen:
      • Namen
      • Gruppierung mehrerer Haltestellen
      • Koordinaten der Haltestellen
      • ID der Haltestellen
      • Umsteigeinformationen innerhalb und zwischen Haltestellen

Fahrplandatei (FPLAN) und seine Referenzen sowie allgemeine Information

Ausschnitt aus der Modellübersicht. Ein Pfeil bedeutet, dass auf einen Schlüssel in der referenzierten Datei “gezeigt” wird:

Bereich Fachlicher Inhalt Dateiname Beschreibung
Zeitlich relevante Daten Gültigkeit der Lieferung ECKDATEN

Dauer des Fahrplans

Die Fahrplandaten sind für den definierten Zeitraum gültig. Die Dauer entspricht üblicherweise derjenigen der Fahrplanperiode

Kann entkoppelt von weiteren Daten eingelesen werden.

Zeitlich relevante Daten Allgemeine Feiertage FEIERTAG

Liste der allgemeinen Feiertage, die in der Schweiz gelten.

Zusätzlich zum Datum des Feiertages ist die Beschreibung des Feiertages in vier Sprachen gelistet : DE, FR, IT, EN

Kann entkoppelt von weiteren Daten eingelesen werden.

Zeitlich relevante Daten Zeitzonen ZEITVS

Definition der Zeitzonen, inkl. Datum, wann die Umstellungen Sommer- und Winterzeiten erfolgen

Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden

Es gibt 2 Typen der Repräsentation:

  • Typ 1:
    • Bahnhofsnummer
    • (allgemeine) Zeitverschiebung gegenüber GMT
    • Zeitverschiebung die für den nachfolgenden Zeitraum gilt
    • VonDatum (ab diesem Tag gilt die Zeitverschiebung)
    • Zeit (von dieser Uhrzeit)
    • BisDatum (bis zu diesem Tag gilt die Zeitverschiebung)
    • Zeit (auf diese Uhrzeit)
    • Kommentar (im Schweizer-Export stehen auch weitere Zeiträume zur Verfügung, vor dem Kommentar)
  • Beispiel (Ausschnitt):

  • Typ 2:
    • Bahnhofsnummer
    • Bahnhofsnummer
  • Beispiel (Ausschnitt):

Zeitlich relevante Daten Gültigkeit im Jahr BITFELD

Tagesgenaue Definition der Gültigkeit der Fahrplaninformationen. Die Definition der Gültigkeit wird dabei mit einem Bitmuster vorgenommen. Jeder Tag ist mit einem Bit abgebildet. Jeweils 4 Bit werden zu einer hexadezimalen Ziffer zusammengefasst.

Für die Interpretation des Bitfelds ist es wichtig zu verstehen, wie die Fahrplanjahre funktionieren (mehr Infos hier). Ein Fahrplanjahr dauert in der Regel ein Jahr, aber das Fahrplanjahr beginnt am 2. Wochenende im Dezember. Dadurch ist ein Fahrplanjahr nicht immer gleich lang. Um damit umzugehen, geht man beim Bitfeld von einer Länge von 400 Tagen aus.

Datei enthält:

  • Bitfeld-Code
  • Bitfeld-Definition

Beispiel (Ausschnitt) – Hex statt Bits:

Fahrplandaten Fahrplan FPLAN

Liste der Fahrten und mit Abstand die grösste und umfassendste Datei im HRDF-Export.

Diese Datei beinhaltet:

  • *Z-Zeilen: als Kopfinformation des Laufes. Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden. Sie beinhaltet:
    • Die Fahrtnummer (primary key mit dem TU-Code)
    • Transportunternehmen (TU)-Code (s. Datei BETRIEB_*)
      • Für den TU-Code = 801 muss noch die Information der Region berücksichtigt werden. Diese Information ist in der Zeile *I mit dem INFOTEXTCODE RN enthalten.
    • Variante
      • NICHT TEIL HRDF. 3-stelliger Verkehrsmittel-Varianten-Code ohne fachliche Bedeutung
    • (optional) Taktanzahl
    • (optional) Taktzeit in Minuten
  • Beispiel (Ausschnitt):
  • *G-Zeilen: Referenz zur Angebotskategorie (s. Datei ZUGART). Sie beinhaltet:
    • Referenz auf die Angebotskategorie
      • Der Begriff “Angebotskategorie” hat hier ggf. eine andere Bedeutung als in der Umgangssprache! Eine umgangssprachliche Bezeichnung wäre (auch nach HRDF-Dok.) “Verkehrsmitteltyp”.
    • Haltestelle von der die Angebotskategorie gilt
    • Haltestelle bis zu der die Angebotskategorie gilt
  • Beispiel (Ausschnitt):

  • *A VE-Zeilen: Referenz zur Gültigkeitsinformation (s. Datei BITFELD). Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden. Sie beinhaltet:
    • Haltestelle von der die Angebotskategorie gilt
    • Haltestelle bis zu der die Angebotskategorie gilt
    • Referenz auf die Gültigkeitsinformation. In der Schweiz: 000000 = immer.
  • Beispiel (Ausschnitt):

  • *A *-Zeilen: Referenz zu Angeboten (s. Datei ATTRIBUT). Sie beinhaltet:
    • Den Angebotscode
      • Der Begriff “Angebot” ist hier ggf. ungenau. Die HRDF-Dok. benutzt das Wort “Attribut”, welches auch noch etwas ungenau ist. Im Grunde ist es ein Sammelbegriff für Erweiterungen (bspw. Speisewagen) oder Einschränkungen (bspw. keine Velos) die gelten.
    • Haltestelle von der die Angebotskategorie gilt
    • Haltestelle bis zu der die Angebotskategorie gilt
    • Referenz auf die Gültigkeitsinformation
  • Beispiel (Ausschnitt):

  • *I-Zeilen: Referenz zu Hinweisen (s. Datei INFOTEXT). Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden. Sie beinhaltet:
    • Infotextcode. In der Schweiz: XI nicht unterstützt. Zulässige Codes s. Liste (DE / FR).
    • Haltestelle von der der Infotext gilt
    • Haltestelle bis zu der der Infotext gilt
    • Referenz auf die Gültigkeitsinformation. In der Schweiz: Wenn nicht vorhanden = immer.
    • Referenz auf den Infotext
    • Abfahrtszeitpunkt
    • Ankunftszeitpunkt
    • Anmerkungen:
      • Die Swiss Journey ID (SJYID) wird über die *I-Zeile mit dem Code JY identifiziert
  • Beispiel (Ausschnitt):

  • *L-Zeilen: Linieninformation oder Referenz zur Linieninformation (s. Datei LINIE). Sie beinhaltet:
    • Linieninformation, ggf. Verweis auf externe Datei.
    • Haltestelle von der die Linie gilt
    • Haltestelle bis zu der die Linie gilt
    • Abfahrtszeitpunkt
    • Ankunftszeitpunkt
  • Beispiel (Ausschnitt):

  • *R-Zeilen: Referenz zum Richtungstext (s. Datei RICHTUNG). Sie beinhaltet:
    • Richtung (H=hin,R=Rück)
    • Referenz auf Richtungscode
    • Haltestelle ab der die Richtung gilt
    • Haltestelle bis zu der die Richtung gilt
    • Abfahrtszeitpunkt
    • Ankunftszeitpunkt
    • Anmerkungen:
      • R ohne Angaben = keine Richtung
  • Beispiel (Ausschnitt):

  • *GR-Zeilen: unterstützt aber nicht existent in Schweiz.
  • *SH-Zeilen: unterstützt aber nicht existent in Schweiz.
  • *CI/CO-Zeilen: Sie beinhaltet:
    • Anzahl Minuten bei Check-in(CI)/-out(CO)
    • Haltestelle ab der die Richtung gilt
    • Haltestelle bis zu der die Richtung gilt
    • Abfahrtszeitpunkt
    • Ankunftszeitpunkt
  • Beispiel (Ausschnitt):

  • Nachdem alle die beschriebenen Zeilen definiert sind wird der Lauf mit den Fahrzeiten beschrieben:
    • Haltestelle (s. BAHNHOF und weitere)
    • Ankunftszeit. Negativ = Keine Aussteigemöglichkeit
    • Abfahrtszeit. Negativ = Keine Einsteigemöglichkeit
    • Fahrtnummer
    • Verwaltung
  • Beispiel (Ausschnitt):

Fahrplandaten Durchbindungen DURCHBI

Liste der Fahrt-Paare die einen zusammenhängende Lauf bilden. Die Reisenden können sitzen bleiben.

Dieses Konstrukt wird, unter anderem, für die Bildung der Flügelzüge angewendet. Datei beinhaltet:

  • Fahrt-Nr 1
  • TU-Code 1
  • letzter Halt 1
  • Fahrt-Nr 2
  • TU-Code 2
  • Verkehrstage (s. BITFELD-Datei)
  • erster Halt 2

Beispiel (Ausschnitt):

Stammdaten Angebotskategorien (aka Verkehrsmittel(typ)) ZUGART Liste der Angebotskategorien. Pro Sprache die (Class:) Gruppierung von Angebotskategorien mit identischen Merkmalen. (Option:) Suchkriterien für die Applikation für Verbindungssuche. (Categorie:) Bezeichnung der Angebotskategorie.

Erneut der Hinweis: Der Begriff “Angebotskategorie” hat hier ggf. eine andere Bedeutung als in der Umgangssprache! Eine umgangssprachliche Bezeichnung wäre (auch nach HRDF-Dok.) “Verkehrsmittel”(typ).

Diese Datei beinhaltet in der Schweiz modifiziert:

  • Angebotskategorie-Definition (bzw. Gattungs-Definition):
    • Angebotskategorie-Code/Gattungscode
    • Kategorie Produktklasse
    • Tarifgruppe (immer A)
    • Ausgabesteuerung (immer 0)
    • Gattungsbezeichnung
    • Zuschlag (immer 0)
    • Flag (N: Nahverkehr, B: Schiff)
    • Referenz auf Kategorie, s.u.
  • Beispiel (Ausschnitt):

  • Einleitung Textdefinition mit <text>
  • Angabe Sprache mit bspw. <Deutsch>
  • Produktklassen:
    • Produktklasse Zahl zw.  0-13
    • Produkttext
  • Beispiel (Ausschnitt):

  • Optionen:
    • Optionsdefinition Zahl zw. 10-14 (Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden)
  • Beispiel (Ausschnitt):

  • Kategorien:
    • Gattungslangnamennummer Zahl zw. 0-999 (s.o.)
  • Beispiel (Ausschnitt):

Stammdaten Angebote ATTRIBUT

Liste von Abkürzungen die Zusatzangebote (z.B.: Speisewagen) oder Restriktionen (z.B.: Platzreservierung obligatorisch) beschreiben.

Erneut der Hinweis: Der Begriff “Angebot” ist hier ggf. ungenau. Die HRDF-Dok. benutzt das Wort “Attribut”, welches auch noch etwas ungenau ist. Im Grunde ist es ein Sammelbegriff für Erweiterungen (bspw. Speisewagen) oder Einschränkungen (bspw. keine Velos) die gelten. Eine Übersicht der Verkehrsmittel (und Hinweise) kann dem folgenden Link entnommen werden: Verkehrsmittel- und Hinweislisten

Diese Datei beinhaltet: 

  • Die Liste der Angebote

Beispiel (Ausschnitt):

  • Beschreibung, wie die Angebote angezeigt werden können. Diese Information wird aktiv bei der Fahrplansammlung gepflegt

Beispiel (Ausschnitt):

  • Beschreibung in den folgenden Sprachen : Deutsch, Englisch, Französisch, Italienisch

Beispiel (Ausschnitte):

Stammdaten Infotexte INFOTEXT_*

*DE,*FR,*IT,*EN

Ergänzende Informationen zu Objekten (Fahrten, Linien, usw.). Diese Informationen können entweder

  • einfache Texte sein, bspw:  000018154 Rollstühle können mit Unterstützung des Fahrpersonals befördert werden.  ODER
  • Werte mit semantischer Bedeutung. Das heisst, Werte die nicht anderweitig repräsentiert werden können und daher bei INFOTEXT “ausgelagert” wurden, bspw.  000000000 ch:1:sjyid:100001:3-002

Ob es sich um einfach Texte oder solche mit semantischer Bedeutung handelt, ist im Attribut INFOTEXTCODE definiert. Der INFOTEXTCODE ist nicht in der Datei INFOTEXT, sondern nur in den INFOTEXT referenzierenden Dateien, bspw. FPLAN.

Eine Liste der verwendeten INFOTEXTCODE kann unter folgendem LINK gefunden werden.

Stammdaten Linien LINIE

Liste der Linien. Die Datei beinhaltet:

  • Linien-ID (nicht zeilenweise eindeutig!)
  • Linien-Eigenschaft-Code
  • Eigenschaft

Die folgenden Eigenschaften-Codes werden unterstützt:

  • Linientyp K : Linienschlüssel
  • Linientyp W : interne Linienbezeichnung
  • Linientyp N T : Linienkurzname
  • Linientyp L T : Linienlangname
  • Linientyp R T : Linien-Regionsname (reserviert für ID des BAV)
  • Linientyp D T : Linienbeschreibung
  • Linientyp F : Linienfarbe
  • Linientyp B : Linienhintergrundfarbe
  • Linientyp H : Hauptlinie
  • Linientyp I : Linieninfotexte

Beispiel (Ausschnitt):

Stammdaten Richtung RICHTUNG

Richtungsinformation. Im Detail:

  • Richtungs-ID (s. FPLAN)
  • Richtungstext

Es geht hier bspw. darum, dass wenn ein Zug zwischen Sargans und Chur fährt, als Richtung Chur angeschrieben wird. 

Beispiel (Ausschnitt):

Stammdaten Transportunternehmen BETRIEB_**DE,*FR,*IT,*EN Liste der Transportunternehmen. Der Begriff der Transportunternehmen wird unterschiedlich verstanden. Im Zusammenhang mit opentransportdata.swiss versteht man, dass es sich um eine Organisation handelt, die für  die im FPLAN beschriebenen Läufe zuständig sind. Ein Detailbeschrieb zu den Transportunternehmen bzw. Geschäftsorganisationen findet sich hier.

Im Detail wird jedes TU mit 2 Zeilen beschrieben:

  • Die erste Zeile:
    • Betreiber-Nr. (für BETRIEB-Datei)
    • Kurzname (nach dem “K”)
    • Langname (nach dem “L”)
    • Vollständiger Name (nach dem “V”)
  • Die zweite Zeile:
    • Betreiber-Nr. (für BETRIEB-Datei)
    • “:”
    • TU-Code (bzw. Verwaltungsnummer)
      • Es können mehrere TU-Codes gelistet werden. Diese teilen die Informationen der ersten Zeile.

Beispiel (Ausschnitt):

Haltestellen-Datei (BAHNHOF) und seine Referenzen

Ausschnitt aus der Modellübersicht. Ein Pfeil bedeutet, dass auf einen Schlüssel in der referenzierten Datei “gezeigt” wird. Zur besseren Übersicht wurden BAHNHOF und BETRIEB über Platzhalter repräsentiert.

Nicht wiederholt: ZUGART, LINIE, BETRIEB_*, FPLAN:

Bereich Fachlicher Inhalt Dateiname Beschreibung
Stammdaten Haltestellen BAHNHOF

Liste der Haltestellen. Ein detaillierter Beschrieb zu Haltestellen (inkl. Meta-Haltestellen (s. METABHF-Datei)) findet sich hier.

Die Datei enthält Haltestellen, die in verschiedenen Dateien referenziert sind:

  • Haltestellen-Nummer, aus DiDok (zukünftig atlas), mit einer 7-stelligen Zahl >= 1000000
    • Die ersten zwei Zahlen sind der UIC-Ländercode
  • Haltestellen-Name mit bis zu 4 Typen von Bezeichnungen:
    • Bis zum “$<1>”: offizielle Bezeichnung aus DiDok/atlas
    • Bis zum “$<2>”: lange Bezeichnung aus DiDok/atlas
    • Bis zum “$<3>”: Abkürzung aus DiDok/atlas
    • Bis zum “$<4>”: alternative Bezeichnungen aus der Fahrplansammlung

Beispiel (Ausschnitt):

  • Hilfs-Haltestellen haben eine ID < 1000000.
    • Sie dienen als Meta-Betriebspunkt und als Alternative zum Namen des DiDok/atlas-Systems. Sie erlauben in einem Online-Fahrplan Leistungen mit diesen Namen zu suchen, ohne den Namen der Haltestelle gemäss DiDok/atlas genau zu kennen.

Beispiel – Suche nach Basel anstatt “Basel SBB” (Ausschnitt):

Stammdaten Meta-Haltestellen METABHF

Gruppierung von Haltestellen für die Suche. Durch diese Gruppierung der Haltestellen findet die Suche nach Transportketten an allen Haltestellen der Gruppe statt.

Es gibt 2 Teile. Datei beinhaltet:

  • Erster Teil – Übergangsbeziehungen:
    • *A-Zeile: Übergang
      • gefolgt vom Attribut-Code
    • Meta-Haltestellen-ID
    • Haltestellen-ID
    • Übergangszeit in Minuten
  • Zweiter Teil – Haltestellengruppen:
    • Nummer des Sammelbegriffs
    • “:”
    • Nummern der zusammengefassten Haltestellen

Beispiel (Ausschnitt):

  • Die Haltestelle 8500010 = “Basel SBB” umfasst die effektiven Haltestellen (s. BAHNHOF-Datei)
    • 8500146 = “Basel, Bhfeingang Gundeldingen$<1>$Basel, Bahnhofeingang Gundeldingen$<2>”
    • 8578143 = “Basel, Bahnhof SBB$<1>”

Stammdaten Haltestellen Koordinaten BFKOORD_*

*WGS84, *LV95

Liste der Haltestellen mit ihren Geo-Koordinaten. Datei beinhaltet:

  • Haltestellen-Nummer
  • Längengrad
  • Breitengrad
  • Höhe

Beispiel (Ausschnitt):

Stammdaten Bahnhofart BHFART*

*, *_60

Definition der Art der Haltestellen, d.h. ob die Haltestelle als Start und/oder Ziel, oder als Via-Ort dienen können sollte, und ob sie eine globale ID (für die Schweiz die Swiss Location ID (SLOID)) besitzt.

Die BHFART_60-Variante der BHFART-Datei enthält zusätzlich die Steige (mit einem “a” als Präfix) der Bahnhöfe (mit einem “A” als Präfix). Also wenn im Beispiel unten “A” steht wird eine Haltestelle und nicht einem dieser Haltestelle zugehöriger Steig beschrieben. Eine Haltestelle kann mehrere Steige haben (d.h., bspw. Orte zum Ein- und Ausstieg an der besagten Haltestelle). Datei beinhaltet:

  • Beschränkungen:
    • Diese Haltestellen sind nicht als Start-, Ziel- oder Via-Eingaben anzubieten
    • B = Auswahl- und Routingbeschränkungen
      • Auswahlbeschränkung (meist “3” – Start-/Ziel-beschränkt)
      • Routingbeschränkung (meist leer “”)
  • und die Global ID der Haltestelle und Gleise:
    • G = Global-ID (in der Schweiz: SLOID)
      • Typenbezeichner (“a”/”A”, “A” nur bei *_60)
      • SLOID

Das Format ist dabei:

  • Haltestellen-Nummer
  • Code (zB: s.o. B, G)
  • Code-Details (zB: s.o., a, A)
  • Wert (zB: s.o. 3, “”, SLOID)

Beispiel (Ausschnitt):

Caveat: Es gibt im Moment keine unterschiedlichen sloid für Sektoren und Sektorgruppen. Diese können aber eigene Koordinaten haben. Je nach Anwendungsfall sollte die sloid (wenn sie als id verwendet wird), noch mit “:”+”Bezeichnung” ergänzt werden (z.B. ch:1:sloid:7000:501:34:AB) im internen System. Es handelt sich dabei aber NICHT um eine neue offizielle Id.

Stammdaten Umsteigepriorität BFPRIOS Definition der Priorität der Haltestellen. Die Umsteigepriorität erlaubt die Auswahl des Umsteigepunktes, wenn mehrere Umsteigemöglichkeiten existieren. Sie ist mit einem Wert zwischen 0 und 16 dargestellt, wobei 0 höchste Priorität und 16 niedrigste Priorität bedeutet. Datei beinhaltet:

  • HS-Nr
  • Prio
  • HS-Name

Beispiel (Ausschnitt):

  • Falls bei sonst gleichwertigen Zugverbindungen ein Umstieg in Pregassona, Basel SBB oder Basel St. Johann möglich ist, wird Basel SBB bevorzugt.

Stammdaten Gewichtung der Umsteigepunkte KMINFO Diese Datei ist primär für HAFAS relevant. HAFAS erkennt Umsteigeorte automatisch. Daher sollte diese Datei eigentlich nur zum Zuweisen 2-er Zahlen genutzt werden 30000 und 0 (s.u.). In der Schweiz beinhaltet sie jedoch mehr Zahlen. Konkret, diverse Zahlen zwischen 0 und 30000. Gleiche Zahlen indizieren eine ähnlich zu handhabenden Umstieg. Die Datei unterscheidet sich zu BFPRIOS darin, dass man hier Sperrungen und Umstiege im Allgemeinen definiert, also soll ein Ort zum Umsteigen genutzt werden können oder nicht. Die weiter Einteilung ist eine zusätzlich zu BFPRIOS genutzte Konfigurierung der Umsteigelogik. Datei beinhaltet:

  • HS-Nr
  • Umsteigepunkt
    • 30000 = Umsteigepunkt
    • 0 = Sperrung
    • Alle weiteren Zahlen dienen ebenfalls zum repräsentieren von Umsteigepunkten (s.o.).
  • HS-Name

Beispiel (Ausschnitt):

Fahrplandaten Gleis- bzw. Bussteiginformation GLEISE_*

*WGS, *LV95

Liste der Gleis- bzw. Bussteiginformationen.

Datei beinhaltet:

  • im ersten Teil werden Gültigkeiten, TUs und Fahrten definiert, die im zweiten Teil mit der Gleisinfrastruktur assoziiert werden:
    • HS-Nr
    • Fahrt-Nummer
    • TU-Code
    • Gleis-Link-ID “#…”
    • Verkehrszeit
    • Verkehrstage

Beispiel (Ausschnitt):

  • im zweiten Teil wird die Infrastruktur (Gleise oder Bussteige) der Haltestelle beschrieben:
    • HS-Nr.
    • Gleis-Link-ID “#…” mit Teil 1 verlinkt in Kombination mit HS-Nr.
    • G = Gleis, A = Abschnitt, T = Trennzeichen

Bezeichnung

Somit entsteht das Gesamtbild mit der Verknüpfung der beiden Informationen.

WICHTIGER HINWEIS zu *WGS und *LV95, sowie “GLEIS” vs “GLEISE”: Diese beiden Dateien werden 2024 die “reine” GLEIS und GLEIS_*-Dateien in der Schweiz ablösen. Also es bleiben GLEISE_WGS und GLEISE_LV95. Dementsprechend haben wir hier auch direkt diese Dokumentiert

Mit der Ablösung ändert sich nur der zweite Teil wie folgt (Weitere Details zu diesem Thema und die Umsetzung in der Schweiz sind in der RV zu finden):

  • HS-Nr.
  • Gleis-Link-ID “#…” mit Teil 1 verlinkt in Kombination mit HS-Nr.
  • Verändert: Gleis = G, A = Abschnitt, g A = Swiss Location ID (SLOID), k = Koordinaten (Längengrad, Breitengrad, Höhe)
    • Wichtig: entgegen dem Standard stehen Gleis und Abschnitts-Daten in verschiedenen Zeilen und nicht in einer!
  • Bezeichnung
    • ‘ ‘ bedeutet keine explizite Bezeichnung am Ort

Beispiel (Ausschnitt):

Umsteigdaten Umsteigezeit zwischen Fahrten UMSTEIGZ Liste der Fahrten-Paare, die eine besondere Umsteigebeziehung haben. Datei beinhaltet:

  • HS-Nr (s. BAHNHOF)
  • Fahrtnr. 1 (s. FPLAN)
  • TU-Code 1 (s. BETRIEB_*)
  • Fahrtnr. 2
  • TU-Code 2
  • Umsteigezeit in Min.
  • Verkehrstagebitfeld (s. BITFELD-Datei)
  • HS-Name

Beispiel (Ausschnitt):

Umsteigedaten Umsteigezeit an einer Haltestelle UMSTEIGB Allgemeine Umsteigezeit bzw. pro Haltestelle. Die Datei beinhaltet:

  • einen allgemeinen Standardwert für alle Haltestellen, wenn kein weiterer, spezifischerer Wert definiert ist

Beispiel (Ausschnitt):

  • eine Umsteigezeit pro Haltestelle:
    • Umsteigzeit in Minuten zwischen Angebotskategorie (Verkehrsmitteltyp) IC-IC
    • Umsteigezeit für alle anderen Angebotskategorien
    • Haltestellenname

Beispiel (Ausschnitt):

Stammdaten Umsteigezeit zwischen Linien UMSTEIGL Umsteigezeit pro Angebotskategorie und/oder Linie. Die Datei beinhaltet:

  • Haltestellenummer
  • Verwaltung 1 (s. BETRIEB-Datei)
  • Gattung (Angebotskategorie) 1
  • Linie 1 (* = Quasi-Umsteigezeiten)
  • Richtung 1 (* = alle Richtungen)
  • Verwaltung, Gattung, Linie, Richtung 2
  • Umsteigezeit in Min.
  • “!” für garantierten Umstieg
  • Haltestellenname

Beispiel (Ausschnitt):

Stammdaten Umsteigezeit zwischen Transportunternehmen UMSTEIGV Umsteigezeit zwischen zwei Transportunternehmen:

  • Haltestellennummer oder @
  • Verwaltungsbezeichnung 1
  • Verwaltungsbezeichnung 2
  • Mindestumsteigezeit zwischen den Verwaltungen
  • Haltestellenbezeichnungen

Beispiel (Ausschnitt):