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 wurde neu auf 2025-01-21 festgelegt. 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

*VV 0010 8507000 8503000 % Voraussichtliche Verspätung von 10 Minuten ab HST-Nr 8507000 bis HST-Nr 8503000

File ATTRIBUT

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

Beispiel (neu): 

VR  VELOS: Reservierung obligatorisch
VR  BICYCLES: Reservation required

Alt:

VR VELOS: Reservierung obligatorisch 
VR BICYCLES: Reservation required

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):

00244 K "DB " L "DB Regio" V "DB RegioNetz Verkehrs GmbH Westfrankenbahn" N "ch:2:sboid:DE800603"
00244 : 800603
00245 K "DB " L "DB Regio" V "DB RegioNetz Verkehrs GmbH Westfrankenbahn" N "ch:2:sboid:DE8006A7"
00245 : 8006A7

Alt (aktuell ohne SBOID):

00244 K "DB " L "DB Regio" V "DB RegioNetz Verkehrs GmbH Westfrankenbahn"
00244 : 800603 8006A7

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.

8501200 G A ch:1:sloid:1200
8501200 L CH % Vevey
8503000 I KT 000001235 (und ein entsprechender Eintrag im File INFOTEXT)
8501200 G a ch:1:sloid:1200:3:5
8501200 G a ch:1:sloid:1200:2:2
8501200 G a ch:1:sloid:1200:2:4
8501200 G a ch:1:sloid:1200:1:1

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):

0000140     0       % Gotthard-Panoramastrecke
8508253   100       % Heimberg

Alt:

0000140     0 Gotthard-Panoramastrecke
8508253   100 Heimberg

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):

ICE  0 A  0 ICE      0        #030

Alt:

ICE  0 A 0 ICE      0        #030

 

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://data.opentransportdata.swiss/de/dataset/timetable-54-2024-hrdf

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

Der aktuelle Fahrplanentwurf: https://data.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:

BereichFachlicher InhaltDateinameBeschreibung
Zeitlich relevante DatenGültigkeit der LieferungECKDATEN

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 DatenAllgemeine FeiertageFEIERTAG

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 DatenZeitzonenZEITVS
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):


0000000 +0100 +0200 26032023 0200 29102023 0300 +0200 31032024 0200 27102024 0300 % Nahverkehrsdaten; MEZ=GMT+1
1000000 +0200 +0300 26032023 0300 29102023 0400 +0300 31032024 0300 27102024 0400 % Finnland


Typ 2:

Bahnhofsnummer
Bahnhofsnummer


Beispiel (Ausschnitt):


7400000 0000000
7600000 0000000
8100000 0000000

Zeitlich relevante DatenGültigkeit im JahrBITFELD

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:

...
000017 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 % Bitfeld 17 repräsentiert die Nr FF...00
...
FahrplandatenFahrplanFPLAN

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):
*Z 000003 000011   101         % Fahrtnummer 3, für TU 11 (SBB), mit Variante 101 (ignore)
... 
*Z 123456 000011   101 012 060 % Fahrtnummer 123456, für TU 11 (SBB), mit Variante 101 (ignore), 12 mal, alle 60 Minuten
...
  • *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):
*Z ...
*G ICE 8500090 8503000 % Angebotskategorie ICE gilt ab HS-Nr. 8500090 bis HS-Nr. 8503000 
...
  • *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):
*Z ...
*G ...
*A VE 8500090 8503000 001417 % Ab HS-Nr. 8500090 bis HS-Nr. 8503000, gelten die Gültigkeitstage 001417 (Bitfeld für bspw. alle Montage)
...
  • *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):
*Z ...
*G ...
*A VE ...
*A R  8500090 8503000        % Attribut R gilt ab HS-Nr. 8500090 bis HS-Nr. 8503000
*A WR 8500090 8503000 047873 % Attribut WR gilt ab HS-Nr. 8500090 bis HS-Nr. 8503000 mit den Gültigkeitstagen 047873
*A VR 8500090 8503000        % Attribut VR gilt ab HS-Nr. 8500090 bis HS-Nr. 8503000
...
  • *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):
*Z ... 
*G ... 
*A VE ... 
*A ...
*I hi 8573602 8587744       000018040             % Hinweis auf Infotext (hi) ab HS-Nr. 8573602 bis HS-Nr. 8587744  mit Infotext 18040
*I hi 8578157 8589334       000018037 01126 01159 % Hinweis auf Infotext (hi) ab HS-Nr. 8578157 bis HS-Nr. 8589334 mit Infotext 18037 Abfahrt 11:26 Ankunft 11:59
...
  • *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):
*Z ... 
*G ... 
*A VE ... 
*A ... 
*I ...
*L 8        8578157 8589334 01126 01159 % Linie 8 ab HS-Nr. 8578157 bis HS-Nr. 8589334 Abfahrt 11:26 Ankunft 11:59
*L #0000022 8589601 8589913             % Referenz auf Linie No. 22 ab HS-Nr. 8589601 bis HS-Nr. 8589913 
...
  • *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):
*Z ... 
*G ... 
*A VE ... 
*A ... 
*I ... 
*L ...
*R H                         % gilt für die gesamte Hin-Richtung
*R R R000063 1300146 8574808 % gilt für Rück-Richtung 63 ab HS-Nr. 1300146 bis HS-Nr. 8574808
...
  • *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):
*Z ... 
*G ... 
*A VE ... 
*A ... 
*I ... 
*L ... 
*R ...
*CI 0002 8507000 8507000 % Check-in 2 Min. ab HS-Nr. 8507000 bis HS-Nr. 8507000 
...
*CO 0002 8507000 8507000 % Check-out 2 Min. ab HS-Nr. 8507000 bis HS-Nr. 8507000 
...
  • 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):
*Z ... 
*G ... 
*A VE ... 
*A ... 
*I ... 
*L ... 
*R ... 
*CI ...
*CO ...
0053301 S Wannsee DB               02014               % HS-Nr. 0053301 Ankunft N/A,   Abfahrt 20:14
0053291 Wannseebrücke        02015 02015 052344 80____ % HS-Nr. 0053291 Ankunft 20:15, Abfahrt 20:15, Fahrtnummer 052344, Verwaltung 80____ (DB)
0053202 Am Kl. Wannsee/Am Gr 02016 02016               %
FahrplandatenDurchbindungenDURCHBI

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):

...
000001 000871 8576671 024064 000871 000010 8576671 % Fahrt 1, TU 871, letzte HS 8576671, Fahrt 24064, TU 871, Bitfeld 10, erste HS 8576671 
000001 000882 8581701 000041 000882 063787 8581701 % ...
000002 000181 8530625 000003 000181 000000 8530625 % Fahrt 2, TU 181, letzte HS 8530625, Fahrt 3,     TU 181, Bitfeld 0,  erste HS 8530625 
000002 000194 8503674 000004 000194 000001 8503674 % ...
000002 000812 8591817 000003 000812 000000 8591817 % ...
000002 000882 8581701 000042 000882 063786 8581701 % ...
000003 000181 8530625 000004 000181 000000 8530625 % Fahrt 3, TU 181, letzte HS 8530625, Fahrt 4, TU 181, Bitfeld 0, erste HS 8530625 
000003 000801 8507230 000004 000801 000000 8507230 % ... % Rivera, Passo del Ceneri
000003 000812 8591817 000004 000812 000000 8591817 % ...
...
StammdatenAngebotskategorien (aka Verkehrsmittel(typ))ZUGARTListe 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):
...
IC  1 A 0 IC  0   #014 % Code "IC",  Kategorie 1, Tarifgruppe A, Ausgabesteuerung 0, Gattungsbezeichnung IC,  Zuschlag 0
ICE 0 A 0 ICE 0   #015 % Code "ICE", Kategorie 0, Tarifgruppe A, Ausgabesteuerung 0, Gattungsbezeichnung ICE, Zuschlag 0
...
RUB 6 A 0 RUB 0 B #026 % Code "RUB", Kategorie 6, Tarifgruppe A, Ausgabesteuerung 0, Gattungsbezeichnung RUB, Zuschlag 0, Flag B (Schiff)
...
  • Einleitung Textdefinition mit <text>
  • Angabe Sprache mit bspw. <Deutsch>
  • Produktklassen:
    • Produktklasse Zahl zw.  0-13
    • Produkttext
  • Beispiel (Ausschnitt):
...
<text>                                                  % Keyword für Textdefinition
<Deutsch>                                               % Sprache ist Deutsch
class00 ICE/EN/CNL/ES/NZ/TGV/THA/X2                     % Produktklasse 00 steht für ICE, EN, usw.
class01 EuroCity/InterCity/ICN/InterCityNight/SuperCity % Produktklasse 01 steht für EuroCity, InterCity, usw.
class02 InterRegio/PanoramaExpress                      % Produktklasse 02 steht für InterRegio, PanoramaExpress
...
  • 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):
...
option10 nur Direktverbindungen  % Option 10 steht für nur Direktverbindungen
option11 Direkt mit Schlafwagen* % Option 10 steht für Direkt mit Schlafwagen
option12 Direkt mit Liegewagen*  % Option 10 steht für Liegewagen
...
  • Kategorien:
    • Gattungslangnamennummer Zahl zw. 0-999 (s.o.)
  • Beispiel (Ausschnitt):
...
category014 InterCity        % Kategorie 14 steht für InterCity
category015 InterCityExpress % Kategorie 15 steht für InterCityExpress
...
category026 Rufbus           % Kategorie 26 steht für Rufbus
...
StammdatenAngeboteATTRIBUT

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):

... 
Y  0   5  5 % Der Code Y gilt für den Fahrtabschnitt (0) mit Priorität 5 und Sortierung 5 
YB 0   5  5 % s.o. für Code YB 
YM 0   5  5 % s.o. für Code YB 
...
  • Beschreibung, wie die Angebote angezeigt werden können. Diese Information wird aktiv bei der Fahrplansammlung gepflegt

Beispiel (Ausschnitt):

...
# Y  Y  Y  % Attributcode Y soll als Y für Teilstrecke und als Y für Vollstrecke ausgegeben werden
# YB YB YB % s.o. für Attributscode YB
# YM YM YM % s.o. für Attributscode YM
...
  • Beschreibung in den folgenden Sprachen : Deutsch, Englisch, Französisch, Italienisch

Beispiel (Ausschnitte):

...
<text>                % Keyword für Textdefinition
<deu>                 % Sprache ist Deutsch
...
Y  Zu Fuss            % Code Y, mit Beschrieb Zu Fuss
YB Zu Fuss und Bus    % Code YB, mit Beschrieb Zu Fuss und Bus
YM Zu Fuss und Metro  % Code YM, mit Beschrieb Zu Fuss und Metro
...
<fra>                 % Sprache ist Französisch
...
Y  A pied             % Code Y
YB A pied et en bus   % Code YB
YM A pied et en métro % Code YM
...
StammdatenInfotexteINFOTEXT_*

*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.

StammdatenLinienLINIE

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):

...
0000001 K ch:1:SLNID:33:1     % Linie 1, Linienschlüssel ch:1:SLNID:33:1
0000001 W interne Bezeichnung % Linie 1, interne Linienbezeichnung "interne Bezeichnung"
0000001 N T Kurzname          % Linie 1, Linienkurzname "Kurzname"
0000001 L T Langname          % Linie 1, Linienlangname "Langname"
0000001 D T Description       % Linie 1, Linienbeschreibung "Description"
0000001 F 001 002 003         % Linie 1, Linienfarbe RGB 1, 2, 3
0000001 B 001 002 003         % Linie 1, Linienhintergrundfarbe RGB 1, 2, 3
0000001 H 0000002             % Linie 1, Hauptlinie 2
0000001 I TU 000000001        % Linie 1, Infotexttyp TU, Infotextnummer (s. INFOTEXT-Datei)
...
0000010 K 68                  % Linie 10, Linienschlüsse 68
0000010 N T 68                % Linie 10, Linienkurzname 68
0000010 F 255 255 255         % Linie 10, Linienfarbe RGB 255, 255, 255 
0000010 B 236 097 159         % Linie 10, Linienhintergrundfarbe RGB 236, 097, 159
...
StammdatenRichtungRICHTUNG

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):

...
R000011 Esslingen    % Richtung 11 nach Esslingen
R000012 Zollikerberg % Richtung 12 nach Zollikerberg
R000013 Forch        % Richtung 13 nach Forch
R000014 Egg          % Richtung 14 nach Egg
...
StammdatenTransportunternehmenBETRIEB_**DE,*FR,*IT,*ENListe 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):

...
00379 K "SBB" L "SBB" V "Schweizerische Bundesbahnen SBB"     % Betrieb-Nr 00379, kurz sbb, lang sbb, voll schweizerische bundesbahn sbb
00379 : 000011                                                % Betrieb-Nr 00379, TU-Code 000011
00380 K "SOB" L "SOB-bt" V "Schweizerische Südostbahn (bt)"   % Betrieb-Nr 00380, kurz sob, lang sob-bt,  voll schweizerische südostbahn (bt)
00380 : 000036                                                % Betrieb-Nr 00380, TU-Code 000036
00381 K "SOB" L "SOB-sob" V "Schweizerische Südostbahn (sob)" % Betrieb-Nr 00381, kurz sob, lang sob-sob, voll schweizerische südostbahn (sob)
00381 : 000082                                                % Betrieb-Nr 00381, TU-Code 000082
...

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:

BereichFachlicher InhaltDateinameBeschreibung
StammdatenHaltestellenBAHNHOF

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):

...
8500009     Pregassona, Scuola Media
lt;1>                                             % HS-Nr 8500009 mit off. Bez. Pregassona, Scuola Media
8500010     Basel SBB
lt;1>$BS
lt;3>$Bale
lt;4>$Basilea FFS
lt;4>$Basle SBB
lt;4>$Bâle CFF
lt;4> % HS-Nr 8500010 mit off. Bez. Basel SBB, lang. Bez. BS, etc.
8500016     Basel St. Johann
lt;1>$BSSJ
lt;3>                                            % HS-Nr 8500016 mit off. Bez. Basel St. Johann, Abkürzung BSSJ
...
  • 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):

...
0000021     Barcelona
lt;1>    % Hilfs-Hs-Nr. 000021, off. Bez. Barcelona
0000022     Basel
lt;1>        % Hilfs-Hs-Nr. 000022, off. Bez. Basel
0000024     Bern Bümpliz
lt;1> % Hilfs-Hs-Nr. 000024, off. Bez. Bern Bümpliz
...
StammdatenMeta-HaltestellenMETABHF

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>”
... 
*A Y                             % *A=Übergang, Y="Fussweg" (s. ATTRIBUT-Datei)
8500010 8500146 009              % Meta-HS-Nr. 8500010, HS-Nr. 8500146, Übergang-Minuten: 9
*A Y                             % *A=Übergang, Y="Fussweg" (s. ATTRIBUT-Datei) 
8500010 8578143 006              % Meta-HS-Nr. 8500010, HS-Nr. 8578143, Übergang-Minuten: 6
...
8389120: 8302430 8389120         % Gruppe: 8389120, umfasst: 8302430, und 8389120 
8500010: 8500010 8500146 8578143 % Gruppe: 8500010, umfasst: 8500010, 8500146, und 8578143 
8500016: 8500016 8592322         % Gruppe: 8500016, umfasst: 8500016, und 8592322 
...
StammdatenHaltestellen KoordinatenBFKOORD_*

*WGS84, *LV95

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

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

Beispiel (Ausschnitt):

...lv95-Datei:
8500009    2718660    1098199   0      % HS-Nr. 8500009 LV-Läng. 2718660 LV-Breit. 1098199 Höhe 0 //Pregassona, Scuola Media 
8500010    2611363    1266310   0      % HS-Nr. 8500010 LV-Läng. 2611363 LV-Breit. 1266310 Höhe 0 //Basel SBB
8500016    2610076    1268853   0      % HS-Nr. 8500016 LV-Läng. 2610076 LV-Breit. 1268853 Höhe 0 //Basel St. Johann
...wgs84-Datei:
8500009    8.971045   46.024911 0      % HS-Nr. 8500009 LV-Läng. 8.971045 LV-Breit. 46.024911 Höhe 0 //Pregassona, Scuola Media
8500010    7.589563   47.547412 0      % HS-Nr. 8500010 LV-Läng. 7.589563 LV-Breit. 47.547412 Höhe 0 //Basel SBB
8500016    7.572529   47.570306 0      % HS-Nr. 8500016 LV-Läng. 7.572529 LV-Breit. 47.570306 Höhe 0 //Basel St. Johann
...
StammdatenBahnhofartBHFART*

*, *_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):

.....bhfart
% Beschränkungen
0000132 B 3                     % Bahn-2000-Strecke % HS-Nr. 0000132 Auswahlbeschränkung
0000133 B 3                     % Centovalli        % HS-Nr. 0000133 Auswahlbeschränkung
...
% Globale IDs
...
8500009 G a ch:1:sloid:9        % HS-Nr. 8500009, Typ: SLOID-HS, SLOID = ch:1:sloid:9 
8500010 G a ch:1:sloid:10       % HS-Nr. 8500010, Typ: SLOID-HS, SLOID = ch:1:sloid:10
8500016 G a ch:1:sloid:16       % HS-Nr. 8500016, Typ: SLOID-HS, SLOID = ch:1:sloid:16
.....bhfart_60
% Beschränkungen
0000132 B 3                     % Bahn-2000-Strecke % HS-Nr. 0000132 Auswahlbeschränkung
0000133 B 3                     % Centovalli        % HS-Nr. 0000133 Auswahlbeschränkung
...
% Globale IDs
...
8500010 G A ch:1:sloid:10       % HS-Nr. 8500010, Typ: SLOID-HS,    SLOID = ch:1:sloid:10
8500010 G a ch:1:sloid:10:3:5   % HS-Nr. 8500010, Typ: SLOID-Steig, SLOID = ch:1:sloid:10:3:5
8500010 G a ch:1:sloid:10:22:35 % HS-Nr. 8500010, Typ: SLOID-Steig, SLOID = ch:1:sloid:10:22:35
8500010 G a ch:1:sloid:10:3:6   % ...
8500010 G a ch:1:sloid:10:2:4   % ...
8500010 G a ch:1:sloid:10:4:8   % ...
8500010 G a ch:1:sloid:10:4:7   % ...
8500010 G a ch:1:sloid:10:7:15  % ...
8500010 G a ch:1:sloid:10:8:16  % ...
8500010 G a ch:1:sloid:10:7:14  % ...
8500010 G a ch:1:sloid:10:5:10  % ...
8500010 G a ch:1:sloid:10:6:11  % ...
8500010 G a ch:1:sloid:10:6:12  % ...
8500010 G a ch:1:sloid:10:0:20  % ...
8500010 G a ch:1:sloid:10:21:30 % ...
8500010 G a ch:1:sloid:10:21:31 % ...
8500010 G a ch:1:sloid:10:2:3   % ...
8500010 G a ch:1:sloid:10:1:1   % ...
8500010 G a ch:1:sloid:10:1:2   % ...
8500010 G a ch:1:sloid:10:22:33 % ...
8500010 G a ch:1:sloid:10:8:17  % ...
8500010 G a ch:1:sloid:10:0:19  % HS-Nr. 8500010, Typ: SLOID-Steig, SLOID = ch:1:sloid:10:0:19
8500010 G a ch:1:sloid:10:5:9   % HS-Nr. 8500010, Typ: SLOID-Steig, SLOID = ch:1:sloid:10:5:9
...


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.

StammdatenUmsteigeprioritätBFPRIOSDefinition 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.
...
8500009 16 Pregassona, Scuola Media % HS-Nr. 8500009 Prio Niedrig (16)
8500010  4 Basel SBB                % HS-Nr. 8500010 Prio Erhöht  (4)
8500016 16 Basel St. Johann         % HS-Nr. 8500016 Prio Niedrig (16)
...
StammdatenGewichtung der UmsteigepunkteKMINFODiese 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):

...
8500009    30 Pregassona, Scuola Media % HS-Nr. 8500009 Umstiegprio. 30 in Pregassona
8500010  5000 Basel SBB                % HS-Nr. 8500009 Umstiegprio. 5000 in Basel SBB -> somit ein bevorzugter Umstiegsort
8500016    23 Basel St. Johann         % ...
...
FahrplandatenGleis- bzw. BussteiginformationGLEISE_*

*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):

...
8500010 000003 000011 #0000001      053751 % HS-Nr. 8500010, Fahrt-Nr. 3, TU-Code 11 (SBB), Link #1, keine Verkehrszeit, Verkehrstage-bit: 053751 (s. BITFELD-Datei)
8500010 000003 000011 #0000002      053056 % ...
8500010 000003 000011 #0000003      097398 % ...
8500010 000003 000011 #0000001      001345 % HS-Nr. 8500010, Fahrt-Nr. 3, TU-Code 11 (SBB), Link #1, keine Verkehrszeit, Verkehrstage-bit: 001345 (!) anders als erste Zeile!
...
8014413 005338 8006C5 #0000001      075277 % ...
8014331 005338 8006C5 #0000003 0025 049496 % HS-Nr. 8014331, Fahrt-Nr. 5338, TU-Code 8006C5 (DB Regio), Link #3, Verkehrszeit 00:25, Verkehrstage-bit: 049496 (s. BITFELD-Datei)
8014281 005339 8006C5 #0000002      080554 % ...
...
  • 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

...
8500010 #0000004 G '9'  % HS-Nr. 8500010, Link #4, Gleis "9"
8500010 #0000001 G '11' % HS-Nr. 8500010, Link #4, Gleis "11" -> Übereinstimmung mit Erster und vierter Zeile im Beispiel oben!, d.h. die beiden mit unterschiedlichen Gültigkeiten beziehen sich auf Gleis 11
8500010 #0000003 G '12' % ...
...
8014330 #0000001 G '2'  % ...
8014331 #0000001 G '1'  % ...
8014331 #0000002 G '2'  % ...
8014331 #0000003 G '3'  % HS-Nr. 8014331, Link #3, Gleis "3" -> Übereinstimmung mit zweiter Zeile im Zweiten Abschnitt im Beispiel oben!
8014332 #0000002 G '1'  % ...
...

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):

...
8500207 #0000001 G '1'                    % Hs-Nr. 8500207, Link #1, Gleis "1"
8500207 #0000001 A 'AB'                   % Hs-Nr. 8500207, Link #1, Gleis-Abschnitt "AB" <-> Die verlinkte Fahrt hält an Gleis 1, Abschnitt AB (Tripel HS-Nr., Link, Bezeichnungen)
8503000 #0000002 G '13'                   % ...
8574200 #0000003 G ''                     % Hs-Nr. 8574200, Link #3, Gleis "" <-> Gleis hat keine explizite Bezeichnung am Ort
8574200 #0000003 g A ch:1:sloid:74200:1:3 % Hs-Nr. 8574200, Link #3, SLOID "ch:1:sloid:74200:1:3" <-> Gleis "" hat SLOID wie beschrieben
8574200 #0000003 k 2692827 1247287 680    % Hs-Nr. 8574200, Link #3, Koordinaten 269.. 124.. Höhe 680 <-> Gleis "" mit SLOID hat Koordinaten wie beschrieben
...
UmsteigdatenUmsteigezeit zwischen FahrtenUMSTEIGZListe 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):

...
1106587 020525 80_BOD 020461 80_BOD 000        Bad Schussenried, Bürgerstüble % HS-Nr 1106587, Fahrt-Nr 020525, TU-Code 80_BOD, Fahrt-Nr 020461, TU-Code 80_BOD, Umsteigezeit 0, HS-Name "Bad..."
8500218 002351 000011 002345 000011 002 056682 Olten                          % HS-Nr 8500218, Fahrt-Nr 002351, TU-Code 000011, Fahrt-Nr 002345, TU-Code 000011, Umsteigezeit 2, Verkehrstage 056682, HS-Name "Olten"
8500218 002351 000011 030351 000011 001 053724 Olten                          % HS-Nr 8500218, Fahrt-Nr 002351, TU-Code 000011, Fahrt-Nr 030351, TU-Code 000011, Umsteigezeit 1, Verkehrstage 053724, HS-Name "Olten"
8500218 031391 000011 031395 000011 003 020311 Olten                          % HS-Nr 8500218, Fahrt-Nr 031391, TU-Code 000011, Fahrt-Nr 031395, TU-Code 000011, Umsteigezeit 3, Verkehrstage 020311, HS-Name "Olten"
8500309 002058 000011 008421 000011 006        Brugg AG                       % ...
...
UmsteigedatenUmsteigezeit an einer HaltestelleUMSTEIGBAllgemeine Umsteigezeit bzw. pro Haltestelle. Die Datei beinhaltet:

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

Beispiel (Ausschnitt):

9999999 02 02 STANDARD % Standard Umsteigezeit 2
  • eine Umsteigezeit pro Haltestelle:
    • Umsteigzeit in Minuten zwischen Angebotskategorie (Verkehrsmitteltyp) IC-IC
    • Umsteigezeit für alle anderen Angebotskategorien
    • Haltestellenname

Beispiel (Ausschnitt):

...
8389120 05 05 Verona, stazione FS % HS-Nr 8389120, Umsteigzeit IC-IC = 5, Umsteigzeit sonst = 5, HS = Verona
8500010 05 05 Basel SBB           % HS-Nr 8500010, Umsteigzeit IC-IC = 5, Umsteigzeit sonst = 5, HS = Basel 
8500020 03 03 Muttenz             % HS-Nr 8500020, Umsteigzeit IC-IC = 3, Umsteigzeit sonst = 3, HS = Muttenz
...
StammdatenUmsteigezeit zwischen LinienUMSTEIGLUmsteigezeit 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):

...
1111145 sbg034 B   7322 H sbg034 TX  7322 H 000! Waldkirch (WT), Rathaus % HS-Nr 1111145, TU-Code sbg034, Angebotskategorie B, Linie 1, Richtung Hin, ...
1111145 sbg034 TX  7322 H sbg034 B   7322 H 000! Waldkirch (WT), Rathaus % HS-Nr 1111145, TU-Code sbg034, Angebotskategorie TX, Linie 1, Richtung Hin, ...
1111145 sbg034 TX  7322 H sbg034 TX  7322 H 000! Waldkirch (WT), Rathaus % ...
8301113 000011 S   *    * 007000 B   *    * 003  Luino (I)               % ...
8301113 007000 B   *    * 000011 S   *    * 003  Luino (I)               % ...
8500010 000011 EC  *    * 000011 TER *    * 010  Basel SBB               % ...
8500010 000011 EC  *    * 085000 TER *    * 010  Basel SBB               % ...
8500010 000011 EXT *    * 000011 TER *    * 010  Basel SBB               % HS-Nr 8500010, TU-Code 11, Angebotskategorie EXT, alle Linien, alle Richtungen, ...
...
StammdatenUmsteigezeit zwischen TransportunternehmenUMSTEIGVUmsteigezeit zwischen zwei Transportunternehmen:

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

Beispiel (Ausschnitt):

...
8101236 007000 085000 02 Feldkirch      % HS-Nr 8101236, TU-Code 7000,    TU-Code 85000,  Mindestumsteigzeit 2, HS-Name Feldkirch
8101236 81____ 007000 02 Feldkirch      % ...
8500065 000037 000037 00 Ettingen, Dorf % HS-Nr 8500065, TU-Code 000037,  TU-Code 000037, Mindestumsteigzeit 0, HS-Name Ettingen, Dorf
...