Différences d'implémentation entre les horaires GTFS et Google Transports en commun

Cette page décrit les principales différences d'implémentation de la spécification entre les horaires GTFS officiel et Google Transports en commun dans les domaines suivants :

  • Spécifications officielles ignorées : ces champs font partie du GTFS officiel. Google Transports en commun ingère ces données sans erreur, mais ne les utilise pas de manière proactive.

  • Interprétation différente : ces champs incluent les parties du format GTFS officiel que Google Transports en commun interprète différemment de la définition GTFS de ces parties.

  • Compatibilité expérimentale : ces champs sont expérimentaux dans l'implémentation de Google Transports en commun. Si vous souhaitez implémenter un nouveau champ expérimental, contactez l'équipe Google Transports en commun.

  • Extension compatible avec Google Transports en commun : cette extension ne fait pas partie du format GTFS officiel. Elle inclut à la fois des extensions publiques et des extensions spécifiques à Google Transports en commun. Tous les partenaires peuvent envoyer ces informations à Google Transports en commun dans leur flux.

Google Transports en commun (flux statique)

Les sections suivantes décrivent les principales différences entre le GTFS officiel et l'implémentation du flux statique de Google Transports en commun.

Spécifications officielles ignorées dans les flux statiques

Certaines spécifications officielles ignorées par Google Transports en commun sont expérimentales. Pour en savoir plus, consultez gtfs.org.

Le tableau 1 liste les fichiers GTFS qui ne sont pas compatibles avec Google Transports en commun dans les flux statiques. De plus, aucun des champs définis dans ces fichiers n'est compatible avec Google Transports en commun.

Tableau 1. Fichiers GTFS non compatibles dans les flux statiques
areas.txt
fare_leg_rules.txt
fare_products.txt
fare_transfer_rules.txt
levels.txt
stop_areas.txt

Le tableau 2 liste tous les champs définis par GTFS qui sont ignorés par Google Transports en commun dans les flux statiques.

Tableau 2. Champs GTFS ignorés dans les flux statiques
Nom de fichier Champ ignoré défini dans le GTFS Type de champ
fare_attributes.txt payment_method Enum
feed_info.txt default_lang Code de langue
feed_info.txt feed_publisher_name Texte
pathways.txt max_slope Float
routes.txt continuous_drop_off Enum
routes.txt continuous_pickup Enum
routes.txt network_id ID
routes.txt route_desc Texte
routes.txt route_sort_order Entier non négatif
stops.txt level_id ID
stops.txt stop_desc Texte
stops.txt stop_url URL
stops.txt tts_stop_name Texte
stops.txt bikes_allowed Enum

Interprétation différente dans les flux statiques

Bien que Google Transports en commun accepte certains champs définis par GTFS, il les interprète différemment du GTFS.

Le tableau 3 montre les champs des flux statiques que Google Transports en commun implémente différemment de ceux décrits dans le GTFS.

Tableau 3. Implémentation différente de champs de flux statiques
Nom de fichier Champ défini dans la GTFS Type de champ Requis par Google Transports en commun ? Détails de l'implémentation de Google Transports en commun
fare_attributes.txt transfers Enum Obligatoire

Extension Google Transports en commun.

Le GTFS public limite les valeurs à une fourchette comprise entre 0 et 2. Google Transports en commun accepte les valeurs comprises entre 0 et 5.

Utilisez ce champ pour définir le nombre maximal de correspondances autorisé avec ce tarif. Cela n'inclut pas les correspondances groupées (aussi appelées "correspondances sans changement"). Si vous ne souhaitez pas limiter le nombre de correspondances pour un tarif, laissez le champ transfers vide.

pathways.txt pathway_mode Enum Facultatif Lorsque le champ pathway_mode est spécifié. S'il est laissé vide, Google Transports en commun l'accepte et le traite comme inconnu. 
stop_times.txt arrival_time Heure Obligatoire sous certaines conditions Les heures sont limitées aux valeurs comprises entre 00 et 99, ce qui suffit amplement pour les trajets de trois jours.
transfers.txt transfer_type Enum Obligatoire

Les valeurs 4 et 5 ne sont pas acceptées et sont ignorées.

Google Transports en commun accepte les valeurs 0, 1, 2 et 3.

trips.txt block_id ID Facultatif Pour en savoir plus, consultez Exemple de correspondance en bloc.

Compatibilité expérimentale dans les flux statiques

Si vous avez besoin d'aide pour intégrer de nouveaux champs expérimentaux dans cette catégorie, contactez Google Transports en commun.

Extensions Google Transports en commun acceptées dans les flux statiques

Le tableau 4 fournit des informations sur les extensions de Google Transports en commun. Ces champs ne font pas partie du GTFS officiel.

Tableau 4. Extensions de flux statiques compatibles
Nom de fichier Champ Type de champ Requis par Google Transports en commun ? Détails de l'implémentation de Google Transports en commun
fare_attributes.txt ic_price Float Facultatif

Cette extension Google Transports en commun n'est disponible que pour les partenaires situés au Japon.

Le champ ic_price représente le montant à payer avec remise pour ce tarif avec une carte à puce. Si aucune remise n'est fournie pour ce tarif ou si la carte à puce n'est pas acceptée, la valeur du champ ic_price doit être -1.

fare_rules.txt contains_route_id ID Facultatif

Extension Google Transports en commun.

Ce tarif ne s'applique qu'aux trajets qui empruntent un ensemble exact d'itinéraires identifiés par la valeur route_id dans toutes les lignes pour cette combinaison de colonnes fare_id, origin_id et destination_id.

Si la colonne contains_route_id est manquante ou que toutes ses valeurs pour ce tarif sont nulles, le tarif n'est pas limité dans ce paramètre. Si le champ contains_route_id est défini pour un tarif, le champ route_id doit être vide.

routes.txt checkin_duration Entier Facultatif

Extension Google Transports en commun.

Le champ checkin_duration indique, en secondes, combien de temps en avance le passager doit arriver avant le départ prévu pour qu'il puisse s'enregistrer et embarquer.

S'il s'agit d'une correspondance, le temps de correspondance défini remplace la valeur checkin_duration.

La valeur checkin_duration n'est qu'une recommandation généralement fournie par l'opérateur de transports en commun. Il ne reflète peut-être pas le tout dernier moment où le passager peut arriver et embarquer dans le véhicule.

routes.txt route_type Enum Obligatoire

Extension Google Transports en commun.

Pour savoir comment Google Transports en commun étend les options de valeur route_type acceptées par GTFS, consultez les types d'itinéraires GTFS étendus.

stop_times.txt stop_direction_name Texte Facultatif

Extension Google Transports en commun.

Le champ stop_direction_name indique aux passagers la direction d'un trajet. L'itinéraire est stocké en tant que valeur direction_name du départ depuis cet arrêt.

Si le champ stop_direction_name est vide, le champ trip_direction_name compatible avec Google Transports en commun est utilisé à la place. Si les champs trip_direction_name et stop_direction_name sont tous les deux vides, l'importateur de Google Transports en commun les laisse vides. Dans ce cas, les partenaires peuvent utiliser à la place la valeur stop_headsign ou trip_headsign. Les valeurs du champ stop_direction_name sont normalisées en casse.

stops.txt signposted_as Texte Facultatif

Extension Google Transports en commun.

Le champ signposted_as contient le texte tel qu'il figure sur le panneau de la plate-forme. Exemples : "Vers le centre" et "East side & Brooklyn".

Le champ GTFS platform_code et le champ signposted_as accepté par Google Transports en commun peuvent être définis simultanément.

Les différences entre les champs platform_code et signposted_as sont les suivantes :

  • Durée : le champ platform_code contient généralement un nombre ou une lettre, par exemple 2 ou C.
  • Langue : le champ platform_code n'a pas de langue, mais des valeurs signposted_as peuvent être traduites.
  • Stabilité : le champ platform_code change beaucoup moins souvent que le champ signposted_as.
stops.txt vehicle_type Entier Facultatif

Extension Google Transports en commun.

Le champ vehicle_type indique le type de véhicule utilisé à l'arrêt. Ce champ accepte les types d'itinéraires HVT (hierarchical vehicle type). Les valeurs HVT sont issues de la norme européenne Transport Protocol Experts Group (TPEG).

agency.txt ticketing_deep_link_id ID Facultatif

Extension de billetterie Google Transports en commun.

Dans le fichier agency.txt, le champ ticketing_deep_link_id représente le lien profond utilisé pour les billets de cette agence.

routes.txt ticketing_deep_link_id ID Facultatif

Extension de billetterie Google Transports en commun.

Dans le fichier routes.txt, le champ ticketing_deep_link_id représente le lien profond utilisé pour les billets de cet itinéraire.

stop_times.txt ticketing_stop_time_id ID Facultatif

Extension de billetterie Google Transports en commun.

S'il est présent dans le fichier stop_times.txt, le champ ticketing_stop_time_id remplace l'identifiant qui représente l'heure d'arrêt de la billetterie avec des liens profonds.

stop_times.txt ticketing_type Enum Facultatif

Extension de billetterie Google Transports en commun.

Le champ ticketing_type indique le type de billetterie qui s'applique aux heures d'arrêt.

Google Transports en commun accepte les valeurs suivantes :

  • Empty : valeur par défaut, définie par le trajet.
  • 0 : disponible uniquement si l'agence ou l'itinéraire possède un lien profond de billetterie activé.
  • 1 : indisponible.
ticketing_deep_links.txt android_intent_uri URI Facultatif

Extension de billetterie Google Transports en commun.

Le champ android_intent_uri représente l'URI d'intent utilisé pour les liens profonds sur Android.

ticketing_deep_links.txt ios_universal_link_url URL Facultatif

Extension de billetterie Google Transports en commun.

Le champ ios_universal_link_url représente l'URL de lien universel utilisée pour les liens profonds sur iOS.

ticketing_deep_links.txt ticketing_deep_link_id ID Obligatoire

Extension de billetterie Google Transports en commun.

Le champ ticketing_deep_link_id représente l'identifiant du lien profond.

ticketing_deep_links.txt web_url URL Facultatif

Extension de billetterie Google Transports en commun.

Le champ web_url représente l'URL utilisée pour les liens profonds sur le Web.

ticketing_identifiers.txt agency_id ID Obligatoire

Extension de billetterie Google Transports en commun.

Pour spécifier l'agence de l'arrêt pour lequel le champ ticketing_stop_id par défaut est défini, le champ agency_id contient l'ID du fichier GTFS agency.txt.

ticketing_identifiers.txt stop_id ID Obligatoire

Extension de billetterie Google Transports en commun.

Pour spécifier l'arrêt pour lequel le champ ticketing_stop_id par défaut est défini, le champ stop_id contient l'ID du fichier GTFS stops.txt.

ticketing_identifiers.txt ticketing_stop_id ID Obligatoire

Extension de billetterie Google Transports en commun.

Le champ ticketing_stop_id contient l'ID de billetterie appliqué à l'arrêt. Une agence peut éventuellement certifier cet ID.

trips.txt exceptional Enum Facultatif

Ce champ indique des trajets exceptionnels. Ils se déroulent en dehors de l'horaire habituel ou sont détournés de l'itinéraire normal en raison d'événements spéciaux ou de perturbations planifiées (tels que des travaux sur une voie, etc.).

Google accepte les options de valeur suivantes :

  • 0 : services réguliers
  • 1 : exception de service (ex. : services ajoutés en raison d'événements spéciaux ou services détournés de l'itinéraire habituel en raison de perturbations planifiées)
trips.txt ticketing_trip_id ID Facultatif

Extension de billetterie Google Transports en commun.

Si le champ ticketing_trip_id est présent, sa valeur remplace le champ trip_id afin d'identifier le trajet pour la billetterie avec des liens profonds.

trips.txt ticketing_type Enum Facultatif

Extension de billetterie Google Transports en commun.

Le champ ticketing_type spécifie le type de billet qui s'applique à ce trajet.

Google Transports en commun accepte les valeurs suivantes :

  • 0 : valeur par défaut. disponible uniquement si l'agence ou l'itinéraire possède un lien profond de billetterie activé.
  • 1 : indisponible.
translations.txt lang Code de langue Facultatif

Extension Google Transports en commun.

Le champ lang ne fait pas partie du GTFS officiel, mais Google Transports en commun utilise cette valeur lorsqu'elle est présente.

Pour indiquer la traduction d'une expression, utilisez le champ lang. Sa valeur ne doit pas être vide ni und (une langue non définie).

translations.txt trans_id ID Facultatif

Extension Google Transports en commun.

Le champ trans_id ne fait pas partie du GTFS officiel, mais Google Transports en commun utilise cette valeur lorsqu'elle est présente.

Pour spécifier le jeton d'ID de l'expression pour laquelle la traduction est fournie, utilisez le champ trans_id. Chaque ligne du tableau translations.txt signifie que dans la langue lang, l'expression trans_id se traduit par translation.

trips.txt original_trip_id ID Facultatif

Extension Google Transports en commun.

Si elle est présente dans le fichier trips.txt, la valeur de original_trip_id remplace celle de trip_id pour être utilisée par d'autres systèmes (par exemple, la correspondance en temps réel).

trips.txt trip_direction_name Texte Facultatif

Extension Google Transports en commun.

Le champ trip_direction_name indique aux passagers la direction d'un trajet. La valeur de ce champ est stockée en tant que valeur direction_name de chaque trajet.

Si la valeur stop_direction_name dans le tableau stop_times change au cours du trajet, elle peut remplacer la valeur trip_direction_name.

Les valeurs du champ trip_direction_name sont normalisées en casse.

trips.txt vehicle_category_id ID Facultatif

Extension Google Transports en commun.

Dans le fichier trips.txt, le champ vehicle_category_id identifie le véhicule attribué à ce trajet. Lorsque ce champ se trouve dans le fichier trips.txt, sa valeur remplace la valeur vehicle_category_id du fichier routes.txt.