Skip to content

Données de formation

État: octobre 2024 Tu trouveras des informations sur les adaptations continues dans notre Changelog.

Arrière-plan

Que sont les données de formation?

Les données de formation sont des informations sur les wagons (et les locomotives) d’un train. Ils contiennent non seulement la position de chaque wagon d’un train, mais aussi leurs caractéristiques. Par exemple, les données de formation permettent de déterminer quel wagon d’un train spécifique (p. ex. Le train 1234) offre un accès à plancher bas, c’est-à-dire un accès facile pour les chaises roulantes ou les poussettes.

Qui est impliqué?

Le service est fourni par le Team Systemaufgaben Kundeninformation Plus (SKI+) pour le compte de l’Office fédéral des transports (OFT) en Suisse.

Nous obtenons les données relatives aux formations à partir de deux systèmes:

  1. Le service de formation (FOS) Interface des CFF auprès de laquelle différentes entreprises ferroviaires (EF) livrent leurs données de formation.
  2. Le moyen de transport Interface du système en temps réel (CUS) des tâches système Information à la clientèle (SKI), qui gère les données en temps réel de tous les moyens de transport des TP.

Alors que l’interface FOS ne fournit “que” des détails sur les formations, l’interface CUS enrichit encore les données de détails tels que la position des wagons (secteurs) sur la voie des arrêts.

Pourquoi la plate-forme Open Data propose-t-elle cela?

La connaissance de la formation d’un train peut être utilisée pour informer les utilisateurs à ce sujet:

  • à quel secteur d’une voie d’une gare un accès en fauteuil roulant est possible (ce qui est particulièrement important dans le contexte de la loi sur le handicap (LHand))
  • dans quel wagon des crochets pour vélos sont disponibles
  • combien de places sont généralement disponibles dans une voiture
    • En combinaison avec nos prévisions d’occupation, il est même possible d’afficher l’occupation (à l’échelle du train).
  • quels types de locomotives et de wagons circulent sur quelles lignes (par exemple pour les trainspotters, ou pour les entreprises de transport qui combinent leurs services avec les chemins de fer)

Comment accéder aux données/interfaces?

Données

Comme les données de formation changent constamment, nous ne les proposons pas en tant qu’exportation de données, mais uniquement en tant qu’interface.

Interfaces

Les données de formation sont mises à disposition ici: https://opentransportdata.swiss/dataset/formations

Description spécifique

Quels sont les services (points finaux de l’interface) offerts par l’interface des données de formation?

L’interface des données de formation prend en charge les variantes de demandes suivantes. Dans ce contexte, les détails des requêtes sont également documentés via l’interface OpenAPI:

  1. Arrêts basés
    • Pour cela, tu utilises le point final: formations_stop_based
    • Ce que fait le service:
      • Déterminer les formations par arrêt du trajet d’un train.
    • Ce dont le service a besoin:
      • Le nom d’une EF: la liste des EF autorisées est limitée à celles qui ont donné leur accord pour l’utilisation de leurs données de formation.
      • Un jour d’exploitation: le jour pour lequel la formation doit être interrogée. La date ne peut pas être dans le passé. La date ne peut être qu’aujourd’hui +3 jours (en raison de l’intégration des données en temps réel de CUS).
      • Le numéro de train (également appelé numéro de moyen de transport): le train pour lequel on souhaite demander la formation. Ce numéro peut être obtenu de différentes manières, notamment via nos données horaires (dans différents formats de données).
    • Ce que le service donne:
      • Les arrêts d’un train, avec les détails des arrêts, la formation avec laquelle le train part des arrêts, et quand, de quelle voie, et avec quelles locomotives/voitures rester ensemble jusqu’à où. Il est important que nous indiquions la formation dans une notation compacte qui a son origine dans CUS!
      • Cette requête ne contient pas tous les détails de chaque voiture.
      • Nous décrivons plus loin l’interprétation de la chaîne courte de formation!
    • Cas d’application possible: afficher la formation d’un train sur une voie pour un arrêt spécifique.
  2. Train basé
    • Pour cela, tu utilises le point final: formations_vehicle_based
    • Ce que fait le service:
      • Déterminer les formations par véhicule (donc par élément de formation) du train.
    • Ce dont le service a besoin:
      • Les paramètres sont les mêmes que pour formations_stop_based
    • Ce que le service donne:
      • Les éléments de la formation avec les détails de chaque véhicule, la position du véhicule dans la formation, ainsi que les arrêts auxquels le véhicule s’arrête le long du trajet avec les détails de l’arrêt, et la voie et le secteur où le véhicule s’arrête aux arrêts respectifs.
      • Cette requête n’inclut pas la vue globale du train le long des arrêts.
    • Cas d’application possible: le suivi d’un chariot spécifique.
  3. Arrêts et train basés
    • Pour cela, tu utilises le point final: formations_full
    • Ce que fait le service:
      • Délivrer les formations aussi bien par arrêt que par véhicule.
    • Ce dont le service a besoin:
      • Les paramètres sont les mêmes que pour formations_stop_based et formations_vehicle_based
    • Ce que le service donne:
      • Les arrêts ET les éléments de formation comme pour les variantes respectives décrites ci-dessus.

Interprétation de la chaîne courte de formation:

En principe, la structure de la chaîne diffère selon qu’une voie a des secteurs ou que ceux-ci nous sont connus.

Dans tous les cas, les règles suivantes s’appliquent à la structure:

Secteur Lettre („A“ … „Z“)
État “-” Véhicule fermé
“>” Véhicule avec des groupes qui montent à ce BP
“=” Véhicule (partiellement) réservé aux groupes en transit
“%” Véhicule ouvert, mais non desservi (uniquement pour les voitures-restaurants) Remarque : “fermé” ne peut apparaître que seul; les autres signes peuvent être combinés.
 [ Départ du groupe de véhicules appartenant au train

Remarque: cela permet de distinguer les véhicules stationnés ou à déplacer des véhicules appartenant au train en marche.

 ] Fin du groupe de véhicules appartenant au train

Remarque: cela permet de distinguer les véhicules stationnés ou à déplacer des véhicules appartenant au train en marche.

 ( pas de passage possible vers le véhicule voisin de ce côté du véhicule

Remarque: le calcul est effectué sur la base de données de base et d’hypothèses. Il n’est pas garanti que ces informations correspondent dans tous les cas à la réalité.

 ) pas de passage possible vers le véhicule voisin de ce côté du véhicule

Remarque: le calcul est effectué sur la base de données de base et d’hypothèses. Il n’est pas garanti que ces informations correspondent dans tous les cas à la réalité.

FzTypKI Type de véhicule du point de vue de l’IA. Signification:
“1” Voiture voyageurs 1ère classe
“2” voitures voyageurs 2ème classe (également déclassées A/AB)
“12” voitures voyageurs 1ère et 2ème classe
“Voiture-couchette “CC
“FA” voiture familiale
“WL” voiture-lits
“WR” restaurant (voiture-bistrot, voiture-restaurant, etc.)
“W1” voiture-restaurant et voiture à places assises combinées 1re classe
“W2” voiture-restaurant et voiture à places assises de 2e classe combinées
“LK” engin moteur
“D” Fourgon à bagages
“F” voiture fictive
“K” Véhicule sans classe
“X” voiture garéeRemarque : CUS convertit le type de véhicule référencé à partir de FOS en un “type d’IA” générique.

Les variantes suivantes sont utilisées à cet effet:

  1. Transformation des véhicules trop longs
    Les rames automotrices qui livrent la source non pas wagon par wagon, mais sous la forme d’un véhicule (surdimensionné), peuvent être configurées par CUS pour être décomposées en wagons individuels. Dans la chaîne, ce n’est pas 1 véhicule qui apparaît alors (généralement de type “12”), mais 2…n véhicules de type “1”, “2”, “12” ou “D”. Le nombre est calculé en fonction du nombre de véhicules perçus par le client. Les véhicules de ce type qui ne transportent pas la première classe au milieu du train sont en général transformés en véhicules sans classe de type “K”.
  2. Conversion de véhicules individuels sur la base d’expressions régulières
    Tous les véhicules individuels sont transformés en véhicules IA génériques via des expressions régulières prioritaires.
  3. Transformation de véhicules individuels en raison du nombre de places assises
    Si aucune expression régulière de 2) ne correspond, le type est déterminé sur la base du nombre de places assises de 1re et 2e classe. Si le véhicule ne dispose pas de places assises, le type “D” lui est attribué.

Remarque concernant “F”: sur les voies avec secteurs, le delta entre la longueur du train et celle du bord d’arrêt est rempli à l’avant et/ou à l’arrière avec des wagons fictifs.

Remarque concernant “X”: les wagons stationnés influencent l’affectation des véhicules d’un train aux secteurs, mais ne font pas partie du train concerné.

OrdNr OrdNr Numéro d’ordre pour la réservation de place individuelle qui est ainsi affiché sur les voitures pour les passagers (numéro à 1…3 chiffres)
Angebot Offre Liste d’offres liées au véhicule. Celles-ci comprennent:
“BHP” Emplacements pour fauteuils roulants
“BZ” espace affaires
“FZ” zone familiale
“KW” plate-forme pour poussette
“NF” Véhicule avec accès à plancher bas
“VH” crochet/plateforme pour vélo
“VR” crochet/plateforme pour vélos avec réservation obligatoire

 

Quels sont les principaux termes et concepts à connaître?

Nous utilisons les éléments suivants dans le cadre de notre interface (sans éléments de conteneur)

  • StopPoint
    • Un StopPoint est un arrêt le long de la feuille de route
  • StopTime
    • L’heure de départ et d’arrivée
  • Track
    • La voie au StopPoint
  • FormationShortString
    • La représentation succincte de la formation (telle que définie par CUS)
  • VehicleGoal
    • Quels wagons restent ensemble jusqu’à quelle destination, vu d’un arrêt
  • JourneyMetaInformation
    • Identification claire du trajet
  • TrainMetaInformation
    • Caractéristiques descriptives du train
  • FormationMetaInformation
    • Détails sur l’ensemble de la formation, p. ex. nombre de véhicules
  • ScheduledStop
    • StopPoint, StopTime, Track, détails sur la gestion du train à l’arrêt (par exemple, si le train s’arrête ou s’il passe), ainsi que les écarts de parcours (par exemple, si le train s’arrête ou s’il passe). retards à l’arrivée)
  •  VehicleIdentifier
    • Attributs identifiant de manière unique un véhicule, tels que le numéro de véhicule européen (EVN). Une particularité ici est qu’un véhicule peut faire partie d’un train articulé et n’a donc pas de NIV propre, mais seulement un NIV “généré”. Dans ce cas, il est fait référence au “NAV parental”.
  •  WheelchairSymbolProperties
  • AccessibilityProperties
    • Autres caractéristiques qui peuvent être utilisées dans le sens d’une représentation adaptée aux personnes handicapées
  • PictoProperties
    • si les différents pictogrammes sont représentés sur un véhicule
  • DirectTrolleyInformation
    • Si la formation représente des wagons directs
  • VehicleRelation
    • Cet élément permet de suivre le trajet précédent et le trajet suivant de la formation donnée, qui peut aussi être un trajet de wagon direct.
  • VehicleProperties
    • Les caractéristiques d’un véhicule faisant partie d’une formation, c’est-à-dire un élément de la formation, et d’où à où le wagon fait partie de la formation
  • FormationVehicleAtScheduledStop
    • La représentation de la formation par arrêt (pour la requête vehicle_based)
  • VehicleRelationship
    • La relation entre les trajets, c’est-à-dire comment le trajet change entre deux trajets (par exemple s’il y a une panne)
  • VehicleRelationshipDetails
    • Les détails d’une relation de conduite.

Restrictions

  1. Les données se limitent aux entreprises de transport ferroviaire (EF) qui fournissent leurs formations via les Chemins de fer fédéraux suisses (CFF) et qui ont accepté la publication de leurs données en open data.
  2. Le service ne fournit toutes les données et les données basées sur le véhicule que si toutes les sources (voir note 1) disposent de toutes les données requises. Ceci est particulièrement important si l’on considère que CUS ne dispose de données que pour aujourd’hui + 3 jours.
  3. Concrètement, les données proviennent du système temps réel PIC (CUS – CUstomer (Information) System – VerkehrsMittel (VM)) et des Formation-Services (FOS) des CFF.

Description technique

Accès à l’API

Pour pouvoir utiliser l’API/interface, il faut un jeton. Ce jeton peut être obtenu via le Developer Portal (portail des développeurs).

Les points finaux spécifiques

Les trois points finaux décrits ci-dessus peuvent être consultés via les URL suivantes:

Les paramètres sont les suivants:

Paramètre Description de la valeur et exemple de valeur
evu L’EF pour laquelle la demande doit être faite. Actuellement autorisés : BLSP, SBBP, MBC, OeBB, RhB, SOB, THURBO, TPF, TRN, VDBB, ZB
operationDate La date à laquelle le train circule et pour laquelle on veut faire la demande. Par exemple 2024-09-18
trainNumber Le numéro de train pour lequel on souhaite obtenir les données de formation. Ex. 2806
includeOperationalStops Si les arrêts d’exploitation (qui ne sont généralement pas pertinents pour les clients !) doivent également être édités. Par exemple, false

Un exemple de demande serait donc: https://api.opentransportdata.swiss/formations_stop_based?evu=BLSP&operationDate=2024-09-18&trainNumber=2806&includeOperationalStops=false

Nous ne décrirons pas ici le modèle de données complet, mais nous ferons plutôt référence au YAML suivant: formations_yaml_change_file_ending.txt (le fichier est un “.txt”, doit être modifié en “.yaml”).

[le cas échéant, une documentation Swagger sera disponible à cet endroit à l’avenir]

Restrictions

  • L’interface existe en octobre 2024 en tant que version bêta et est continuellement développée. Cela signifie que le modèle de données peut encore évoluer.