Référence

Ce document décrit les types de fichiers contenus dans un flux de transports en commun (GTFS, General Transit Feed Specification) et définit les champs utilisés dans chacun de ces fichiers.

Au sommaire de cet article :

  1. Définition des termes
  2. Types de champs
  3. Fichiers d'ensemble de données
  4. Exigences pour les fichiers
  5. Définition des champs

Définition des termes

Les termes suivants sont utilisés dans ce document :

  • Ensemble de données : ensemble complet de fichiers défini dans cet article de référence sur les spécifications. Chaque fois que vous apportez une modification à l'ensemble de données, vous créez une nouvelle version. Publiez vos ensembles de données sous une URL publique disponible en permanence qui inclut le nom du fichier ZIP, par exemple, https://www.agency.org/gtfs/gtfs.zip.

  • Enregistrement : structure de données de base qui comprend un certain nombre de valeurs de champs différentes décrivant une entité unique, telle qu'une agence de transports publics, un arrêt ou une route. Un enregistrement correspond à une ligne dans un tableau.

  • Champ : propriété d'un objet ou d'une entité. Un champ correspond à une colonne dans un tableau.

  • Valeur de champ : une entrée dans un champ. La valeur d'un champ correspond à une cellule dans un tableau.

  • Obligatoire : cette mention indique que vous devez inclure le champ dans l'ensemble de données et renseigner sa valeur pour chaque enregistrement.

    • Certains champs obligatoires peuvent contenir une chaîne vide. Pour indiquer une chaîne vide dans un champ spécifique, il vous suffit de ne pas saisir de texte entre les virgules. Notez que la valeur 0 est interprétée comme une chaîne de valeur égale à 0, et non comme une chaîne vide.
  • Facultatif : cette mention indique que vous pouvez omettre le champ dans l'ensemble de données. Si vous choisissez d'inclure une colonne facultative, certaines des entrées de ce champ peuvent être des chaînes vides.

    • Pour indiquer une chaîne vide dans un champ spécifique, il vous suffit de ne pas saisir de texte entre les virgules. Notez que la valeur 0 est interprétée comme une chaîne de valeur égale à 0, et non comme une chaîne vide. Un champ omis équivaut à un champ entièrement vide.
  • Obligatoire sous certaines conditions : le champ ou le fichier est obligatoire dans certains cas, décrits dans la description du champ ou du fichier. En dehors de ces conditions, ce champ ou fichier est facultatif.

  • Journée de service : période utilisée pour indiquer les horaires des trajets. La définition exacte de la journée de service varie d'une agence à l'autre, mais en général elle ne correspond pas aux jours calendaires. Une journée de service peut dépasser 24:00:00 si le service commence un jour et se termine le lendemain. Par exemple, un service commençant à 08:00:00 le vendredi et se terminant à 02:00:00 le samedi peut être désigné par la plage 08:00:00-26:00:00 dans une journée de service.

Types de champs

Les flux GTFS utilisent les types de champs suivants :

  • Couleur : couleur codée sous forme de nombre hexadécimal (c'est-à-dire à six chiffres). Reportez-vous aux codes de couleurs HTML pour générer des valeurs valides. Notez que le symbole # n'est pas inclus.

    • Exemples : FFFFFF pour le blanc, 000000 pour le noir ou 0039A6 pour les lignes A, C et E du réseau
  • Code de devise : code de devise alphabétique ISO 4217. Pour obtenir la liste des devises à jour, consultez les codes actifs.

    • Exemples : CAD pour le dollar canadien, EUR pour l'euro ou JPY pour le yen japonais
  • Date : une journée de service au format YYYYMMDD. Comme une journée de service peut dépasser 24:00:00, ce type de champ inclut souvent des informations pour les jours suivants.

    • Exemple : 20180913 pour le 13 septembre 2018
  • E-mail : une adresse e-mail.

    • Exemple : ex@gmail.com
  • Énumération : option issue d'un ensemble de constantes prédéfinies, répertoriées dans la colonne "Description".

    • Exemple : le champ route_type du fichier routes.txt contient une valeur 0 pour le tramway ou une valeur 1 pour le métro.
  • ID : séquence de caractères UTF-8 identifiant de manière unique une entité, mais pas nécessairement un enregistrement spécifique dans un tableau. Les ID définis dans un fichier TXT sont souvent référencés dans un autre fichier TXT. Un champ d'ID n'est pas destiné à être vu par l'utilisateur. Vous pouvez utiliser tous les caractères UTF-8, mais nous vous recommandons de n'utiliser que des caractères ASCII imprimables.

    • Exemple : le champ stop_id dans le fichier stops.txt est un ID, et le champ stop_id dans me fichier stop_times.txt est un ID qui fait référence à stops.stop_id.
  • Code de langue : un code de langue IETF BCP 47. Pour plus d'informations sur les codes IETF BCP 47, veuillez consulter les pages Tags for Identifying Languages et Language tags in HTML and XML.

    • Exemples : en pour l'anglais, en-US pour l'anglais américain ou de pour l'allemand
  • Latitude : latitude WGS84 en degrés décimaux. La valeur doit être supérieure ou égale à -90.0 et inférieure ou égale à 90.0.

    • Exemple : 41.890169 pour le Colisée à Rome
  • Longitude : longitude WGS84 en degrés décimaux. La valeur doit être supérieure ou égale à -180.0 et inférieure ou égale à 180.0.

    • Exemple : 12.492269 pour le Colisée à Rome
  • Flottant non négatif : nombre à virgule flottante supérieur ou égal à 0.

  • Entier non négatif : nombre entier supérieur ou égal à 0.

  • Numéro de téléphone : numéro de téléphone.

  • Heure : heure au format HH:MM:SS. Le format H:MM:SS est également accepté. L'heure est calculée à partir de "midi moins 12 h" au début de la journée de service. En pratique, elle est calculée à partir de minuit, sauf les jours de changement d'heure. Passé minuit, les heures doivent être représentées par une valeur supérieure à 24:00:00 au format HH:MM:SS, à l'heure locale le jour où commence le trajet.

    • Exemples : 14:30:00 pour 14h30 ou 25:35:00 pour 1h35 le lendemain.
  • Texte : chaîne de caractères UTF-8 destinée à être affichée. Elle doit donc être lisible pour l'utilisateur.

  • Fuseau horaire : fuseau horaire de la base de données de fuseaux horaires. Les noms de fuseau horaire ne doivent jamais contenir de caractère d'espacement, mais peuvent inclure des traits de soulignement. Pour obtenir une liste des valeurs valides, consultez la liste des fuseaux horaires de la base de données tz.

    • Exemple : Asia/Tokyo, America/Los_Angeles ou Africa/Cairo.
  • URL : adresse URL complète commençant par http:// ou https://. Tous les caractères spéciaux de l'URL doivent être correctement échappés. Consultez la page W3C URI recommendations pour découvrir comment créer des valeurs d'URL complètes.

Fichiers d'ensemble de données

Cette spécification définit les fichiers suivants et le contenu associé à chacun :

Nom du fichier Obligatoire Définition
agency.txt Obligatoire Définit une ou plusieurs agences de transports publics dont les services sont représentés dans l'ensemble de données.
stops.txt Obligatoire Définit les arrêts où les usagers peuvent monter et descendre. Définit également les stations et leurs entrées.
routes.txt Obligatoire Définit les itinéraires des transports en commun. Un itinéraire est un ensemble de trajets présentés aux usagers comme relevant du même service.
trips.txt Obligatoire Définit les trajets pour chaque itinéraire. Un trajet est une série d'au moins deux arrêts desservis à des horaires précis.
stop_times.txt Obligatoire Heures d'arrivée et de départ d'un véhicule à des arrêts spécifiques, pour chaque trajet.
calendar.txt Obligatoire sous certaines conditions Définit les dates auxquelles le service est disponible pour des itinéraires spécifiques. Utilise un calendrier hebdomadaire. Ce fichier spécifie les dates de début et de fin du service, ainsi que les jours de la semaine où le service est disponible. Ce fichier est obligatoire, sauf si toutes les dates de service sont définies dans calendar_dates.txt.
calendar_dates.txt Obligatoire sous certaines conditions Définit les exceptions pour les services définis dans le fichier calendar.txt. Si calendar.txt est omis, le fichier calendar_dates.txt est alors obligatoire et doit contenir toutes les dates de service.
fare_attributes.txt Facultatif Définit les informations tarifaires pour les itinéraires d'une agence de transports publics.
fare_rules.txt Facultatif Définit les conditions d'application des tarifs pour les itinéraires.
shapes.txt Facultatif Définit les règles cartographiques du parcours des véhicules (parfois appelées alignements d'itinéraire).
frequencies.txt Facultatif Définit le laps de temps entre deux trajets pour les itinéraires dont la fréquence du service est variable. Peut également fournir une représentation sous forme compressée des services dont les horaires sont fixes.
transfers.txt Facultatif Définit les règles de liaison aux pôles de correspondance entre des itinéraires.
pathways.txt Facultatif Définit les règles décrivant les parcours de liaison à pied entre deux arrêts d'une station, par exemple entre une entrée et une plate-forme. Ces parcours sont représentés sous forme de bordures d'un tracé à pied.
levels.txt Facultatif Définit les niveaux dans les stations.
feed_info.txt Facultatif Fournit des informations supplémentaires sur le flux lui-même (par exemple, l'éditeur, la version et la date d'expiration).

Exigences pour les fichiers

Les conditions suivantes s'appliquent au format et au contenu de vos fichiers :

  • Tous les fichiers d'un flux GTFS (General Transit Feed Specification) doivent être enregistrés au format texte avec des valeurs séparées par une virgule.

  • La première ligne de chaque fichier doit contenir les noms des champs. Chaque sous-section de la section Définition des champs correspond à un des fichiers de l'ensemble de données GTFS. Vous y trouverez la liste des noms de champs que vous pouvez utiliser dans le fichier.

  • Tous les noms de champ sont sensibles à la casse.

  • Les valeurs de champs ne peuvent pas contenir de tabulations, de retours chariot ni de sauts de ligne.

  • Les valeurs de champs contenant des guillemets ou des virgules doivent être entourées de guillemets. En outre, les guillemets figurant dans une valeur de champ doivent être précédés d'un guillemet. Les fichiers CSV générés par Microsoft Excel suivent ces conventions. Pour plus d'informations sur le format de fichier CSV, consultez la page Common format and MIME type for comma-separated values (CSV) files. L'exemple suivant montre comment les valeurs de champ apparaissent dans un fichier CSV :

    • Valeur dans le champ d'origine : Contains "quotes", commas, and text
    • Valeur du champ dans le fichier CSV : "Contains ""quotes"", commas, and text"
  • Les valeurs des champs ne doivent pas contenir de balises HTML, de commentaires ni de séquences d'échappement.

  • Supprimez les espaces inutiles entre les champs ou les noms de champ. De nombreux analyseurs considèrent que les espaces font partie de la valeur, ce qui peut provoquer des erreurs.

  • Toutes les lignes doivent se terminer par un caractère de saut de ligne CRLF ou LF.

  • Encodez les fichiers en UTF-8. Cette norme inclut tous les caractères Unicode. Les fichiers qui contiennent le caractère Unicode BOM (byte-order mark) sont acceptés. Pour plus d'informations sur le caractère BOM et le codage UTF-8, consultez la page Unicode FAQ.

  • Tous les fichiers de l'ensemble de données doivent être inclus dans un même dossier zippé.

Définition des champs

agency.txt

Fichier : Obligatoire

Définit une ou plusieurs agences de transports publics dont les services sont représentés dans l'ensemble de données.

Nom du champ Type Obligatoire Description
agency_id ID Obligatoire sous certaines conditions

Indique la marque du réseau de transports publics (souvent identique au nom de l'agence). Notez que dans certains cas, par exemple, lorsqu'une agence gère plusieurs services, les noms de marques sont distincts du nom de l'agence. Ce document utilise le terme "agence" pour faire référence à la marque.

Un flux de données de transports en commun peut inclure des données provenant de plusieurs agences. Ce champ est obligatoire pour les flux de transports en commun qui contiennent les données de plusieurs agences. Dans les autres cas, il est facultatif.

agency_name Texte Obligatoire Contient le nom complet de l'agence de transports publics.
agency_url URL Obligatoire Contient l'URL de l'agence de transports publics.
agency_timezone Time Zone Obligatoire Contient le fuseau horaire de la zone où se trouve l'agence de transports publics. Si plusieurs agences sont spécifiées dans le flux, le champ agency_timezone doit être le même pour chacune d'entre elles.
agency_lang Code de langue Facultatif Spécifie la langue principale utilisée par cette agence de transports publics. Ce paramètre aide les utilisateurs GTFS à définir les règles relatives à l'emploi des majuscules et d'autres paramètres spécifiques à la langue pour l'ensemble de données.
agency_phone Numéro de téléphone Facultatif Fournit le numéro de téléphone de l'agence spécifiée. Ce champ contient une valeur de chaîne qui indique le numéro de téléphone au format standard dans la zone desservie par l'agence. Il doit contenir les signes de ponctuation regroupant les chiffres du numéro. Le texte convertible en numéro de téléphone (par exemple, le numéro 503-238-RIDE de TriMet) est autorisé, à condition que le champ ne contienne aucun autre texte descriptif.
agency_fare_url URL Facultatif Spécifie l'URL d'une page Web où l'usager peut acheter des billets ou autres titres de transports de l'agence en ligne.
agency_email E-mail Facultatif Ce champ contient une adresse e-mail valide consultée régulièrement par le service client de l'agence. Cette adresse e-mail doit constituer un point de contact via lequel les usagers des transports en commun peuvent contacter un représentant du service client de l'agence.

stops.txt

Fichier : Obligatoire

Définit les arrêts où les usagers peuvent monter et descendre. Définit également les stations et leurs entrées.

Nom du champ Type Obligatoire Description
stop_id ID Obligatoire Identifie un arrêt, une station ou une entrée de station. Le terme "entrée de station" désigne à la fois les entrées et les sorties de station. Les arrêts, les stations et les entrées de station sont collectivement appelés "emplacements". Un même arrêt peut être desservi par plusieurs itinéraires.
stop_code Texte Facultatif

Contient un texte court ou un numéro identifiant de manière unique l'arrêt pour les usagers. Les codes d'arrêts sont souvent utilisés dans les systèmes d'information par téléphone sur les transports en commun ou imprimés sur les panneaux des arrêts, afin de fournir aux usagers des informations sur un arrêt en particulier.

La valeur de stop_code peut être identique à celle de stop_id si l'ID est destiné à être vu par les usagers. Laissez ce champ vide pour les arrêts qui n'ont pas de code présenté aux usagers.

stop_name Texte Obligatoire sous certaines conditions

Contient le nom d'un emplacement. Utilisez un nom compréhensible à la fois pour les habitants et pour les touristes.

Lorsque l'emplacement est une zone d'accès aux véhicules (avec la valeur location_type=4), incluez le nom de la zone d'accès tel qu'il est indiqué par l'agence dans le champ stop_name. Il peut s'agir simplement d'une lettre ou d'un texte de type "zone d'accès aménagée pour les fauteuils roulants" ou "accès aux voitures avant".

Ce champ est obligatoire pour les emplacements qui sont des arrêts, des stations ou des entrées/sorties (dont les champs location_type portent la valeur 0, 1 ou 2 respectivement).

Ce champ est facultatif pour les emplacements qui sont des intersections génériques ou des zones d'accès aux véhicules (dont les champs location_type portent la valeur 3 ou 4 respectivement).

stop_desc Texte Facultatif Décrit un emplacement. Les informations fournies doivent être utiles et de qualité. Ne vous contentez pas de répéter le nom de l'emplacement.
stop_lat Latitude Obligatoire sous certaines conditions

Contient la latitude d'un arrêt, d'une station ou d'une entrée de station.

Ce champ est obligatoire pour les emplacements qui sont des arrêts, des stations ou des entrées/sorties (dont les champs location_type portent la valeur 0, 1 ou 2 respectivement).

Ce champ est facultatif pour les emplacements qui sont des intersections génériques ou des zones d'accès aux véhicules (dont les champs location_type portent la valeur 3 ou 4 respectivement).

stop_lon Longitude Obligatoire sous certaines conditions

Contient la longitude d'un arrêt, d'une station ou d'une entrée de station.

Ce champ est obligatoire pour les emplacements qui sont des arrêts, des stations ou des entrées/sorties (dont les champs location_type portent la valeur 0, 1 ou 2 respectivement).

Ce champ est facultatif pour les emplacements qui sont des intersections génériques ou des zones d'accès aux véhicules (dont les champs location_type portent la valeur 3 ou 4 respectivement).

zone_id ID Obligatoire sous certaines conditions Définit la zone tarifaire d'un arrêt. Ce champ est obligatoire si vous souhaitez fournir des informations tarifaires dans un fichier fare_rules.txt. Si l'enregistrement représente une station ou une entrée de station, le champ zone_id est ignoré.
stop_url URL Facultatif Contient l'URL d'une page Web qui décrit un arrêt particulier. Cette URL doit être différente de celles indiquées dans les champs agency_url et route_url.
location_type Énumération Facultatif

Définit le type de l'emplacement. Le champ location_type peut contenir les valeurs suivantes :

  • 0 ou vide : arrêt ou "plate-forme" (lieu où les usagers montent dans un véhicule de transport en commun ou en descendent). Les arrêts sont appelés "plates-formes" lorsqu'ils sont définis dans un champ parent_station.
  • 1 : station (zone ou structure physique comprenant une ou plusieurs plates-formes).
  • 2 : entrée ou sortie de station (lieu où les usagers peuvent entrer/sortir entre une station et la rue). L'entrée d'un arrêt doit également être associée à une valeur parent_station faisant référence au champ stop_id de la station principale (parent_station) qui permet de s'y rendre. Si une entrée/sortie appartient à plusieurs stations, tous les chemins correspondants sont indiqués, et le fournisseur de données peut ou non désigner une station en tant que station principale.
  • 3 : intersection générique (un emplacement dans une station qui ne correspond à aucune autre valeur location_type). Les intersections génériques permettent de relier les chemins définis dans le fichier pathways.txt.
  • 4 : zone d'accès aux véhicules (un emplacement spécifique dans une plate-forme où les usagers peuvent monter dans un véhicule ou en descendre).
parent_station ID qui fait référence à stops.stop_id Obligatoire sous certaines conditions

Si l'arrêt se situe dans une station principale, cette dernière est identifiée par le champ parent_station. Selon la combinaison des valeurs des champs parent_station et location_type, nous définissons trois types d'arrêts :

  • Un arrêt principal est une station (souvent grande) ou un terminal pouvant contenir plusieurs arrêts.
    • Le type d'emplacement est associé à la valeur 1.
    • Le champ parent_station est associé à une valeur vide, car les arrêts principaux ne peuvent pas contenir d'autres arrêts principaux.
  • Un arrêt secondaire est situé dans un arrêt principal. Il peut s'agir d'une entrée, d'une plate-forme, d'une intersection ou d'un autre chemin, tel que défini dans le fichier pathways.txt.
    • Le champ location_type est associé à la valeur 0 ou à la valeur vide.
    • Le champ parent_station contient l'ID d'arrêt associé à la station dans laquelle l'arrêt se trouve.
    • L'arrêt référencé dans le champ parent_station doit avoir pour valeur location_type=1.
  • Un arrêt isolé est situé à l'extérieur d'un arrêt principal.
    • Le type d'emplacement est associé à la valeur 0 ou à la valeur vide.
    • Le champ parent_station contient une valeur vide, car le champ parent_station ne s'applique pas à cet arrêt.
stop_timezone Time Zone Facultatif

Contient le fuseau horaire de l'emplacement correspondant. Si ce champ est omis, le système suppose que l'arrêt est situé dans le fuseau horaire spécifié par le champ agency_timezone dans le fichier agency.txt.

Lorsqu'un arrêt est associé à une station principale, son fuseau horaire est spécifié par la valeur stop_timezone de cette station principale. Si la valeur stop_timezone de la station principale n'est pas renseignée, le système suppose que le fuseau horaire des arrêts associés à cette station correspond au champ agency_timezone, même si les arrêts ont leur propre valeur stop_timezone.

En d'autres termes, si un arrêt donné est associé à une valeur parent_station, aucune valeur stop_timezone spécifiée pour cet arrêt ne sera prise en compte. Même si le fichier stop_timezone contient des valeurs stops.txt, les horaires indiqués dans le fichier stop_times.txt doivent toujours correspondre au fuseau horaire spécifié dans le champ agency_timezone du fichier agency.txt. Cela garantit que les valeurs des horaires d'un trajet sont toujours croissantes au cours du déplacement, quels que soient les fuseaux horaires traversés.

wheelchair_boarding Énumération Facultatif

Indique si l'arrêt, la station ou l'entrée de station spécifiés sont accessibles en fauteuil roulant. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : aucune information sur les aménagements en matière d'accessibilité n'est disponible pour cet arrêt.
  • 1 : au moins une partie des véhicules à cet arrêt peuvent accueillir un usager en fauteuil roulant.
  • 2 : les usagers en fauteuil roulant ne peuvent pas monter à cet arrêt.

Lorsqu'un arrêt est situé dans une station plus grande (une valeur parent_station est alors présente), le champ wheelchair_boarding de cet arrêt utilise la sémantique supplémentaire suivante :

  • 0 ou vide : la valeur wheelchair_boarding de l'arrêt est héritée de celle de la station principale (si elle existe).
  • 1 : il existe un chemin accessible en fauteuil roulant vers l'arrêt ou la plate-forme spécifiés depuis l'extérieur de la station.
  • 2 : il n'existe aucun chemin accessible en fauteuil roulant vers l'arrêt ou la plate-forme spécifiés depuis l'extérieur de la station.

Pour les entrées/sorties de station, le champ wheelchair_boarding utilise la sémantique supplémentaire suivante :

  • 0 ou vide : la valeur wheelchair_boarding de l'entrée de station est héritée de celle de la station principale (si elle existe).
  • 1 : l'entrée de la station est accessible en fauteuil roulant (par exemple, si elle comporte plusieurs étages, un ascenseur est disponible pour accéder aux différentes plates-formes).
  • 2 : il n'existe pas de chemin accessible en fauteuil roulant entre l'entrée et les plates-formes de la station.
level_id ID qui fait référence à levels.level_id Facultatif Indique à quel étage l'emplacement se trouve. Un même étage peut être spécifié pour plusieurs stations distinctes.
platform_code Texte Facultatif Fournit l'identifiant de plate-forme pour un arrêt de type plate-forme (lorsque l'arrêt se trouve dans une station). N'incluez que l'identifiant de plate-forme, tel que G ou 3. N'ajoutez pas de mots comme "plate-forme" ou "ligne", ou l'équivalent dans la langue du flux. Les utilisateurs du flux peuvent ainsi internationaliser et localiser plus facilement l'identifiant de plate-forme dans d'autres langues.

routes.txt

Fichier : Obligatoire

Définit les itinéraires des transports en commun. Un itinéraire est un ensemble de trajets présentés aux usagers comme relevant du même service.

Nom du champ Type Obligatoire Description
route_id ID Obligatoire Définit un itinéraire.
agency_id ID qui fait référence à agency.agency_id Obligatoire sous certaines conditions Définit une agence pour l'itinéraire spécifié. Ce champ est obligatoire si le fichier agency.txt de l'ensemble de données inclut des itinéraires proposés par plusieurs agences. Sinon, il est facultatif.
route_short_name Texte Obligatoire sous certaines conditions

Contient la version courte du nom d'un itinéraire. Il s'agit d'un identifiant court et abstrait (par exemple, 32, 100X ou Green) qui permet aux usagers d'identifier un itinéraire, mais qui ne donne pas d'indication sur les zones desservies.

Vous devez renseigner soit route_short_name, soit route_long_name, soit ces deux champs. Si le nom d'une route n'a pas de version courte, spécifiez une chaîne vide comme valeur pour ce champ et le nom complet dans le champ route_long_name.

route_long_name Texte Obligatoire sous certaines conditions

Contient le nom complet d'un itinéraire. Ce nom est généralement plus descriptif que la version courte indiquée dans le champ route_short_name. Il inclut souvent la destination ou le terminus de l'itinéraire.

Vous devez renseigner soit route_short_name, soit route_long_name, soit ces deux champs. Si le nom d'une route n'a pas de version longue, spécifiez une chaîne vide comme valeur pour ce champ et le nom court dans le champ route_short_name.

route_desc Texte Facultatif

Décrit un itinéraire. Ce champ doit fournir des informations utiles et de qualité. Ne vous contentez pas de répéter le nom de l'itinéraire.

Exemple : "A" trains operate between Inwood-207 St, Manhattan and Far Rockaway-Mott Ave, Queens at all times. From about 6 AM until about midnight, additional "A" trains operate between Inwood-207 St and Lefferts Blvd (trains typically alternate between Lefferts Blvd and Far Rockaway).

route_type Énumération Obligatoire

Décrit le moyen de transport utilisé pour un itinéraire. Ce champ accepte les valeurs suivantes :

  • 0 : tramway ou métro léger. Tout système de tramway circulant sur des voies souterraines ou routières dans une zone métropolitaine.
  • 1 : métro. Tout système ferroviaire souterrain circulant dans une zone métropolitaine.
  • 2 : train. Utilisé pour les trajets interurbains ou longue distance.
  • 3 : bus. Utilisé pour les lignes de bus courtes et longues distances.
  • 4 : ferry. Utilisé pour le service de bateaux courtes et longues distances.
  • 5 : tramway à traction par câble. Utilisé pour les tramways circulant sur la voie routière où le câble passe sous le véhicule.
  • 6 : télécabine ou téléphérique. Généralement utilisé pour les moyens de transport aériens tractés par un câble, la cabine étant suspendue au câble.
  • 7 : funiculaire. Tout système ferroviaire à traction par câble conçu pour les pentes raides.
route_url URL Facultatif Contient l'URL d'une page Web pour un itinéraire spécifique. Elle doit être différente de celle indiquée dans le champ agency_url.
route_color Couleur Facultatif

Dans les systèmes qui attribuent des couleurs aux itinéraires, le champ route_color définit la couleur correspondant à un itinéraire. Si aucune couleur n'est spécifiée, l'itinéraire est indiqué en blanc par défaut (FFFFFF).

Les couleurs des champs route_color et route_text_color doivent être suffisamment contrastées pour être lisibles sur un écran noir et blanc. Les techniques d'évaluation de l'accessibilité et les outils de réparation de W3C comprennent un algorithme utile pour évaluer le contraste des couleurs. Vous pouvez trouver d'autres outils en ligne qui vous aideront à choisir des couleurs contrastées, par exemple, l'application Color Contrast Check de snook.ca.

route_text_color Couleur Facultatif

Spécifie une couleur lisible pour le texte à afficher sur la couleur d'arrière-plan route_color. Si aucune couleur n'est spécifiée, le texte est affiché en noir par défaut (000000).

Les couleurs des champs route_color et route_text_color doivent être suffisamment contrastées pour être lisibles sur un écran noir et blanc. Les techniques d'évaluation de l'accessibilité et les outils de réparation de W3C comprennent un algorithme utile pour évaluer le contraste des couleurs. Vous pouvez trouver d'autres outils en ligne qui vous aideront à choisir des couleurs contrastées, par exemple, l'application Color Contrast Check de snook.ca.

route_sort_order Entier non négatif Facultatif Spécifie l'ordre dans lequel les itinéraires seront présentés aux usagers. Les itinéraires associés à une valeur route_sort_order inférieure doivent être affichés avant ceux associés à une valeur route_sort_order supérieure.

trips.txt

Fichier : Obligatoire

Définit les trajets pour chaque itinéraire. Un trajet est une série d'au moins deux arrêts desservis à des horaires précis.

Nom du champ Type Obligatoire Description
route_id ID qui fait référence à routes.route_id Obligatoire Définit un itinéraire.
service_id ID qui fait référence à calendar.service_id ou à calendar_dates.service_id Obligatoire Définit les dates auxquelles le service est disponible pour un ou plusieurs itinéraires spécifiques.
trip_id ID Obligatoire Définit un trajet.
trip_headsign Texte Facultatif

Contient le texte qui apparaît sur le panneau ou la girouette indiquant aux usagers la destination du trajet. Ce champ permet de différencier les modèles de service sur un même itinéraire.

Si le texte de la girouette change au cours d'un trajet, vous pouvez remplacer les valeurs du champ trip_headsign par celles du champ stop_headsign spécifiées dans le fichier stop_times.txt.

trip_short_name Texte Facultatif

Contient le texte affiché qui permet aux usagers d'identifier le trajet (par exemple, les numéros de train pour les trajets en train de banlieue). Si les usagers n'utilisent pas habituellement les noms de trajet, laissez ce champ vide.

Si vous fournissez une valeur trip_short_name, celle-ci doit identifier un trajet unique au cours d'une journée de service. N'utilisez pas ce champ pour indiquer les noms de destination ni pour les mentions de ligne limitée/express.

direction_id Énumération Facultatif

Indique la direction du trajet. Ce champ permet de distinguer les trajets bidirectionnels associés à une même valeur route_id. Il accepte les valeurs suivantes :

  • 0 : trajet dans un sens (trajet aller, par exemple).
  • 1 : trajet dans le sens opposé (trajet retour, par exemple)

Ce champ n'est pas utilisé pour les itinéraires : il permet de distinguer les trajets en fonction de leur direction lors de la publication des horaires. Vous pouvez indiquer des noms pour chaque sens de trajet dans le champ trip_headsign.

Par exemple, vous pouvez attribuer un nom à chacun des deux sens d'un ensemble de trajets en combinant les champs trip_headsign et direction_id. Un fichier trips.txt peut contenir les lignes suivantes pour la publication des horaires :


trip_id,...,trip_headsign,direction_id
1234,...,Airport,0
1505,...,Downtown,1
block_id ID Facultatif Identifie le bloc auquel appartient le trajet. Un bloc comprend un trajet unique ou une séquence de nombreux trajets effectués par un même véhicule. Les trajets sont regroupés dans un bloc au moyen d'une journée de service partagée et du champ block_id. Le champ block_id peut inclure des trajets associés à plusieurs journées de service, qui constituent alors des blocs distincts. Pour plus de détails, consultez les exemples de blocs et de journées de service.
shape_id ID qui fait référence à shapes.shape_id Facultatif Définit une forme géospatiale décrivant le parcours du véhicule lors d'un trajet.
wheelchair_accessible Énumération Facultatif

Indique si le trajet spécifié est aménagé pour les usagers en fauteuil roulant. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : aucune information n'est disponible sur les aménagements en matière d'accessibilité pour ce trajet.
  • 1 : le véhicule utilisé pour ce trajet peut accueillir au moins un usager en fauteuil roulant.
  • 2 : aucun usager en fauteuil roulant ne peut être accueilli lors de ce trajet.
bikes_allowed Énumération Facultatif

Indique si les vélos sont autorisés pour le trajet spécifié. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : aucune information concernant les vélos n'est disponible pour le trajet.
  • 1 : le véhicule utilisé pour ce trajet peut accueillir au moins un vélo.
  • 2 : les vélos ne sont pas autorisés pour ce trajet.

Exemple de blocs et de journées de service

Le tableau suivant montre comment créer des trajets pour un véhicule unique, ces trajets étant organisés en blocs distincts pour chaque jour de la semaine. Les heures d'arrêt correspondent à la première heure d'arrivée (arrival_time) et à la dernière heure de départ (departure_time) pour le bloc, tel qu'indiqué dans le fichier stop_times.txt.

route_id trip_id service_id block_id Heure du premier arrêt Heure du dernier arrêt
red trip_1 mon-tues-wed-thurs-fri-sat-sun red_loop 22:00:00 22:55:00
red trip_2 fri-sat-sun red_loop 23:00:00 23:55:00
red trip_3 fri-sat red_loop 24:00:00 24:55:00
red trip_4 mon-tues-wed-thurs red_loop 20:00:00 20:50:00
red trip_5 mon-tues-wed-thurs red_loop 21:00:00 21:50:00

Les remarques suivantes décrivent deux des blocs définis par le tableau ci-dessus :

  • Du vendredi soir au samedi matin, un seul véhicule effectue les trajets trip_1, trip_2 et trip_3 de 22h00 à 00h55. Le dernier trajet a lieu le samedi de 00h00 à 00h55, mais il est défini comme faisant partie de la "journée de service" du vendredi, car il a lieu de 24:00:00 à 24:55:00.

  • * Le lundi, mardi, mercredi et jeudi, un seul véhicule effectue les trajets trip_1, trip_4 et trip_5 dans un bloc compris entre 20h00 et 22h55.

stop_times.txt

Fichier : Obligatoire

Heures d'arrivée et de départ d'un véhicule à des arrêts spécifiques, pour chaque trajet.

Nom du champ Type Obligatoire Description
trip_id ID qui fait référence à trips.trip_id Obligatoire Définit un trajet.
arrival_time Heure Obligatoire sous certaines conditions

Spécifie l'heure d'arrivée à un arrêt donné pour un trajet spécifique inclus dans un itinéraire. Une heure d'arrivée doit être spécifiée pour le premier et le dernier arrêt d'un trajet.

Si les heures d'arrivée et de départ sont identiques pour un arrêt spécifique, saisissez la même valeur pour les champs arrival_time et departure_time.

Pour savoir comment saisir les heures d'arrivée aux arrêts (lorsque les véhicules respectent un horaire précis), consultez la section Repères temporels.

departure_time Heure Obligatoire sous certaines conditions

Spécifie l'heure de départ depuis un arrêt donné pour un trajet spécifique inclus dans un itinéraire. Une heure de départ doit être spécifiée pour le premier et le dernier arrêt d'un trajet, même si le véhicule ne prend pas d'usagers au dernier arrêt.

Si les heures d'arrivée et de départ sont identiques pour un arrêt spécifique, saisissez la même valeur pour les champs arrival_time et departure_time.

Pour savoir comment saisir les heures de départ depuis les arrêts (lorsque les véhicules respectent un horaire précis), consultez la section Repères temporels.

stop_id ID qui fait référence à stops.stop_id Obligatoire

Identifie l'arrêt desservi. Un même arrêt peut être desservi par plusieurs itinéraires.

Si le champ location_type est utilisé dans le fichier stops.txt, tous les arrêts référencés dans le fichier stop_times.txt doivent avoir comme valeur location_type=0. Dans la mesure du possible, les valeurs du champ stop_id doivent rester cohérentes entre les mises à jour de flux. En d'autres termes, l'arrêt A présentant une valeur stop_id=1 doit avoir la valeur stop_id=1 dans toutes les mises à jour de données ultérieures. Si un arrêt ne correspond pas à un repère temporel, utilisez les valeurs vides pour les champs arrival_time et departure_time. Pour plus de détails, consultez la section Repères temporels.

stop_sequence Entier non négatif Obligatoire

Identifie l'ordre des arrêts desservis lors d'un trajet particulier. Les valeurs du champ stop_sequence doivent augmenter à mesure du trajet, mais ne doivent pas nécessairement être consécutives.

Par exemple, le champ stop_sequence du premier arrêt du trajet peut avoir pour valeur 1, le champ stop_sequence du troisième arrêt la valeur 23, le champ stop_sequence du troisième arrêt la valeur 40, et ainsi de suite.

stop_headsign Texte Facultatif Contient le texte qui apparaît sur le panneau ou la girouette indiquant aux usagers la destination du trajet. Ce champ permet de remplacer la valeur du champ trip_headsign par défaut lorsque la girouette change entre les arrêts. Si le texte affiché sur la girouette reste le même pendant tout le trajet, utilisez plutôt le champ trip_headsign.
pickup_type Énumération Facultatif

Indique si les usagers peuvent monter dans le véhicule à un arrêt spécifique aux horaires standards ou s'ils ne sont pas accueillis à cet arrêt. Ce champ permet également à l'agence de transports publics d'indiquer aux usagers s'ils doivent la contacter ou avertir le conducteur pour pouvoir monter dans le véhicule à un arrêt particulier. Il accepte les valeurs suivantes :

  • 0 ou vide : les usagers peuvent monter aux horaires standards.
  • 1 : les usagers ne peuvent pas monter.
  • 2 : les usagers doivent téléphoner à l'agence pour pouvoir monter.
  • 3 : les usagers doivent contacter le conducteur pour pouvoir monter.
drop_off_type Énumération Facultatif

Indique si les usagers peuvent descendre à un arrêt spécifique aux horaires standards ou s'ils ne peuvent pas sortir à cet arrêt. Ce champ permet également à l'agence de transports publics d'indiquer aux usagers s'ils doivent la contacter ou avertir le conducteur pour pouvoir descendre du véhicule à un arrêt particulier. Il accepte les valeurs suivantes :

  • 0 ou vide : les usagers peuvent descendre aux horaires standards.
  • 1 : les usagers ne peuvent pas descendre.
  • 2 : les usagers doivent téléphoner à l'agence pour pouvoir descendre.
  • 3 : les usagers doivent contacter le conducteur pour pouvoir descendre.
shape_dist_traveled Flottant non négatif Facultatif

Lorsqu'il est utilisé dans le fichier stop_times.txt, le champ shape_dist_traveled positionne un arrêt en indiquant la distance qui le sépare du premier point du tracé. Le champ shape_dist_traveled représente la distance réelle parcourue lors de l'itinéraire en unités telles que les pieds ou les kilomètres.

Par exemple, si un bus parcourt une distance de 5,25 kilomètres entre le début du tracé et l'arrêt, la valeur du champ shape_dist_traveled pour l'ID de l'arrêt doit être de 5.25. Cette information permet à l'outil de planification de trajets de déterminer la portion du tracé à afficher lorsqu'une partie du trajet est indiquée sur une carte.

Les valeurs utilisées pour le champ shape_dist_traveled doivent augmenter conformément à celles du champ stop_sequence : vous ne pouvez pas les utiliser pour indiquer un trajet en sens inverse pour un itinéraire. Les unités utilisées pour le champ shape_dist_traveled dans le fichier stop_times.txt doivent être les mêmes que celles des champs du fichier shapes.txt.

timepoint Énumération Facultatif

Indique si les heures d'arrivée et de départ spécifiées pour un arrêt sont strictement respectées par le véhicule de transport en commun, ou s'il s'agit plutôt d'heures approximatives ou interpolées. Ce champ permet à l'équipe en charge du flux GTFS de fournir des heures d'arrêt interpolées. Il peut inclure des indications locales, mais doit préciser que les horaires sont approximatifs.

Lorsque les heures d'arrivée et de départ sont renseignées pour les entrées d'horaires à un arrêt, les valeurs acceptées dans ce champ sont les suivantes :

  • 0 : les horaires sont considérés comme approximatifs.
  • 1 ou vide : les horaires sont considérés comme exacts.

Lorsque les heures d'arrivée et de départ ne sont pas renseignées pour les entrées d'horaires à un arrêt, les utilisateurs du flux doivent interpoler les heures d'arrivée et de départ. S'ils le souhaitent, les producteurs de flux peuvent spécifier que ces entrées ne sont pas des repères temporels (avec la valeur timepoint=0). En revanche, ils ne doivent pas indiquer qu'elles constituent des repères temporels (avec la valeur timepoint=1) sans préciser les heures d'arrivée et de départ.

Repères temporels

Les repères temporels correspondent à des arrêts planifiés où le véhicule respecte scrupuleusement les heures d'arrivée et de départ spécifiées. Par exemple, si un véhicule de transport en commun arrive à un arrêt avant l'heure de départ prévue, il patiente afin de ne pas partir à l'avance.

Si un arrêt donné ne correspond pas à un repère temporel, utilisez soit une valeur de chaîne vide pour les champs arrival_time ou departure_time, soit un horaire interpolé. Pour préciser que les horaires fournis sont interpolés, utilisez la valeur 0 pour le champ timepoint. Si vous procédez de cette manière, vous devez spécifier la valeur timepoint=1 pour les horaires qui correspondent à des repères temporels.

Fournissez toutes les heures d'arrivée et de départ aux arrêts qui constituent des repères temporels.

calendar.txt

Fichier : Obligatoire sous certaines conditions

Définit les dates auxquelles le service est disponible pour des itinéraires spécifiques. Ce fichier utilise un horaire hebdomadaire. Il spécifie les dates de début et de fin du service, ainsi que les jours de la semaine où il est proposé. Ce fichier est obligatoire, sauf si toutes les dates de service sont définies dans le fichier calendar_dates.txt.

Nom du champ Type Obligatoire Description
service_id ID Obligatoire Définit de façon unique les dates auxquelles le service est disponible pour un ou plusieurs itinéraires spécifiques. Chaque valeur du champ service_id peut apparaître au maximum une fois dans un fichier calendar.txt. Cette valeur est référencée par le fichier trips.txt.
monday Énumération Obligatoire

Indique si le service est proposé tous les lundis de la plage de dates spécifiée par les champs start_date et end_date. Ce champ accepte les valeurs suivantes :

  • 1 : le service est disponible tous les lundis de la plage de dates.
  • 0 : le service n'est pas disponible les lundis de la plage de dates.
tuesday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les mardis.
wednesday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les mercredis.
thursday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les jeudis.
friday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les vendredis.
saturday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les samedis.
sunday Énumération Obligatoire Fonctionne comme le champ monday, mais pour les dimanches.
start_date Date Obligatoire Contient la date de début du service.
end_date Date Obligatoire Contient la date de fin du service. Cette date est incluse dans l'intervalle de service.

calendar_dates.txt

Fichier : Obligatoire sous certaines conditions

Le fichier calendar_dates vous permet d'activer ou de désactiver explicitement un service par date. Vous pouvez l'utiliser de deux manières différentes :

  • Méthode recommandée : Utilisez le fichier calendar_dates.txt pour créer des exceptions aux catégories de service par défaut définies dans le fichier calendar.txt. Cette approche est adaptée si votre service est régulier et ne comporte que quelques exceptions à des dates précises (selon le calendrier scolaire ou lors d'événements spéciaux). Dans ce cas, la valeur du champ calendar_dates.service_id est un ID qui fait référence au champ calendar.service_id.

  • Autre méthode : Omettez le fichier calendar.txt et incluez chaque date de service dans le fichier calendar_dates.txt. Cette approche peut s'avérer plus judicieuse si vos horaires sont variables la plupart des jours du mois ou si vous souhaitez générer les dates de services via un outil programmatique sans indiquer d'horaire hebdomadaire habituel. Dans ce cas, la valeur du champ service_id est un ID.

Nom du champ Type Obligatoire Description
service_id ID qui fait ou non référence à calendar.service_id Obligatoire

Définit les dates auxquelles le service est exceptionnellement disponible pour un ou plusieurs itinéraires spécifiques. Chaque paire (service_id, date) ne peut apparaître qu'une seule fois dans le fichier calendar_dates.txt.

Si la même valeur service_id apparaît dans les fichiers calendar.txt et calendar_dates.txt, les informations contenues dans le fichier calendar_dates.txt remplacent celles indiquées pour le service dans le fichier calendar.txt.

Ce champ est référencé par le fichier trips.txt.

date Date Obligatoire Spécifie une date particulière à laquelle le service proposé est différent du service standard. Le champ exception_type permet d'indiquer si le service est disponible à la date spécifié.
exception_type Énumération Obligatoire

Indique si le service est disponible à la date spécifiée dans le champ date. Ce champ accepte les valeurs suivantes :

  • 1 : le service a été ajouté à la date spécifiée.
  • 2 : le service a été supprimé à la date spécifiée.

Prenons l'exemple d'un itinéraire qui propose un ensemble de trajets les jours fériés et un autre ensemble de trajets tous les autres jours. Vous pouvez alors définir un champ service_id correspondant aux horaires de service standard et un autre champ service_id correspondant aux horaires pendant les jours fériés. Pour chaque jour férié, dans le fichier calendar_dates.txt, vous définissez la date concernée dans le champ service_id correspondant, et supprimez cette même date des horaires standards du champ service_id.

fare_attributes.txt

Fichier : facultatif

Définit les informations tarifaires pour les itinéraires d'une agence de transports publics.

Nom du champ Type Obligatoire Description
fare_id ID Obligatoire Identifie une classe tarifaire.
price Flottant non négatif Obligatoire Contient le tarif du titre de transport dans la devise spécifié dans le champ currency_type.
currency_type Code de devise Obligatoire Définit la devise utilisée pour régler le titre de transport.
payment_method Énumération Obligatoire

Indique à quel moment le titre de transport doit être réglé. Ce champ accepte les valeurs suivantes :

  • 0 : les usagers achètent le titre de transport lorsqu'ils montent dans le véhicule.
  • 1 : les usagers doivent acheter le titre de transport avant de monter dans le véhicule.
transfers Énumération Obligatoire

Spécifie le nombre de correspondances autorisées pour ce tarif. Contrairement aux autres champs obligatoires, ce champ spécifique peut rester vide. Il accepte les valeurs suivantes :

  • 0 : aucune correspondance n'est autorisée pour ce tarif.
  • 1 : une correspondance est autorisée pour ce tarif.
  • 2 : deux correspondances sont autorisées pour ce tarif.
  • vide : un nombre de correspondances illimité est autorisé pour ce tarif.
agency_id ID qui fait référence à agency.agency_id Obligatoire sous certaines conditions

Identifie l'agence qui définit le tarif.

Ce champ est obligatoire pour les ensembles de données comprenant plusieurs agences dans le fichier agency.txt. Dans les autres cas, il est facultatif.

transfer_duration Entier non négatif Facultatif Spécifie la durée, en secondes, avant l'expiration d'une correspondance. Si vous avez défini un champ transfers avec la valeur 0, le champ transfer_duration indique la durée de validité du titre de transport sans correspondance autorisée. Omettez le champ transfer_duration ou utilisez une valeur vide lorsque le champ transfers est défini sur 0, sauf si vous souhaitez indiquer la durée de validité du titre de transport.

fare_rules.txt

Fichier : facultatif

Le fichier fare_rules.txt vous permet de spécifier la manière dont les tarifs définis dans le fichier fare_attributes.txt s'appliquent à un itinéraire. La plupart des structures tarifaires utilisent une combinaison des règles suivantes :

  • Le tarif dépend des stations de départ ou d'arrivée.
  • Le tarif dépend des zones traversées pendant le trajet.
  • Le tarif dépend de l'itinéraire parcouru.

Pour obtenir des exemples illustrant une structure tarifaire avec les fichiers fare_rules.txt et fare_attributes.txt, consultez la rubrique FareExamples dans le wiki du projet Open Source GoogleTransitDataFeed.

Nom du champ Type Obligatoire Description
fare_id ID qui fait référence à fare_attributes.fare_id Obligatoire Identifie une classe tarifaire.
route_id ID qui fait référence à routes.routes_id Facultatif

Associe la classe tarifaire à un itinéraire. Si plusieurs de vos itinéraires présentent les mêmes attributs de tarif, créez une ligne dans le fichier fare_rules.txt pour chaque itinéraire.

Par exemple, si la classe tarifaire "b" s'applique aux itinéraires "TSW" et "TSE", le fichier fare_rules.txt contiendra les lignes suivantes pour la classe tarifaire :


fare_id,route_id
b,TSW
b,TSE
origin_id ID qui fait référence à stops.zone_id Facultatif

Associe la classe tarifaire à une valeur zone_id de provenance. Si plusieurs zones de provenance présentent les mêmes attributs de tarif, créez une ligne dans le fichier fare_rules.txt pour chaque valeur origin_id.

Si, par exemple, la classe tarifaire "b" s'applique à tous les trajets en provenance de la zone "2" ou "8", le fichier fare_rules.txt contiendra ces lignes pour la classe tarifaire :


fare_id,...,origin_id
b,...,2
b,...,8
destination_id ID qui fait référence à stops.zone_id Facultatif

Associe la classe tarifaire à une zone_id de destination. Si plusieurs zones de destination présentent les mêmes attributs de tarif, créez une ligne dans le fichier fare_rules.txt pour chaque valeur destination_id.

Par exemple, vous pouvez utiliser un champ origin_ID avec un champ destination_ID pour préciser que la classe tarifaire "b" est valable pour les trajets entre les zones "3" et "4", et pour les trajets entre les zones "3" et "5". Dans ce cas, le fichier fare_rules.txt contiendra les lignes suivantes pour la classe tarifaire:


fare_id,...,origin_id,destination_id
b,...,3,4
b,...,3,5
contains_id ID qui fait référence à stops.zone_id Facultatif

Identifie les zones que l'usager traverse pour une classe tarifaire donnée. Dans certains systèmes, la classe tarifaire est calculée selon cette information.

Par exemple, si la classe tarifaire "c" est associée à tous les trajets de l'itinéraire GRT qui traversent les zones "5", "6" et "7", le fichier fare_rules.txt contiendra les lignes suivantes :


zone_id,route_id,...,contains_id
c,GRT,,,5
c,GRT,,,6
c,GRT,,,7

Étant donné que l'itinéraire doit traverser toutes les zones du champ contains_id pour que le tarif s'applique, s'il passe par les zones "5" et "6", mais pas par la zone "7", la classe tarifaire "c" ne s'applique pas. Pour plus de détails, consultez la rubrique FareExample dans le wiki du projet GoogleTransitDataFeed.

shapes.txt

Fichier : facultatif

Les tracés décrivent le parcours physique emprunté par un véhicule. Ils sont définis dans le fichier shapes.txt. Les tracés sont associés à des trajets individuels. Ils sont représentés par une séquence de points. Le parcours du véhicule suit ces points. Les points peuvent ne pas être positionnés aux emplacements des arrêts.

Nom du champ Type Obligatoire Description
shape_id ID Obligatoire Identifie un tracé.
shape_pt_lat Latitude Obligatoire Associe la latitude d'un point du tracé à un ID de tracé. Chaque ligne de shapes.txt représente un point utilisé pour définir le tracé.
shape_pt_lon Longitude Obligatoire Associe la longitude d'un point du tracé à un ID de tracé. Chaque ligne de shapes.txt représente un point utilisé pour définir le tracé.
shape_pt_sequence Entier non négatif Obligatoire

Associe la latitude et la longitude d'un point à sa position dans la séquence de points du tracé. Les valeurs du champ shape_pt_sequence doivent augmenter à mesure du trajet, mais ne doivent pas nécessairement être consécutives.

Par exemple, si le tracé "A_shp" est défini par trois points, le fichier shapes.txt contiendra ces lignes pour définir le tracé :


shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_dist_traveled Flottant non négatif Facultatif

Fournit la distance réelle parcourue le long du tracé entre les premier et dernier points spécifiés dans cet enregistrement. Cette information permet à l'outil de planification de trajets de déterminer la portion du tracé à afficher lorsqu'une partie du trajet est indiquée sur une carte. Les valeurs utilisées pour le champ shape_dist_traveled doivent augmenter conformément à celles du champ shape_pt_sequence : vous ne pouvez pas les utiliser pour indiquer un trajet en sens inverse pour un itinéraire.

Les unités utilisées pour le champ shape_dist_traveled du fichier shapes.txt doivent être les mêmes que celles utilisées pour ce champ dans le fichier stop_times.txt.

Par exemple, si un bus passe par trois points définis pour le tracé "A_shp", les valeurs supplémentaires du champ shape_dist_traveled (indiquées ici en kilomètres) se présentent comme suit :


shape_id,shape_pt_lat,shape_pt_lon,shape_pt_sequence,shape_dist_traveled
A_shp,37.61956,-122.48161,0,0
A_shp,37.64430,-122.41070,6,6.8310
A_shp,37.65863,-122.30839,11,15.8765

frequencies.txt

Fichier : facultatif

Le fichier frequencies.txt contient les trajets effectués à intervalles réguliers ou les laps de temps entre les trajets. Vous pouvez inclure deux types de service différents :

  • Un service basé sur la fréquence (avec la valeur exact_times=0). Ce type de service n'a pas d'horaire précis dans la journée. Les opérateurs s'efforcent de respecter un intervalle prédéterminé entre les trajets.

  • Une représentation compressée d'un service basé sur des horaires (avec la valeur exact_times=1). Ce type de service effectue des trajets à intervalles fixes sur une période spécifiée. Pour un service basé sur des horaires, les opérateurs s'efforcent de respecter strictement un planning.

Nom du champ Type Obligatoire Description
trip_id ID qui fait référence à trips.trip_id Obligatoire Identifie un trajet auquel la fréquence de service spécifiée s'applique.
start_time Heure Obligatoire Indique l'heure à laquelle le premier véhicule part du premier arrêt du trajet à la fréquence spécifiée.
end_time Heure Obligatoire Indique l'heure à laquelle le service passe à une fréquence de passage différente ou cesse d'être assuré à partir du premier arrêt du trajet.
headway_secs Entier non négatif Obligatoire

Indique le laps de temps en secondes entre les départs depuis un même arrêt (appelé "intervalle entre les trajets") pour ce type de trajets. Il s'applique pendant la période spécifiée par les champs start_time et end_time.

Pour un même trajet, vous pouvez spécifier plusieurs intervalles entre les passages, mais ils ne doivent pas se chevaucher. Cependant, une période d'intervalle peut commencer exactement à la même heure qu'une autre.

exact_times Énumération Facultatif

Indique si les trajets basés sur la fréquence respectent un horaire précis basé sur les informations d'intervalle de passage spécifiées. Pour plus de détails, référez-vous à la description du fichier frequencies.txt. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : trajets basés sur la fréquence ne respectant pas un horaire exact.
  • 1 : trajets basés sur des horaires et effectués à intervalles fixes pendant la journée. Dans ce cas, la valeur end_time doit être supérieure à la valeur start_time du dernier trajet concerné, mais inférieure à la somme des valeurs start_time + headway_secs de ce trajet.

transfers.txt

Fichier : facultatif

Lors du calcul d'un itinéraire, les applications qui utilisent le flux GTFS interpolent les correspondances sur la base du temps allouable et de la proximité de l'arrêt. Le fichier transfers.txt spécifie des règles et des valeurs de remplacement supplémentaires pour les correspondances sélectionnées.

Nom du champ Type Obligatoire Description
from_stop_id ID qui fait référence à stops.stop_id Obligatoire Identifie l'arrêt ou la station de départ pour une liaison entre deux itinéraires. Si ce champ fait référence à une station, la règle de correspondance s'applique à tous ses arrêts qui font partie de la station.
to_stop_id ID qui fait référence à stops.stop_id Obligatoire Identifie l'arrêt ou la station d'arrivée pour une liaison entre deux itinéraires. Si ce champ fait référence à une station, la règle de correspondance s'applique à tous ses arrêts qui font partie de la station.
transfer_type Énumération Obligatoire

Indique le type de liaison pour la paire (from_stop_id, to_stop_id) spécifiée. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : point de correspondance recommandé entre deux itinéraires.
  • 1 : point de correspondance temporisé entre deux itinéraires. Le véhicule qui part doit attendre celui qui arrive et laisser suffisamment de temps pour que les usagers puissent effectuer la correspondance.
  • 2 : correspondance nécessitant un délai minimal entre l'arrivée et le départ pour assurer la liaison. Ce délai est spécifié dans le champ min_transfer_time.
  • 3 : aucune correspondance possible entre deux itinéraires à cet emplacement.
min_transfer_time Entier non négatif Facultatif Définit le délai (en secondes) devant être accordé lors d'un voyage pour permettre une correspondance entre deux itinéraires aux arrêts spécifiés. La valeur du champ min_transfer_time doit être suffisante pour permettre à un usager standard de parcourir la distance qui sépare deux arrêts, et prévoir une marge pour tenir compte des variations éventuelles des horaires prévus.

pathways.txt

Fichier : facultatif

Le fichier pathways.txt permet de représenter la disposition d'une station sous forme graphique. Pour accéder à une intersection de type plate-forme à partir d'une intersection de type entrée, l'usager doit traverser des voies piétonnes, des portes de validation du titre de transport, des escaliers ou d'autres chemins, qui sont représentés sous forme de bordures dans le graphique.

La liste des chemins spécifiés dans le fichier pathways.txt doit répertorier de manière exhaustive tous les parcours possibles au sein d'une station donnée. S'il manque un chemin entre les intersections A et B, cela signifie qu'il n'existe aucune liaison directe de l'une à l'autre. Par conséquent, les règles suivantes s'appliquent :

  • Pas d'emplacement sans chemin : si vous définissez un chemin vers un emplacement dans une station, vous devez également en définir pour tous les autres emplacements (sauf pour les plates-formes qui comportent des zones d'accès aux véhicules).

  • Pas de plate-forme isolée : chaque plate-forme doit être reliée à au moins une entrée par une série de chemins.

  • Pas de chemin vers une plate-forme comportant des zones d'accès aux véhicules : ces plates-formes sont considérées comme des emplacements principaux, et non comme des intersections. Vous ne pouvez pas leur attribuer de chemin. Tous les chemins doivent mener aux zones d'accès aux véhicules.

Nom du champ Type Obligatoire Description
pathway_id ID Obligatoire Identifie le chemin. Plusieurs chemins peuvent relier une même paire (from_stop_id, to_stop_id). Par exemple, c'est le cas lorsque deux escaliers mécaniques côte à côte vont dans des directions opposées, ou lorsqu'un même emplacement est accessible via un escalier et un ascenseur.
from_stop_id ID qui fait référence à stops.stop_id Obligatoire Définit l'emplacement de départ du chemin. Il contient un champ stop_id qui identifie une plate-forme, une entrée/sortie, une intersection générique ou une zone d'accès aux véhicules à partir du fichier stops.txt.
to_stop_id ID qui fait référence à stops.stop_id Obligatoire Définit l'emplacement d'arrivée du chemin. Il contient un champ stop_id qui identifie une plate-forme, une entrée/sortie, une intersection générique ou une zone d'accès aux véhicules à partir du fichier stops.txt.
pathway_mode Énumération Obligatoire

Spécifie le type de chemin pour la paire (from_stop_id, to_stop_id) spécifiée. Ce champ accepte les valeurs suivantes :

  • 1 : voie piétonne
  • 2 : escalier
  • 3 : tapis roulant
  • 4 : escalier mécanique
  • 5 : ascenseur
  • 6 : porte de validation du titre de transport (ou de paiement). Un chemin qui traverse une zone de la station dans laquelle une preuve de paiement est exigée. Généralement, il s'agit d'une porte physique de paiement.

    Les portes de validation du titre de transport peuvent séparer les zones de la station réservées aux usagers des zones publiques, ou séparer différentes zones de paiement au sein de la même station. Ces informations peuvent être utilisées pour guider les usagers dans les stations sans qu'ils n'aient à s'acquitter inutilement de frais.

  • 7 : porte de sortie. Chemin emprunté par les usagers pour quitter une zone dans laquelle une preuve de paiement est exigée afin de se rendre dans une zone publique.
is_bidirectional Énumération Obligatoire

Indique dans quel sens les usagers peuvent emprunter le chemin. Ce champ accepte les valeurs suivantes :

  • 0 : chemin unidirectionnel. Les usagers ne peuvent l'emprunter que pour aller de from_stop_id à to_stop_id.
  • 1 : chemin bidirectionnel. Les usagers peuvent l'emprunter dans les deux sens.

Les portes de validation du titre de transport (pathway_mode=6) et les portes de sortie (pathway_mode=7) ne peuvent pas être bidirectionnelles.

length Flottant non négatif Facultatif

Spécifie la longueur du chemin en mètres, dans le sens horizontal. La longueur est mesurée à partir de l'emplacement de départ, défini dans le champ from_stop_id, jusqu'à l'emplacement de destination, défini dans le champ to_stop_id.

Ce champ est recommandé pour les voies piétonnes, les portes de validation du titre de transport et les portes de sortie (lorsque le champ pathway_mode est associé aux valeurs 1, 6 et 7 respectivement).

traversal_time Entier positif Facultatif

Spécifie le temps moyen nécessaire pour parcourir le chemin. Ce champ accepte les valeurs suivantes :

  • Vide : temps de parcours inconnu.
  • Entier positif : nombre de secondes nécessaires pour parcourir ce chemin à pied.

Ce champ est recommandé pour les chemins mécaniques, par exemple, les tapis roulants, les escaliers mécaniques et les ascenseurs (lorsque le champ pathway_mode est associé aux valeurs 3, 4 et 5 respectivement).

stair_count Entier non nul Facultatif

Spécifie le nombre de marches d'escalier à gravir sur le chemin. Une valeur positive dans le champ stair_count signifie que les usagers doivent monter pour se rendre de l'emplacement from_stop_id à to_stop_id. Une valeur négative dans le champ stair_count signifie que les usagers doivent descendre pour se rendre de l'emplacement from_stop_id à to_stop_id.

Ce champ est recommandé pour les chemins qui comportent des escaliers et des escaliers mécaniques (lorsque le champ pathway_mode est associé aux valeurs 2 et 4 respectivement).

Nous vous recommandons de considérer qu'un étage correspond approximativement à 15 marches d'escalier (ou 12 marches d'escalier mécanique).

max_slope Flottant Facultatif

Spécifie la pente maximale du chemin exprimée en pourcentage. Ce champ accepte les valeurs suivantes :

  • 0 ou vide : pas de pente.
  • Nombre à virgule flottante : pourcentage de pente du chemin, positif pour une montée et négatif pour une descente.

N'utilisez ce champ que pour les voies piétonnes et les tapis roulants, lorsque le champ pathway_mode est associé aux valeurs 1 et 3 respectivement.

Par exemple, la valeur de pente maximale autorisée pour que le chemin soit accessible aux personnes en fauteuil roulant est de 0,083 aux États-Unis (ce qui correspond à 8,3 %). Cela signifie qu'il y a un dénivelé positif de 0,083 m par tranches de 1 m horizontalement.

min_width Flottant positif Facultatif

Contient la largeur minimale du chemin, en mètres.

Ce champ est vivement recommandé si la largeur minimale est inférieure à un mètre.

signposted_as Texte Facultatif Contient une chaîne de texte correspondant exactement aux panneaux affichés auprès les usagers des transports en commun. Ce texte peut être utilisé pour fournir des indications aux usagers. Ce champ doit comprendre le texte exactement tel qu'il est affiché sur les panneaux, sans traduction.
reversed_signposted_as Texte Facultatif Ce champ est identique à signposted_as, mais il est utilisé lorsque le chemin est parcouru en sens inverse, c'est-à-dire de l'arrêt to_stop_id à l'arrêt from_stop_id.

levels.txt

Fichier : facultatif

Décrit les différents étages d'une station. Le fichier levels.txt est pertinent surtout lorsqu'il est combiné au fichier pathways.txt.

Nom du champ Type Obligatoire Description
level_id ID Obligatoire Identifie l'étage de la station.
level_index Flottant Obligatoire

Indique la position de cet étage par rapport aux autres. Les étages associés à des indices plus élevés sont considérés comme situés au-dessus de ceux associés à des indices plus faibles.

L'indice 0 indique le rez-de-chaussée. Les étages au-dessus du niveau du sol sont indiqués par des indices positifs, et les étages souterrains par des indices négatifs.

level_name Texte Facultatif

Indique le nom de l'étage. La valeur doit correspondre au nom indiqué dans le bâtiment ou la station (qu'il s'agisse de lettres ou de chiffres).

Ce champ permet de guider les usagers dans un ascenseur, par exemple, en leur demandant d'accéder à l'étage "Mezzanine", "Plates-formes" ou "-1".

feed_info.txt

Fichier : facultatif

Le fichier feed_info.txt contient des informations sur le flux lui-même, et non sur les services décrits. Les flux GTFS contiennent un fichier agency.txt qui fournit des informations sur les agences qui exploitent les services décrits. Cependant, l'éditeur du flux peut parfois être une entité qui ne correspond à aucune des agences (dans le cas des agrégateurs régionaux, par exemple). En outre, certains champs contiennent des paramètres qui concernent directement le flux plutôt que l'agence.

Nom du champ Type Obligatoire Description
feed_publisher_name Texte Obligatoire Contient le nom complet de l'organisation qui publie l'ensemble de données. Ce champ peut correspondre à l'une des valeurs du champ agency_name du fichier agency.txt.
feed_publisher_url URL Obligatoire Contient l'URL du site Web de l'organisation qui publie l'ensemble de données. Ce champ peut correspondre à l'une des valeurs du champ agency_url du fichier agency.txt.
feed_lang Code de langue Obligatoire Spécifie la langue utilisée par défaut pour le texte dans cet ensemble de données. Ce paramètre aide les utilisateurs GTFS à définir les règles relatives à l'emploi des majuscules et d'autres paramètres spécifiques à la langue pour le flux.
feed_start_date Date Facultatif

L'ensemble de données fournit des informations complètes et fiables sur les horaires du le service dans la période allant du début du jour feed_start_date à la fin du jour feed_end_date .

Si vous renseignez une valeur pour les champs feed_end_date et feed_start_date, la date de fin ne doit pas précéder la date de début. Nous recommandons aux fournisseurs d'ensembles de données d'ajouter des informations sur les horaires en dehors de cette période pour informer les usagers des services pour les périodes à venir. Toutefois, les utilisateurs de l'ensemble de données doivent être conscients que ces renseignements ne sont fournis qu'à titre indicatif.

Si des dates calendaires actives comprises dans la période définie par les champs feed_start_date et feed_end_date sont omises dans les fichiers calendar.txt et calendar_dates.txt, vous indiquez explicitement qu'aucun service n'est assuré à ces dates. Autrement dit, les fichiers calendar.txt et calendar_dates.txt sont considérés comme répertoriant toutes les dates pendant lesquelles le service est assuré.

feed_end_date Date Facultatif Pour en savoir plus sur ce champ, consultez la rubrique feed_start_date ci-dessus.
feed_version Texte Facultatif Indique la version actuelle de l'ensemble de données GTFS sous forme de chaîne. Les applications utilisant GTFS peuvent afficher cette valeur afin que les éditeurs de flux puissent déterminer si la dernière version de leur flux a été intégrée.
feed_contact_email E-mail Facultatif Indique l'adresse e-mail utilisée pour les échanges concernant l'ensemble de données GTFS et les pratiques de publication des données. Le champ feed_contact_email fournit un contact technique pour les personnes en charge d'applications utilisant GTFS. Les coordonnées du service client doivent être renseignées dans les champs du fichier agency.txt.
feed_contact_url URL Facultatif Fournit une URL permettant d'accéder aux coordonnées, à un formulaire Web, au service d'assistance ou à tout autre outil de communication sur l'ensemble de données GTFS et les pratiques de publication des données. Le champ feed_contact_url fournit un contact technique pour les personnes en charge d'applications utilisant GTFS. Les coordonnées du service client doivent être renseignées dans les champs du fichier agency.txt.