Le Hafas Rohdaten Format (HRDF) est un format de fichier propriétaire pour les données d’horaires.
Qui est impliqué?
La société Hacon a développé le système de calcul d’itinéraires Hacon (Hacon Fahrplan-Auskunfts-System= HAFAS), qui utilise HRDF pour l’échange de données.
Pourquoi la plate-forme Open Data propose-t-elle cela?
Le système HAFAS (voir ci-dessus) est répandu dans les transports publics, ce qui a permis à HRDF de devenir l’un des standards du secteur. De plus, il couvre de nombreux aspects de l’information des clients qui ne sont pas (actuellement) disponibles dans d’autres formats.
Tu trouveras plus d’informations sur l’évaluation des HRDF en tant que norme dans le rapport de l’Office fédéral des transports (OFT).
Quelles sont les informations dont nous disposons sur le FDH? (portée)
Données horaires des TP-Suisse et trajets dans les zones proches de la frontière suisse.
Remarque: pour les trains transfrontaliers, la partie suisse du parcours est incluse jusqu’au premier arrêt commercial à l’étranger (sens étranger) ou au dernier arrêt commercial à l’étranger (sens CH).
Toutes les informations d’une période horaire complète (p. ex. 2024).
Comment les informations sont-elles structurées ? (maquette)
Une exportation HRDF se compose de plusieurs fichiers qui doivent presque tous être considérés ensemble pour obtenir une image globale. Pour plus de détails, nous vous renvoyons au cahier des charges de réalisation (RV, v2.0.5, juillet 2023, en allemand; RV, v2.0.7, mai 2024) et à la documentation officielle HRDF (disponible sur demande: formulaire de contact).
D’une certaine manière, on peut se représenter le fichier HRDF comme un dump d’une base de données. Les différents fichiers du ZIP correspondent à des tableaux ou des objets individuels.
Remarque:
Pour les fichiers HRDF, NOMEN EST OMEN ne s’applique PAS (toujours). Par exemple, le fichier “GARE” ne contient pas seulement les gares, mais aussi tous les arrêts (par exemple de bus).
Le format des fichiers HRDF est conçu pour avoir une structure compacte et lisible par une machine. C’est pourquoi:
sont des contenus souvent apparentés mais pas identiques dans le même fichier
les contenus sont précédés d’un “*” suivi d’une lettre, par exemple “*Z” (le système d’interprétation sait ainsi ce qui vient ensuite)
la structure de chaque ligne qui suit un “*” est strictement réglementée dans la documentation HRDF. Chaque partie d’une ligne a une largeur prédéterminée (nombre de caractères), les parties sont séparées par des espaces. Exemple:
Il peut être défini que la première partie d’une ligne contient l’ID d’un arrêt et ne peut être longue que de 5 caractères et que la partie suivante (à partir du caractère 6 jusqu’au caractère 10) identifie l’entreprise propriétaire de l’arrêt.
La ligne pourrait donc ressembler à ceci : 12345_67891, où _ visualise ici l’espace. S’il n’y a pas d’entreprise et que le champ est facultatif, les caractères 6 à 10 ne seraient que des espaces.
HRDF se distingue ainsi d’autres formats de fichiers courants comme CSV, où les contenus sont séparés par une virgule, ou JSON, où les contenus sont représentés de manière structurée (avec divers caractères): les contenus dans HRDF sont limités dans leur volume et leur position sur chaque ligne.
Il y a des fichiers qui font partie de l’export HRDF que nous fournissons qui sont vides. Ceux-ci ne sont inclus que dans le but d’assurer l’interopérabilité des systèmes décroissants. Dans la description suivante, nous ne les mentionnons délibérément PAS.
Dans l’ensemble, les données HRDF peuvent être divisées en (1) données de base, (2) données temporelles pertinentes, (3) données d’horaire et (4) données de correspondance. Nous nous pencherons plus en détail sur son contenu dans les paragraphes suivants.
Description technique
Cette section décrit en groschaque fichier du modèle HRDF, y compris des exemples de l’exportation HRDF (pour des informations précises, voir la documentation RV et HRDF). En outre, nous ne décrivons pas les fichiers par ordre alphabétique, mais à partir des fichiers de nœuds. Par exemple, nous introduisons d’abord FPLAN comme l’un des fichiers centraux, puis nous décrivons les fichiers référencés par ce fichier, etc:
Fichier horaire (FPLAN) et ses références ainsi que des informations générales
Besoin de savoir:
quand est-ce que
conduit d’où à où
à quels jours de l’année
avec quel moyen de transport
avec quelle ligne
avec quels services supplémentaires et quelles restrictions
avec quels autres détails (SJYID, etc.)
Ainsi que pour les informations temporelles pertinentes:
validité
jours fériés
duseaux horaires
Fichier des arrêts (GARE) et ses références
Nécessaire pour les informations suivantes sur les arrêts:
noms
regroupement de plusieurs arrêts
coordonnées des arrêts
ID des arrêts
informations sur les correspondances à l’intérieur et entre les arrêts
Fichier horaire (FPLAN) et ses références ainsi que des informations générales
Extrait de l’aperçu des modèles. Une flèche signifie que l’on “pointe” vers une clé dans le fichier référencé:
Aire
Contenue technique
Nom du fichier
Déscription
Dates pertinentes dans le temps
Validité de la livraison
ECKDATEN
(informations principales)
Durée de l’horaire
Les données de l’horaire sont valables pour la période définie. La durée correspond généralement à celle de la période de l’horaire.
Peut être lu indépendamment d’autres données.
Dates pertinentes dans le temps
Jour fériés
FEIERTAG
(jour férié)
Liste des jours fériés généraux en vigueur en Suisse.
En plus de la date du jour férié, la description du jour férié est listée en quatre langues : DE, FR, IT, EN.
Peut être lu indépendamment d’autres données.
Dates pertinentes dans le temps
Fuseaux horaires
ZEITVS
Définition des fuseaux horaires, y compris la date à laquelle les changements d’heure d’été et d’hiver auront lieu.
Pour plus de détails sur ce sujet et sur la mise en œuvre en Suisse, voir la RV.
Il existe deux types de représentation:
Type 1:
Numéro de la gare
Décalage horaire (général) par rapport à l’heure GMT
Décalage horaire applicable à la période suivante
DeDate (à partir de ce jour, le décalage horaire s’applique)
Heure (à partir de cette heure)
AuDate (jusqu’à ce jour, le décalage horaire s’applique)
Heure (à cette heure)
Commentaire (dans l’exportation suisse, d’autres périodes sont également disponibles, avant le commentaire)
Définition au jour près de la validité des informations d’horaire. La validité est définie à l’aide d’un schéma binaire. Chaque jour est représenté par un bit. Quatre bits sont regroupés en un chiffre hexadécimal.
Chaque modèle de bit reçoit un code. Les modèles perpétuels ont le même code chaque année. Sinon, de nouveaux modèles, définis en fonction des besoins des entreprises de transport pour leurs horaires, reçoivent de nouveaux codes.
Pour interpréter le champ de bits, il est important de comprendre comment fonctionnent les années d’horaire (plus d’infos ici). Une année d’horaire dure en général un an, mais l’année d’horaire commence le deuxième week-end de décembre. De ce fait, une année d’horaire n’a pas toujours la même durée. Pour y faire face, on part d’une longueur de 400 jours pour le champ de bits.
Le fichier contient:
Code de champ de bits
Définition du champ de bit
Exemple (extrait) – Hex au lieu de bits:
... 000017 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE00 % Bitfeld 17 repräsentiert die Nr FF...00 ...
Données d’horaire
Horaire
FPLAN
Liste des trajets et de loin le fichier le plus grand et le plus complet dans l’exportation HRDF.
Ce fichier contient:
*Lignes Z: comme information d’en-tête de l’exécution. Pour plus de détails sur ce sujet et sa mise en œuvre en Suisse, voir RV. Il comprend les éléments ci-dessous:
Le numéro de trajet (primary key avec le code TU)
Code de l’entreprise de transport (TU) (cf. fichier BETRIEB_*)
Pour le code TU = 801, il faut encore tenir compte de l’information de la région. Cette information est contenue dans la ligne *I avec le CODE INFOTEXTE RN.
Variante
L’information «Variante» n’existe pas dans la norme HRDF. Cette spécificité dans les transports publics suisses n’a aucune importance technique. L’attribution se fait par INFO+. La valeur ne doit pas être prise en compte pour la publication et ne doit être utilisée pour aucun cas d’usage. S DE PARTIE HRDF. Code de variante de moyen de transport à 3 chiffres sans signification technique
(en option) Nombre de cycles
(en option) Temps de cycle en minutes
Exemple (extrait):
*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 ...
*Lignes G: référence à la catégorie de l’offre (cf. fichier ZUGART). Il comprend les éléments ci-dessous:
Référence à la catégorie d’offre
Le cas échéant, le terme “catégorie d’offre” a ici une autre signification que dans le langage courant ! Une désignation plus familière serait (également selon la doc. HRDF) “type de moyen de transport”.
Arrêt à partir duquel la catégorie d’offre est valable
Arrêt jusqu’auquel la catégorie d’offre est valable
Exemple (extrait):
*Z ... *G ICE 8500090 8503000 % Angebotskategorie ICE gilt ab HS-Nr. 8500090 bis HS-Nr. 8503000 ...
*Lignes A VE: référence aux informations sur la validité (cf. fichier BITFELD). Pour plus de détails sur ce sujet et sa mise en œuvre en Suisse, voir RV. Il comprend les éléments ci-dessous:
Arrêt à partir duquel la catégorie d’offre est valable
Arrêt jusqu’auquel la catégorie d’offre est valable
Référence à l’information sur la validité. En Suisse : 000000 = toujours.
Exemple (extrait):
*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 *-lignes: référence aux offres (cf. fichier ATTRIBUT). Il comprend les éléments ci-dessous:
Le code de l’offre
Le terme “offre” peut être imprécis dans ce cas. La doc. HRDF utilise le mot “attribut”, qui est également un peu imprécis. Il s’agit en fait d’un terme générique pour désigner les extensions (par ex. voiture-restaurant) ou des restrictions (p. ex. pas de vélos) qui s’appliquent.
Arrêt à partir duquel la catégorie d’offre est valable
Arrêt jusqu’auquel la catégorie d’offre est valable
Référence aux informations sur la validité
Exemple (extrait):
*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 ...
*Lignes I: référence aux notes (cf. fichier INFOTEXT). Pour plus de détails sur ce sujet et sa mise en œuvre en Suisse, voir RV. Il comprend les éléments ci-dessous:
Code du texte d’information En Suisse: XI non pris en charge. Codes autorisés, voir liste (DE / FR).
Arrêt à partir duquel le texte d’information est valable
Arrêt jusqu’auquel le texte d’information est valable
Référence à l’information sur la validité. En Suisse: si non disponible = toujours.
Référence au texte d’information
Heure de départ
Heure d’arrivée
Remarques:
Le Swiss Journey ID (SJYID) est identifié par la ligne *I avec le code JY.
Exemple (extrait):
*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-lignes: information sur la ligne ou référence à l’information sur la ligne (cf. fichier LIGNE). Il comprend les éléments ci-dessous:
Informations sur la ligne, le cas échéant, renvoi à un fichier externe.
Arrêt à partir duquel la ligne est valable
Arrêt jusqu’auquel la ligne est valable
Heure de départ
Heure d’arrivée
Exemple (extrait):
*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 ...
*Lignes R: référence au texte directionnel (cf. fichier DIRECTION). Il comprend les éléments ci-dessous:
Direction (H=aller, R=retour)
Référence au code d’orientation
Arrêt à partir duquel la direction est valable
Arrêt jusqu’auquel la direction est valable
Heure de départ
Heure d’arrivée
Remarques:
R sans indication = pas de direction
Exemple (extrait):
*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 ...
*Lignes GR: supportées mais non existantes en Suisse.
*Lignes SH: supportées mais inexistantes en Suisse.
*Lignes CI/CO: elle comprend:
Nombre de minutes à l’enregistrement(CI)/à la sortie(CO)
Arrêt à partir duquel la direction est valable
Arrêt jusqu’auquel la direction est valable
Heure de départ
Heure d’arrivée
Exemple (extrait):
*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 ...
Après avoir défini toutes les lignes décrites, l’exécution est décrite avec les temps de parcours:
Arrêt (voir GARE et autres)
Heure d’arrivée: Négatif = pas de possibilité de sortir
Heure de départ: Négatif = pas de possibilité d’embarquement
Liste des catégories d’offres. Par langue, le (Class:) regroupement de catégories d’offres présentant des caractéristiques identiques. (Option 🙂 Critères de recherche pour l’application de recherche de connexion. (Categorie:) Désignation de la catégorie d’offre.
Une fois de plus, nous attirons votre attention sur le fait que le terme “catégorie d’offre” peut avoir ici une autre signification que dans le langage courant ! Une désignation familière serait (également selon la doc. HRDF) “moyen de transport”(type).
Ce fichier contient des modifications en Suisse:
Définition de la catégorie d’offre (ou définition du genre):
Code de catégorie d’offre/code générique
Catégorie Classe de produits
Niveau (toujours A)
Commande de sortie (toujours 0)
Nom générique
Supplément (toujours 0)
Drapeau (N : transport local, B : bateau)
Référence à la catégorie, voir ci-dessous
Exemple (extrait):
... 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) ...
Introduction Définition du texte avec <text>
Indication de la langue avec par exemple <Français>.
Classes de produits:
Classe de produits Nombre entre 0-13
Texte du produit
Exemple (extrait):
... <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 ...
Options:
Définition des options Nombre compris entre 10 et 14 (pour plus de détails sur ce sujet et la mise en œuvre en Suisse, voir RV)
Exemple (extrait):
... 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 ...
Catégories:
Numéro du nom commun nombre compris entre 0 et 999 (voir ci-dessus)
Exemple (extrait):
... category014 InterCity % Kategorie 14 steht für InterCity category015 InterCityExpress % Kategorie 15 steht für InterCityExpress ... category026 Rufbus % Kategorie 26 steht für Rufbus ...
Données de base
Offres
ATTRIBUT
Liste d’abréviations décrivant des offres supplémentaires (p. ex.: voiture-restaurant) ou des restrictions (p. ex.: réservation obligatoire des places).
Une fois de plus, le terme “offre” peut être imprécis. La doc. HRDF utilise le mot “attribut”, qui est également un peu imprécis. Il s’agit en fait d’un terme générique pour désigner les extensions (par ex. voiture-restaurant) ou des restrictions (p. ex. pas de vélos) qui s’appliquent. Un aperçu des moyens de transport (et des indications) peut être consulté sur le lien suivant : Listes des moyens de transport et des indications
Ce fichier contient:
La liste des offres
Exemple (extrait):
... 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 ...
Description de la manière dont les offres peuvent être affichées. Cette information est activement gérée dans le cadre de la collecte des horaires
Exemple (extrait):
... # 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 ...
Description dans les langues suivantes : allemand, anglais, français, italien
Exemple (extrait):
... <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 ...
Données de base
Textes d’information
INFOTEXT_*
*DE,*FR,*IT,*EN
Informations complémentaires sur les objets (trajets, lignes, etc.). Ces informations peuvent être soit
des textes simples, par exemple 000018154 Les fauteuils roulants peuvent être transportés avec l’aide du personnel de conduite.OU
Valeurs ayant une signification sémantique. C’est-à-dire les valeurs qui ne peuvent pas être représentées ailleurs et qui ont donc été “externalisées” chez INFOTEXT, p. ex. 000000000 ch:1:sjyid:100001:3-002
L’attribut INFOTEXTCODE définit s’il s’agit de simples textes ou de textes ayant une signification sémantique. Le CODE INFOTEXT ne se trouve pas dans le fichier INFOTEXT, mais uniquement dans les fichiers qui font référence à INFOTEXT, par exemple FPLAN.
Une liste des INFOTEXTCODE utilisés peut être trouvée sous le LIEN suivant.
Données de base
Lignes
LINIE
Liste des lignes. Le fichier contient:
ID de ligne (pas unique par ligne!)
Code de propriété de la ligne
Caractéristique
Les codes de propriétés suivants sont pris en charge:
Type de ligne K : Clé de ligne
Type de ligne W : désignation interne de la ligne
Type de ligne N T : nom abrégé de la ligne
Type de ligne L T : nom de la ligne
Type de ligne R T : nom de la région de la ligne (réservé à l’ID de l’OFT)
Type de ligne D T : Description de la ligne
Type de ligne F : Couleur de la ligne
Type de ligne B : Couleur de fond de la ligne
Type de ligne H : Ligne principale
Type de ligne I : Texte d’information sur la ligne
Exemple (extrait):
... 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 ...
Données de base
Ripage
RICHTUNG
Information directionnelle. En détail:
ID de direction (voir FPLAN)
Texte de direction
Il s’agit par exemple du fait que lorsqu’un train circule entre Sargans et Coire, il est indiqué comme direction Coire.
Exemple (extrait):
... R000011 Esslingen % Richtung 11 nach Esslingen R000012 Zollikerberg % Richtung 12 nach Zollikerberg R000013 Forch % Richtung 13 nach Forch R000014 Egg % Richtung 14 nach Egg ...
Données de base
Entreprise de transport
BETRIEB_**DE,*FR,*IT,*EN
(exploitation)
Liste des entreprises de transport. La notion d’entreprise de transport est comprise de différentes manières. Dans le contexte de opentransportdata.swiss, on comprend qu’il s’agit d’une organisation responsable des courses décrites dans FPLAN. Une description détaillée des entreprises de transport ou des organisations commerciales se trouve ici.
Dans le détail, chaque TU est décrit sur 2 lignes:
La première ligne:
N° de l’opérateur (pour le fichier BETRIEB)
Nom court (après le “K”)
Nom long (après le “L”)
Nom complet (après le “V”)
La deuxième ligne:
N° de l’opérateur (pour le fichier BETRIEB)
” :”
Code TU (ou numéro administratif)
Plusieurs codes TU peuvent être listés. Ceux-ci partagent les informations de la première ligne.
Exemple (extrait):
... 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 ...
Fichier des arrêts (BAHNOF, gare) et ses références
Extrait de l’aperçu des modèles. Une flèche signifie que l’on “pointe” vers une clé dans le fichier référencé. Pour une meilleure vue d’ensemble, la BAHNHOF (gare) et le BETRIEB (exploitation) ont été représentées par des caractères génériques.
Non répété : ZUGART, LINIE, BETRIEB_*, FPLAN:
Bereich
Fachlicher Inhalt
Dateiname
Beschreibung
Données de base
Haltes
BAHNHOF
(gare)
Liste des arrêts. Une description détaillée des arrêts (y compris les Méta-arrêts (voir fichier METABHF)) se trouve ici.
Le fichier contient des arrêts qui sont référencés dans différents fichiers:
Numéro d’arrêt, issu de DiDok (futur atlas), avec un nombre à 7 chiffres >= 1000000
Les deux premiers chiffres sont le code pays UIC
Nom de l’arrêt avec jusqu’à 4 types de désignations:
Jusqu’au “$<1>” : désignation officielle issue de DiDok/atlas
Jusqu’au “$<2>” : désignation longue de DiDok/atlas
Jusqu’au “$<3>” : abréviation de DiDok/atlas
Jusqu’au “$<4>” : désignations alternatives issues de la collection d’horaires
Exemple (extrait):
... 8500009 Pregassona, Scuola Medialt;1> % HS-Nr 8500009 mit off. Bez. Pregassona, Scuola Media 8500010 Basel SBBlt;1>$BSlt;3>$Balelt;4>$Basilea FFSlt;4>$Basle SBBlt;4>$Bâle CFFlt;4> % HS-Nr 8500010 mit off. Bez. Basel SBB, lang. Bez. BS, etc. 8500016 Basel St. Johannlt;1>$BSSJlt;3> % HS-Nr 8500016 mit off. Bez. Basel St. Johann, Abkürzung BSSJ ...
Les arrêts auxiliaires ont un ID < 1000000.
Ils servent de point de méta-opération et d’alternative au nom du système DiDok/atlas. Ils permettent de rechercher dans un horaire en ligne des prestations portant ces noms, sans connaître précisément le nom de l’arrêt selon DiDok/atlas.
Exemple – recherche de Bâle au lieu de “Bâle CFF” (extrait):
Regroupement des arrêts pour la recherche. Grâce à ce regroupement des arrêts, la recherche de chaînes de transport a lieu à tous les arrêts du groupe.
Il y a deux parties. Le fichier contient:
Première partie – Relations de transition:
*Ligne A: transition
suivi du code d’attribut
ID du méta-arrêt
ID de l’arrêt
Temps de transition en minutes
Deuxième partie – Groupes d’arrêts:
Numéro du terme générique
” :”
Numéros des arrêts regroupés
Exemple (extrait):
L’arrêt 8500010 = “Basel SBB” comprend les arrêts effectifs (cf. fiche de BAHNHOF)
8500146 = “Bâle, entrée de la gare de Gundeldingen$<1>$Basel, entrée de la gare de Gundeldingen$<2>”.
8578143 = “Bâle, gare CFF$<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 ...
Données de base
Coordonnées des arrêts
BFKOORD_*
*WGS84, *LV95
Liste des arrêts avec leurs coordonnées géographiques. Le fichier contient:
Numéro d’arrêt
Longitude
Latitude
Hauteur
Exemple (extrait):
...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 ...
Données de base
Type de gare
BHFART*
*, *_60
Définition du type d’arrêt, c’est-à-dire si l’arrêt doit pouvoir servir de départ et/ou d’arrivée, ou de lieu Via, et s’il possède une ID globale (pour la Suisse, la Swiss Location ID (SLOID)).
La variante BHFART_60 du fichier BHFART contient en plus les steige (avec un “a” comme préfixe) des gares (avec un “A” comme préfixe). Ainsi, lorsque l’exemple ci-dessous indique “A”, il s’agit d’un arrêt et non d’une montée correspondant à cet arrêt. Un arrêt peut avoir plusieurs quais (c’est-à-dire, par exemple, des endroits pour monter et descendre à l’arrêt en question). Le fichier contient:
Restrictions:
Ces arrêts ne doivent pas être proposés comme entrées de départ, d’arrivée ou de via
B = Restrictions de sélection et de routage
Restriction de sélection (généralement “3” – départ/arrivée limité)
Restriction de routage (généralement vide “”)
et l’identifiant global de l’arrêt et des voies:
G = Global-ID (en Suisse : SLOID)
Identificateur de type (“a”/”A”, “A” uniquement pour *_60)
SLOID
Le format est inclus:
Numéro d’arrêt
Code (par exemple: voir ci-dessus) B.G.
Détails du code (par exemple: s.o., a, A)
Valeur (par exemple: voir ci-dessus) SLOID, 3:
Exemple (extrait):
.....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: il n’y a pour l’instant pas de sloid différent pour les secteurs et les groupes de secteurs. Celles-ci peuvent toutefois avoir leurs propres coordonnées. Selon le cas d’application, le sloid (s’il est utilisé comme id) devrait encore être complété par ” : “+”désignation” (par ex. ch:1:sloid:7000:501:34:AB) dans le système interne. Il ne s’agit toutefois PAS d’un nouvel Id officiel.
Données de base
Priorité de correspondance
BFPRIOS
Définition de la priorité des arrêts. La priorité de correspondance permet de choisir le point de correspondance lorsqu’il existe plusieurs possibilités de correspondance. Elle est représentée par une valeur comprise entre 0 et 16, 0 étant la priorité la plus élevée et 16 la priorité la plus basse. Le fichier contient:
HS-Nr.
PRIO
Nom de la SH
Exemple (extrait):
Si, pour des liaisons ferroviaires par ailleurs équivalentes, un changement de train est possible à Pregassona, Bâle CFF ou Bâle St-Jean, la préférence est donnée à Bâle CFF.
... 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) ...
Données de base
Pondération des points de correspondance
KMINFO
Ce fichier est principalement pertinent pour HAFAS. HAFAS reconnaît automatiquement les lieux de correspondance. C’est pourquoi ce fichier ne devrait en fait être utilisé que pour attribuer des nombres de 2 30000 et 0 (voir ci-dessous). En Suisse, elle comprend toutefois davantage de chiffres. Concrètement, divers chiffres compris entre 0 et 30000. Des chiffres identiques indiquent une transition similaire. Le fichier se distingue de BFPRIOS par le fait que l’on y définit les fermetures et les correspondances en général, c’est-à-dire qu’un lieu doit pouvoir être utilisé pour les correspondances ou non. L’échéance suivante est une configuration de la logique de transfert utilisée en plus de BFPRIOS. Le fichier contient:
HS-Nr.
Lieu de correspondance
30000 = point de correspondance
0 = blocage
Tous les autres chiffres servent également à représenter les points de correspondance (voir ci-dessus).
Nom de la SH
Exemple (extrait):
... 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 % ... ...
Données d’horaire
Information sur les voies ou les quais de bus
GLEISE_*
*WGS, *LV95
Liste des informations sur les voies ou les quais de bus.
Le fichier contient:
dans la première partie, on définit les validités, les TU et les trajets, qui sont associés à l’infrastructure de la voie dans la deuxième partie:
HS-Nr.
Numéro de trajet
Code ET
ID de lien de voie “#…”
heure de circulation
Jours de circulation
Exemple (extrait):
... 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 % ... ...
dans la deuxième partie, l’infrastructure (voies ou quais de bus) de l’arrêt est décrite:
HS-Nr.
ID de lien de voie “#…” lié à la partie 1 en combinaison avec le n° de SH
G = voie, A = section, T = séparateur
Dénomination
... 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' % ... ...
C’est ainsi que l’on obtient l’image globale avec le lien entre les deux informations.
REMARQUE IMPORTANTE concernant *WGS et *LV95, ainsi que “GLEIS” vs “GLEISE” : ces deux fichiers remplaceront en 2024 les fichiers “purs” GLEIS et GLEIS_* en Suisse. Il reste donc GLEISE_WGS et GLEISE_LV95. En conséquence, nous les avons documentés ici.
Avec le remplacement, seule la deuxième partie change comme suit (pour plus de détails sur ce sujet et la mise en œuvre en Suisse, voir le RV):
HS-Nr.
ID de lien de voie “#…” lié à la partie 1 en combinaison avec le n° de SH
Modifié: voie = G, A = section, g A = Swiss Location ID (SLOID), k = coordonnées (longitude, latitude, altitude)
Important : contrairement à la norme, les données relatives à la voie et au tronçon se trouvent sur des lignes différentes et non pas dans une seule!
Désignation
‘ ‘ ne signifie pas de désignation explicite sur le site
Exemple (extrait):
... 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 ...
Dates de correspondance
Temps de transfert entre trajets
UMSTEIGZ
Liste des paires de trajets qui ont une relation de correspondance particulière. Le fichier contient:
N° HS (voir BAHNHOF)
Num. trajet 1 (voir FPLAN)
Code TU 1 (voir BETRIEB_*)
Num. trajet 2
Code TU 2
Temps de correspondance en min.
Champ de bit de jour de circulation (voir fichier BITFELD)
L’activation des adaptations selon les nouvelles directives de réalisation RV 2.0.6 et 2.0.7 a été nouvellement fixée à 2025-01-21. Les deux directives sont mises en œuvre simultanément.
Les fichiers ATTRIBUT_DE, ATTRIBUT_EN, ATTRIBUT_FR, ATTRIBUT_IT ne sont plus mis à disposition. Les différentes variantes linguistiques sont toutefois contenues dans le fichier ATTRIBUT.
File BETRIEB
Première ligne : un identifiant unique (SBOID) (après le “N”) est mis à disposition.
Deuxième ligne : à partir de la version 2.0.7, il ne peut y avoir qu’un seul code TU par SBOID.
Exemple (nouveau avec 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
Ancien (actuellement sans SBOID):
00244 K "DB " L "DB Regio" V "DB RegioNetz Verkehrs GmbH Westfrankenbahn" 00244 : 800603 8006A7
File BHFART
A partir de la version 2.0.7, seul le fichier BHFART sera mis à disposition.
Si elles sont connues, les ID globales (pour la Suisse, la Swiss Location ID (SLOID)) du point d’arrêt et de la bordure d’arrêt/quai sont mises à disposition.
avec un “A” comme préfixe, les ID globales des gares sont mises à disposition
avec un “a” comme préfixe, les ID globales des arêtes d’arrêt sont mises à disposition
Un arrêt peut avoir plusieurs quais (c’est-à-dire des endroits pour monter et descendre à l’arrêt en question). Une même bordure d’arrêt/quai peut être attribuée à plusieurs points d’arrêts.
L’information “Pays” est mise à disposition par point d’arrêt avec l’identifiant L
L’information “Canton” est mise à disposition par point d’arrêt. L’information est transmise avec une ligne *I et l’infotextcode “KT”.
Les SLOID sont déjà échangés de manière productive dans le fichier BHFART_60.
8501200 G A ch:1:sloid:1200 8501200 L CH % Vevey 8503000 I KT 000001235 (et une entrée correspondante dans le fichier 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
Les fichiers GLEISE_WGS et GLEISE_LV95 seront désormais disponibles. Les autres fichiers GLEIS_xx ne seront plus disponibles.
File KMINFO
La colonne “Commentaire” commence par le caractère spécial % à partir de la position 21.
Exemple (nouveau):
0000140 0 % Ligne panoramique du Saint-Gothard 8508253 100 % Heimberg
Avant:
0000140 0 Ligne panoramique du Saint-Gothard 8508253 100 Heimberg
File ZUGART
Désormais, le mode de transport est fourni par chaque catégorie d’offre. L’information est transmise avec une ligne *I et le code de texte d’information “VM”.
Désormais, l’attribut “Ausgabesteuerung” comporte deux chiffres. Les attributs qui apparaissent après celui-ci sont déplacés d’une position.