Aller au contenu

OJP Trip Service

Concepts importants

  • Halte : Les jeux de données suivants seront d’utilité : DiDok et la liste des gares
  • Trajet / voyage : Un trajet comprend le transport suivant un certain itinéraire et une certaine liaison selon l’horaire, à une certaine heure, utilisant un certain moyen de transport, dans une certaine direction.
  • Horaire : L’horaire, dans le contexte des transports publics (ainsi que du transport des marchandises sur rail), détermine l’itinéraire d’un moyen de transport. Il définit en plus les numéros des trains, les jours de service, la route, les heures d’arrivée, de départ et de passage pour toutes les haltes, ainsi que les vitesses permises dans les différents secteurs.
  • Pronostic : Un pronostic est une prévision des heures d’arrivée et de départ en tenant compte de la position actuelle du moyen de transport ainsi que des conflits résultant d’un retard et les décisons prévues qui en suivent dans les prochaines x minutes et leurs effets. Pour des prévisions plus loins dans le futur, une méthode plus simple est appliquée.
  • Moyen de transport : Soit portant la signification « type de véhicule » (train, bateau, tram, bus) ou la signification « système de transport » (transports publics, etc.).
  • DateTime dans Response : Il’s agit de l’« heure Zoulou » dans tous les cas (c.-à.-d. UTC). Pour obtenir l’heure locale suisse, il faut ajouter deux heures en été, une heure en hiver.

OJP Trip Service

TripRequest est le service central. L’indication d’une Origin et d’une Destination permet de planifier un Trip.

Un Trip comporte différentes «Legs» (tronçons).

Explorateur API

Vous pouvez faire des essais en utilisant vos propres requêtes – lien direct vers l’explorateur de l’API.

Request

Élément Cardinalité Description Exemple
RequestTimestamp 1:1 Timestamp de la Request. De préférence une heure UTC.
MessageIdentifier 0:1  Identifier du Message. Il est préférable que les ID soient croissants de manière strictement monotone.
ojp:Origin 1:* Point de départ indiqué dans la recherche. OJP offre d’assez nombreux moyens de le modéliser.

Pour plus d’infos, cf. la rubrique correspondante.

ojp:Destination 1:* Point d’arrivée indiqué dans la recherche. OJP offre d’assez nombreux moyens de le modéliser.

Pour plus d’infos, cf. la rubrique correspondante.

ojp:Via 0:1 Il est possible de spécifier une étape intermédiaire. Si plusieurs étapes doivent être prises en compte ou s’il faut calculer un circuit, le système requérant doit les répartir en différents Trips dont chacun fera l’objet d’une recherche distincte.

ojp:Params 0:1 Autres paramètres. Cf. la rubrique correspondante.

Struktur Origin/Destination

Éléments Cardinalité Description Exemple
 ojp:PlaceRef/siri:StopPointRef 0:1 Renvoi vers le StopPoint.

ojp:PlaceRef/ojp:StopPlaceRef 0:1 Referenz auf eine Haltestelle

ojp:PlaceRef/ojp:GeoPosition 0:1 Coordonnées WGS84

ojp:PlaceRef/ojp:TopographicPlaceRef 0:1 Renvoi vers un lieu. Difficile, car les valeurs ne peuvent pas être devinées.

 

ojp:PlaceRef/ojp:PointOfInterestRef 0:1 Renvoi vers un Point of Interest. Le LocationName est ignoré.

 

ojp:PlaceRef/ojp:AddressRef 0:1 Renvoi vers une adresse.

 

ojp:PlaceRef/ojp:LocationName 1:1 Nom public du lieu.

Attention: le nom est ignoré. Il faut d’abord effectuer une LocationRequest qui livrera ensuite une Ref ou des coordonnées géographiques!

ojp:DepArrtime 0:1 Temps requis.

« Z » est l’heure zouloue (c’est-à-dire indépendante du fuseau horaire). Pour Z, les secondes doivent également être spécifiées. Si le format est incorrect ou s’il n’y a pas de Z, le système tente d’interpréter l’heure comme l’heure locale.

ojp:TimeAllowance 0:1 À la place du DepArrTime. Temps supplémentaire pour atteindre et quitter la Location.

IndividualTransportOptions 0:* Options pour le trajet permettant d’arriver à la halte de départ et de quitter la halte d’arrivée.

Cf. tableau distinct

IndividualTransportOptions

Éléments Cardinalité Description Exemple
 ojp:Mode 1:1 Mode grâce auquel l’Origin doit être atteinte. Pour le moment, seul le mode «walk» est pris en charge.

Modes disponibles à l’avenir:

  • walk
  • cycle
  • taxi
  • self-drive-car
  • others-drive-car
  • motorcycle
  • truck
ojp:MaxDistance 0:1 Distance maximale en mètres. Cela permet de réduire les itinéraires.
ojp:MaxDuration 0:1  Durée maximale. Fixe une durée maximale pour l’itinéraire. Attention au format: il s’agit d’une xs:duration.
ojp:MinDistance 0:1 Distance minimale en mètres. Cela permet de réduire les itinéraires.

Cet attribut n’est pas pris en charge.

ojp:MinDuration 0:1 Durée minimale. Fixe une durée minimale pour l’itinéraire. Attention au format: il s’agit d’une xs:duration.

Cet attribut n’est pas pris en charge.

ojp:Speed 0:1 Vitesse relative en %. La valeur normale est «100%».

Params

Élément Cardinalité Description Exemple
ojp:PtModeFilter  0:1 Le filtre indique quels Modes doivent être pris en compte.

Les listes des Modes et Submodes proviennent de SIRI. Elles sont énumérées dans l’élément XSD.

ojp:LineFilter  0:1 Lignes devant être incluses ou exclues.

ojp:OperatorFilter 0:1 Exploitants devant être inclus ou exclus.

ojp:PrivateModeFilter 0:1 Spécifie si des modes privés doivent être utilisés ou non.

Cet attribut n’est pas disponible.

 n.d.
ojp:NoSingleStep 0:1 L’utilisateur ne peut franchir aucune marche.

Cet attribut n’est pas disponible.

 n/a
ojp:NoStairs 0:1 L’utilisateur ne peut pas prendre d’escalier.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:NoEscalator 0:1 L’utilisateur ne peut pas prendre d’escalier roulant.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:NoElevator 0:1 L’utilisateur ne peut pas utiliser d’ascenseur.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:NoRamp 0:1 L’utilisateur ne peut pas prendre de rampe.

Cet attribut n’est pas disponible.

 n.d.
ojp:LevelEntrance 0:1 L’utilisateur a besoin d’entrées/de passages de plain-pied.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:BikeTransport 0:1 L’utilisateur souhaite emporter un vélo.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:WalkSpeed 0: Écart par rapport à la vitesse de marche normale. 100% = normale.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:NumberOfResults 0:1 Nombre de résultats

Cet attribut est planifié pour une version ultérieure.

ojp:NumberOfResultsBefore 0:1 Nombre de résultats avant une heure donnée (à la destination ou au départ).

Si un client de l’OJP souhaite recevoir d’autres trajets plus anciens en plus de ceux déjà reçus, il doit envoyer une nouvelle demande avec NumberOfResultsBefore=n et Destination.DepArrTime = heure de fin la plus ancienne trouvée dans la dernière réponse moins 1 minute.

ojp:NumberOfResultsAfter 0:1 Nombre de résultats après un temps donné (à l’arrivée ou au départ)

Si un client de l’OJP souhaite recevoir des demandes ultérieures en plus de celles déjà reçues, il doit envoyer une nouvelle demande avec NumberOfResultsAfter=n et Origin.DepArrTime = dernier StartTime trouvé dans la dernière réponse plus 1 minute.

ojp:IgnoreRealtimeData 0:1 Les données en temps réel doivent-elles être prises en compte?

ojp:ImmediateTripStart 0:1 Faut-il supposer que l’utilisateur est déjà en route?

Cetattribut n’est pas supporté.

 n.d.
ojp:TransferLimit 0:1 Nombre maximal de correspondances.

ojp:OptimisationMethod 0:1 Quelle méthode d’optimisation doit être utilisée?

fastest, least walking, etc.

Cet attribut est planifié pour une version ultérieure.

 n.d.
ojp:ItModesToCover 0:* Un Trip distinct monomodal doit être trouvé pour chaque mode de la liste, en complément aux Trips intermodaux.

Pas supporté par les données.

 n.d.
ojp:IncludeTrackSection 0:1 L’information doit inclure des informations TrackSection, qui permettent de réaliser une projection géographique d’une Leg. Les éléments émis sont TrackStart, TrackEnd et Duration.

Les informations requises doivent bien sûr être disponibles (ce qui n’est pas trop le cas actuellement).

ojp:IncludeLegProjection 0:1 Le résultat doit inclure la présentation géographique d’une Leg. Dans le cas des Legs des TP, cette fonction n’est pas possible actuellement car le parcours des lignes n’est pas connu. Mais elle sera bientôt disponible pour les Legs «walk».

Attribut planifié.

ojp:IncludeTurnDescription 0:1 Le PathGuidance fournit une description détaillée de l’itinéraire pour chaque Leg.

ojp:IncludeAccessibility 0:1 Permet d’inclure des informations relevant de la LHand.

Attribut planifié.

ojp:IncludeIntermediateStops 0:1 Permet de préciser s’il faut indiquer les haltes parcourues durant le trajet, c.-à-d. tous les arrêts intermédiaires.

ojp:IncludeFare 0:1 Permet de préciser si les renseignements relatifs au prix doivent être indiqués.

Cet attribut n’est pas pris en compte actuellement.

 

Response

Exemple de réponse concrète: tripresponse

Le premier élément fourni est ojp:TripResponseContext. Ce dernier contient des indications sur tous les Places utilisés (haltes, localités, adresses, etc.) dans l’élément ojp:Places:

À l’avenir, le contexte pourra également englober les Situations (dérangements).

Vient ensuite l’élément 0:* TripResult. Après l’en-tête,

on trouve les différents Trips.

Si le calcul n’a pas été effectué à partir d’une halte et à destination d’une autre halte, les éléments qui apparaissent en premier sont les Legs qui mènent à la halte.

Vient ensuite un TimedLeg.

Attention, il existe encore quelques bugs:

  • L’élément Realtime n’est malheureusement pas encore disponible. Sinon, les indications correspondantes seraient déjà intégrées.
  • Les XXXRef doivent encore être modifiées.
  • Les DestinationStopPointRef ne sont pas encore idéales.
  • Les attributs se composent des attributs connus avec A__. Nous pouvons aussi parfois trouver ici une autre solution.

 

Pour les correspondances, on utilise des TransferLegs:

En particulier pour les Transfers, des améliorations seront nécessaires en lien avec la LHand.

Informations géographiques utilisées

La fourniture d’itinéraires piétons se base sur l’OSM.

Les éléments ci-dessous se fondent pour le moment exclusivement sur l’OSM:

  • ContinuousLeg et TransferLeg (TransferMode=walk):
  • TrackSection (sans coordonnées, car la LegProjection ne peut être configurée que conjointement pour tous les LegArten en raison d’itinéraires de convoi manquants)
  • TurnAction
  • TimedLeg
  • LegIntermediates

Important:

  • L’élément IncludeLegProjection n’est pas pris en compte tant que les itinéraires de convoi ne figurent pas dans les données.
  • L’élément IncludeAccessibility est pris en compte uniquement à partir de la LHand.