Aperçu

Références générales sur les spécifications GTFS (General Transit Feed Specification)

Ce document décrit les types de fichiers qui constituent un flux GTFS et définit les champs utilisés dans l'ensemble de ces fichiers.

Sommaire

  1. Définition des termes
  2. Fichiers de flux
  3. Conditions requises pour les fichiers
  4. Définition des champs

Définition des termes

Cette section définit les termes qui sont utilisés dans ce document.

  • Champ obligatoire : vous devez inclure la colonne de champ dans votre flux et indiquer une valeur pour chaque enregistrement. Certains champs obligatoires peuvent contenir une chaîne vide. Pour saisir une chaîne vide dans un champ spécifique, il vous suffit de ne pas entrer de texte entre les virgules. Sachez que 0 est considéré comme "une chaîne de valeur 0" et ne constitue donc pas une chaîne vide. Veuillez consulter la définition des champs pour en savoir plus.
  • Champ facultatif : vous pouvez omettre la colonne de champ dans votre flux. Si vous choisissez d'inclure une colonne facultative, chaque enregistrement de votre flux doit présenter une valeur correspondant à cette colonne. Une chaîne vide peut être indiquée en tant que valeur pour les enregistrements qui ne présentent pas de valeur pour cette colonne. Certains champs facultatifs peuvent contenir une chaîne vide. Pour saisir une chaîne vide dans un champ spécifique, il vous suffit de ne pas entrer de texte entre les virgules. Sachez que 0 est considéré comme "une chaîne de valeur 0" et ne constitue donc pas une chaîne vide.
  • Ensemble de données unique : le champ contient une valeur qui correspond à une seule entité distincte de la colonne. Par exemple, si l’identifiant 1A est attribué à un itinéraire, alors aucun autre itinéraire ne peut utiliser cet identifiant. Cependant, vous pouvez attribuer l'identifiant 1A à un lieu, car les lieux constituent une autre entité que les itinéraires.

Fichiers de flux

Cette spécification définit les fichiers suivants, ainsi que leur contenu associé :

Nom du fichier Obligatoire Définit
agency.txt Obligatoire Une ou plusieurs agences de transports en commun qui fournissent les données de ce flux.
stops.txt Obligatoire Lieux spécifiques où les passagers montent ou descendent des véhicules.
routes.txt Obligatoire Itinéraires en 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 Trajets pour chaque itinéraire. Un trajet est une série d'au moins deux arrêts desservis à une heure précise.
stop_times.txt Obligatoire Heures d'arrivée et de départ d'un véhicule depuis des arrêts spécifiques, pour chaque trajet.
calendar.txt Obligatoire Dates pour les identifiants de service selon un horaire hebdomadaire. Indiquez quand le service commence et s'arrête, ainsi que les jours de semaine pendant lesquels le service est proposé.
calendar_dates.txt Facultatif Exceptions pour les identifiants de service définis dans le fichier calendar.txt. Si le fichier calendar.txt inclut TOUTES les dates de service, ce fichier peut remplacer calendar.txt.
fare_attributes.txt Facultatif Informations tarifaires des itinéraires d'une agence de transports en commun.
fare_rules.txt Facultatif Règles relatives à l'application des informations tarifaires concernant les itinéraires d'une agence de transports en commun.
shapes.txt Facultatif Règles relatives aux tracés des trajets sur une carte, pour représenter les itinéraires d'une agence de transports en commun.
frequencies.txt Facultatif Durée entre les trajets pour les itinéraires présentant une fréquence de service variable.
transfers.txt Facultatif Règles de correspondance aux pôles de correspondance entre des itinéraires.
feed_info.txt Facultatif Informations supplémentaires sur le flux lui-même, y compris des renseignements sur l'éditeur, la version et la date d'expiration.

Conditions requises 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 sous la forme d'une liste de 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 à l'un des fichiers d'un flux de données de transports en commun et répertorie les noms de champ que vous pouvez utiliser dans ce fichier.
  • Tous les noms de champ doivent respecter la distinction entre majuscules et minuscules.
  • Les valeurs des champs ne doivent 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, tout guillemet figurant dans une valeur de champ doit être précédé d'un guillemet. Les fichiers CSV générés par Microsoft Excel respectent ces exigences. Pour en savoir plus sur le format de fichier CSV, consultez la page http://tools.ietf.org/html/rfc4180. L'exemple suivant illustre la présentation d'une valeur de champ dans un fichier de valeurs séparées par une virgule :
  • Valeur de champ d'origine : Contains "quotes", commas and text
  • Valeur de champ dans un 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.
  • Les fichiers doivent être codés au format UTF-8 pour être compatibles avec tous les caractères Unicode. Les fichiers qui contiennent le caractère Unicode BOM (byte-order mark) sont acceptés. Veuillez consulter la FAQ Unicode pour en savoir plus sur le caractère BOM et le format UTF-8.
  • Compressez vos fichiers dans un fichier zip.

Définition des champs

agency.txt

Fichier : Obligatoire

Nom du champ Obligatoire Détails
agency_id Facultatif Le champ agency_id identifie de manière unique une agence de transports en commun. Un flux de données de transports en commun peut représenter des données provenant de plusieurs agences. Le champ agency_id constitue un ensemble de données unique. Ce champ est facultatif pour les flux de données de transports en commun qui contiennent uniquement les données d'une seule agence.
agency_name Obligatoire Le champ agency_name contient le nom complet de l'agence de transports en commun. Ce nom s'affichera dans Google Maps.
agency_url Obligatoire Le champ agency_url contient l'URL de l'agence de transports en commun. La valeur doit être une URL complète qui inclut http:// ou https://. Tout caractère spécial indiqué dans l'URL doit être correctement échappé. Consultez la page http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
agency_timezone Obligatoire Le champ agency_timezone contient le fuseau horaire de l'agence de transports en commun. Les noms de fuseau horaire ne doivent jamais contenir de caractère d'espacement. Les traits de soulignement sont cependant acceptés. Veuillez consulter la page http://en.wikipedia.org/wiki/List_of_tz_zones pour obtenir la liste des valeurs correctes. Si plusieurs agences sont indiquées dans le flux, le champ agency_timezone doit être le même pour chacune d'entre elles.
agency_lang Facultatif Le champ agency_lang contient un code ISO 639-1 à deux lettres, désignant la langue principalement utilisée par l'agence de transports en commun. Le code de langue n'est pas sensible à la casse (fr et FR sont tous les deux acceptés). Ce paramètre définit les règles relatives à l'emploi des majuscules et d'autres éléments spécifiques à la langue pour l'ensemble du texte contenu dans le flux de l'agence de transports en commun. Veuillez consulter la page http://www.loc.gov/standards/iso639-2/php/code_list.php pour obtenir la liste des valeurs correctes.
agency_phone Facultatif Le champ agency_phone contient un seul numéro de téléphone pour l'agence définie. Ce champ est une valeur de chaîne qui indique le numéro de téléphone habituel pour la zone desservie par l'agence. Il est censé contenir des signes de ponctuation permettant de regrouper les chiffres du numéro. Le texte accessible par l'automatique (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 Facultatif Le champ agence_fare_url indique l'URL d'une page Web qui permet à un usager d'acheter des tickets ou des cartes de transport en ligne auprès de cette agence. La valeur doit être une URL complète qui inclut http:// ou https://. Tout caractère spécial indiqué dans l'URL doit être correctement échappé. Consultez la page http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
agency_email Facultatif Ce champ contient une seule adresse e-mail valide consultée régulièrement par le service client de l'agence. Cette adresse e-mail est considérée comme 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

Nom du champ Obligatoire Détails
stop_id Obligatoire Le champ stop_id permet d'identifier de manière unique un arrêt, une station ou une entrée de station. Le même arrêt peut être desservi par plusieurs itinéraires. Le champ stop_id est utilisé par les systèmes en tant qu'identifiant interne de cet enregistrement (par exemple, la clé primaire dans une base de données). De ce fait, le champ stop_id doit être un ensemble de données unique.
stop_code Facultatif Le champ stop_code vous permet de définir un nombre ou quelques lettres permettant aux usagers d'identifier l'arrêt de manière unique. 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 permettre aux usagers d'accéder plus facilement aux horaires d'un arrêt ou aux informations en temps réel sur l'arrivée à un arrêt spécifique. Le champ stop_code vous permet de définir un nombre ou quelques lettres permettant aux usagers d'identifier l'arrêt de manière unique. Le champ stop_code peut être similaire au champ stop_id s'il est affiché aux passagers. Ce champ doit être vide pour les arrêts dont le code n'est pas présenté aux passagers.
stop_name Obligatoire Le champ stop_name contient le nom d'un arrêt, d'une station ou d'une entrée de station. Veuillez utiliser un nom compréhensible pour les locaux et les touristes.
stop_desc Facultatif Le champ stop_desc contient une description de l'arrêt. Veuillez fournir des informations utiles et de qualité. Ne vous contentez pas de répéter le nom de l'arrêt.
stop_lat Obligatoire Le champ stop_lat contient la latitude d'un arrêt, d'une station ou d'une entrée de station. La valeur du champ doit être une latitude WGS84 valide.
stop_lon Obligatoire Le champ stop_lon contient la longitude d'un arrêt, d'une station ou d'une entrée de station. La valeur du champ doit être une longitude WGS84 valide, dont la valeur est comprise entre -180 et 180.
zone_id Facultatif Le champ zone_id définit la zone tarifaire d'un identifiant d'arrêt. Les identifiants de zone sont obligatoires si vous fournissez des informations tarifaires dans le champ fare_rules.txt. Si cet identifiant d'arrêt représente une station, l'identifiant de zone est ignoré.
stop_url Facultatif Le champ stop_url contient l'URL d'une page Web relative à un arrêt particulier. Il doit être différent des champs agency_url et route_url. La valeur doit être une URL complète qui inclut http:// ou https://. Tout caractère spécial indiqué dans l'URL doit être correctement échappé. Consultez la page http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
location_type Facultatif Le champ location_type détermine si cet identifiant d'arrêt représente un arrêt, une station ou une entrée de station. Si le type de lieu n'est pas indiqué ou si le champ location_type est vide, les identifiants d'arrêt sont considérés comme des arrêts. Les stations sont susceptibles de ne pas disposer des mêmes propriétés que les arrêts lorsqu'elles sont représentées sur une carte ou utilisées lors de la planification d'un trajet. Le champ location_type peut contenir les valeurs suivantes :
* 0 ou vide : arrêt (lieu où les passagers montent dans un véhicule de transport en commun (ou en descendent))
* 1 : station (zone ou structure physique comprenant un ou plusieurs arrêts)
* 2 : entrée/sortie de station (lieu où les passagers peuvent entrer ou sortir d'une station depuis la rue). L'entrée doit également spécifier une valeur "parent_station" faisant référence à l'identifiant de l'arrêt de la station principale où se trouve l'entrée.
parent_station Facultatif Le champ parent_station identifie la station associée à l'arrêt si celui-ci est situé au sein d'une station. Pour utiliser ce champ, le fichier stops.txt doit également contenir une ligne où le champ location_type=1 a été attribué à cet identifiant d'arrêt.
Cet identifiant d'arrêt représente... Le type de lieu de cette entrée... Le champ parent_station de cette entrée contient...
un arrêt situé à l'intérieur d'une station. 0 ou aucune valeur L'identifiant d'arrêt de la station où est situé cet arrêt. L'arrêt mentionné par le champ parent_station doit présenter un champ location_type=1.
un arrêt situé à l'extérieur d'une station. 0 ou aucune valeur Une valeur vide. Le champ parent_station ne s'applique pas à cet arrêt.
une station. 1 Une valeur vide. Les stations ne peuvent pas contenir d'autres stations.
stop_timezone Facultatif Le champ stop_timezone contient le fuseau horaire de cet arrêt, de cette station ou de cette entrée de station. Veuillez consulter la Liste des fuseaux horaires de Wikipédia pour connaître les valeurs acceptées. Si aucune valeur n'est précisée, Google Transports en commun considère que l'arrêt se trouve dans le fuseau horaire défini par le champ agency_timezone dans le fichier agency.txt. Lorsqu'un arrêt présente une station principale, Google Transports en commun considère que l'arrêt se trouve dans le fuseau horaire indiqué par la valeur du champ stop_timezone de la station principale. Si le champ stop_timezone de la station principale ne présente aucune valeur, Google Transports en commun considère que les arrêts appartenant à cette station se trouvent dans le fuseau horaire indiqué dans le champ agency_timezone, même si les arrêts présentent leurs propres valeurs stop_timezone. En d'autres termes, si un arrêt donné présente une valeur parent_station, toutes les valeurs stop_timezone indiquées pour cet arrêt doivent être ignorées. Même si les valeurs stop_timezone sont fournies dans le fichier stops.txt, les heures du fichier stop_times.txt doivent toujours être indiquées en tant qu'heures depuis minuit dans le fuseau horaire spécifié dans agency_timezone du fichier agency.txt. Cela garantit que les valeurs temporelles d'un trajet augmentent toujours au cours de celui-ci, quels que soient les fuseaux horaires traversés.
wheelchair_boarding Facultatif Le champ wheelchair_boarding détermine si les passagers en fauteuil roulant peuvent monter à bord à l'arrêt, à la station ou à l'entrée de station spécifiés. Ce champ peut présenter les valeurs suivantes :
* 0 (ou aucune valeur) : aucune information n'est disponible concernant l'accessibilité de l'arrêt.
* 1 : au moins une partie des véhicules desservant cet arrêt sont accessibles aux usagers en fauteuil roulant.
* 2 : les usagers en fauteuil roulant ne peuvent pas monter à bord des véhicules à cet arrêt.
Lorsqu'un arrêt fait partie d'une station de grande taille, ce qui est indiqué par un arrêt présentant une valeur parent_station, le champ wheelchair_boarding de l'arrêt présente la sémantique supplémentaire suivante :
* 0 (ou aucune valeur) : l'arrêt hérite de la valeur wheelchair_boarding de la station principale, si celle-ci est renseignée.
* 1 : des voies permettent d'accéder à l'arrêt/au quai désigné en fauteuil roulant depuis l'extérieur de la station.
* 2 : aucune voie ne permet d'accéder à l'arrêt/au quai désigné en fauteuil roulant depuis l'extérieur de la station.
Le champ wheelchair_boarding des entrées de station présente la sémantique supplémentaire suivante :
* 0 (ou aucune valeur) : l'entrée de la station hérite de la valeur wheelchair_boarding de la station principale, si celle-ci est renseignée.
* 1 : l'entrée de la station est accessible en fauteuil roulant (par exemple, un ascenseur peut desservir les quais, si ceux-ci ne sont pas au même niveau).
* 2 : aucune voie accessible en fauteuil roulant ne relie l'entrée de la station aux quais.

routes.txt

Fichier : Obligatoire

Nom du champ Obligatoire Détails
route_id Obligatoire Le champ route_id identifie un itinéraire d'une manière unique. Le champ route_id constitue un ensemble de données unique.
agency_id Facultatif Le champ agency_id définit une agence pour l'itinéraire spécifié. Cette valeur est référencée à partir du fichier agency.txt. Utilisez ce champ lorsque vous fournissez des données d'itinéraires provenant de plusieurs agences.
route_short_name Obligatoire Le champ route_short_name contient le nom abrégé d'un itinéraire. Il s'agit généralement d'un identifiant court, abstrait, comme "32", "100X" ou "vert", que les usagers utilisent pour identifier un itinéraire, sans donner d'indications sur les lieux desservis par cet itinéraire. Au moins l'un des champs route_short_name ou route_long_name doit être spécifié, voire les deux si cela est nécessaire. Si l'itinéraire ne présente pas de nom abrégé, veuillez saisir une valeur pour le champ route_long_name et utiliser une chaîne vide pour ce champ.
route_long_name Obligatoire Le champ route_long_name contient le nom complet d'un itinéraire. Ce nom est généralement plus descriptif que le champ route_short_name. La plupart du temps, il inclut la destination ou l'arrêt de l'itinéraire. Au moins l'un des champs route_short_name ou route_long_name doit être spécifié, voire les deux si cela est nécessaire. Si l'itinéraire ne présente pas de nom complet, veuillez saisir une valeur pour le champ route_short_name et utiliser une chaîne vide pour ce champ.
route_desc Facultatif Le champ route_desc contient la description d'un itinéraire. Veuillez fournir des informations utiles et de qualité. Ne vous contentez pas de répéter le nom de l'itinéraire. Par exemple, "Les trains A partent de Inwood-207 St à Manhattan à destination de Far Rockaway-Mott Avenue dans le Queens à tout moment de la journée. Par ailleurs, d'autres trains A circulent de 6 heures à minuit, entre Inwood-207 St et Lefferts Boulevard (les trains alternent généralement entre Lefferts Blvd et Far Rockaway)."
route_type Obligatoire Le champ route_type décrit le type de moyen de transport utilisé sur un itinéraire. Voici les valeurs acceptées pour ce champ :
* 0 - Tramway, métro léger. Tout système de métro léger ou circulant au niveau de la rue au sein d'une zone métropolitaine.
* 1 - Métro. Tout système ferroviaire souterrain circulant au sein d'une zone métropolitaine.
* 2 - Train. Utilisé pour les trajets interurbains ou longue distance.
* 3 - Bus, car. Utilisé pour les lignes de bus courte et longue distance.
* 4 - Ferry. Utilisé pour le service de bateaux courte et longue distance.
* 5 - Tramway à traction par câble. Utilisé pour les tramways au niveau de la rue où le câble passe sous le véhicule.
* 6 - Téléphérique, télécabine. 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 conçu pour les pentes raides.
route_url Facultatif Le champ route_url contient l'URL d'une page Web relative à cet itinéraire particulier. Il doit être différent du champ agency_url. La valeur doit être une URL complète qui inclut http:// ou https://. Tout caractère spécial indiqué dans l'URL doit être correctement échappé. Consultez la page http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
route_color Facultatif Dans les systèmes où des couleurs sont attribuées aux itinéraires, le champ route_color définit une couleur correspondant à un itinéraire. La couleur de l'itinéraire doit être définie au moyen d'un nombre hexadécimal à six caractères (00FFFF, par exemple). Si aucune couleur n'est indiquée, la couleur de l'itinéraire par défaut est le blanc (FFFFFF). La différence de couleur entre route_color et route_text_color doit créer un contraste suffisant sur un écran en noir et blanc. Le document sur les techniques W3C conçues pour l'évaluation de l'accessibilité et les outils de réparation propose un algorithme utile pour évaluer le contraste des couleurs. Des outils en ligne pratiques permettent également de choisir des couleurs contrastantes, notamment l'application Color Contrast Check de de snook.ca.
route_text_color Facultatif Le champ route_text_color peut être utilisé pour attribuer une couleur lisible à un texte rédigé sur un fond route_color. La couleur doit être indiquée par un nombre hexadécimal à six caractères, par exemple FFD700. Si aucune couleur n'est spécifiée, la couleur du texte par défaut est le noir (000000). La différence de couleur entre route_color et route_text_color doit créer un contraste suffisant sur un écran en noir et blanc.

trips.txt

Fichier : Obligatoire

Nom du champ Obligatoire Détails
route_id Obligatoire Le champ route_id identifie un itinéraire d'une manière unique. Cette valeur est référencée à partir du fichier routes.txt.
service_id Obligatoire Le champ service_id identifie de manière unique un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. Cette valeur est référencée à partir du fichier calendar.txt ou calendar_dates.txt.
trip_id Obligatoire Le champ trip_id identifie un trajet. Le champ trip_id est un ensemble de données unique.
trip_headsign Facultatif Le champ trip_headsign contient le texte qui s'affiche sur un panneau informant les passagers de la destination. Utilisez ce champ pour différencier les modèles de service sur un même itinéraire. Si le texte du panneau change au cours d'un trajet, vous pouvez remplacer le champ trip_headsign en indiquant des valeurs dans le champ stop_headsign du fichier stop_times.txt.
trip_short_name Facultatif Le champ trip_short_name contient le texte qui s'affiche sur les tableaux d'horaires et les panneaux afin de permettre aux passagers d'identifier leur trajet, notamment les numéros de train des usagers qui se rendent à leur travail. Si les usagers n'ont pas l'habitude d'utiliser des noms de trajet, laissez ce champ vide. La valeur trip_short_name, si elle est indiquée, doit identifier de manière unique un trajet au cours d'une journée de service. Ce champ ne doit pas être utilisé pour indiquer le nom des destinations ou les appellations limitées/express.
direction_id Facultatif Le champ direction_id contient une valeur binaire indiquant le sens du trajet. Utilisez ce champ pour distinguer des trajets bidirectionnels présentant une valeur route_id identique. Ce champ n'est pas utilisé pour les itinéraires, mais 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 à l'aide du champ trip_headsign.
* 0 : trajet dans un sens (trajet aller, par exemple)
* 1 : trajet dans le sens opposé (trajet retour, par exemple)
Vous pouvez par exemple utiliser conjointement les champs trip_headsign et direction_id pour attribuer un nom aux trajets dans les deux sens, pour un ensemble de trajets. Le fichier trips.txt peut contenir ces lignes utilisables dans les horaires :
* trip_id,...,trip_headsign,direction_id
* 1234,...,Airport,0
* 1505,...,Downtown,1
block_id Facultatif Le champ block_id identifie le bloc auquel appartient le trajet. Un bloc comprend un seul trajet ou de nombreux trajets séquentiels effectués par le même véhicule. Il est défini par le jour de service partagé et le champ block_id. Le champ block_id peut indiquer des trajets présentant différents jours de services, formant ainsi différents blocs (voir l'exemple ci-dessous).
shape_id Facultatif Le champ shape_id contient un identifiant qui définit un tracé pour le trajet. Cette valeur est référencée à partir du fichier shapes.txt. Le fichier shapes.txt vous permet de définir le tracé d'une ligne sur la carte pour représenter un trajet.
wheelchair_accessible Facultatif * 0 (ou aucune valeur) : aucune information n'est disponible concernant l'accessibilité du trajet.
* 1 : le véhicule utilisé sur ce trajet spécifique peut prendre en charge au moins un usager en fauteuil roulant.
* 2 : aucun usager en fauteuil roulant ne peut être pris en charge sur ce trajet.
bikes_allowed Facultatif 0 (ou aucune valeur) : aucune information sur la prise en charge des vélos n'est disponible pour ce trajet.
* 1 : le véhicule utilisé pour ce trajet spécifique peut prendre en charge au moins un vélo.
* 2 : aucun vélo ne peut être pris en charge sur ce trajet

Exemple illustrant les blocs et les jours de service

L'exemple ci-dessous est correct et présente des blocs distincts tous les jours de la semaine.

route_id trip_id service_id block_id (heure du premier arrêt) (heure du dernier arrêt)
rouge trip_1 lun-mar-mer-jeu-ven-sam-dim red_loop 22:00:00 22:55:00
rouge trip_2 ven-sam-dim red_loop 23:00:00 23:55:00
rouge trip_3 ven-sam red_loop 24:00:00 24:55:00
rouge trip_4 lun-mar-mer-jeu red_loop 20:00:00 20:50:00
rouge trip_5 lun-mar-mer-jeu red_loop 21:00:00 21:50:00

Remarques concernant le tableau ci-dessus : Du vendredi au samedi matin, un seul véhicule effectue les trajets trip_1, trip_2 et trip_3 (de 22 h 00 à 00 h 55). Notez que le dernier trajet est effectué le samedi, de 00 h 00 à 00 h 55, même s'il fait partie du "jour de service" du vendredi, étant donné que les horaires sont compris entre 24:00:00 et 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 horaire compris entre 20 h 00 et 22 h 55.

stop_times.txt

Fichier : Obligatoire

Nom du champ Obligatoire Détails
trip_id Obligatoire Le champ trip_id identifie un trajet. Cette valeur est référencée à partir du fichier trips.txt.
arrival_time Obligatoire Le champ arrival_time indique l'heure d'arrivée à un arrêt spécifique d'un trajet donné sur un itinéraire. L'heure est calculée à partir de "midi moins 12 h" (c'est-à-dire minuit, à l'exception des jours de changement d'heure) au début de la journée de service. Pour les heures après minuit de la journée de service, saisissez une valeur supérieure à 24:00:00 au format HH:MM:SS de l'heure locale le jour où commence le trajet. Si les heures d'arrivée et de départ sont identiques pour un arrêt spécifique, entrez la même valeur pour les champs arrival_time et departure_time.

Arrêts prévus où le véhicule respecte rigoureusement les heures d'arrivée et de départ indiquées, si celles-ci constituent des repères temporels. Par exemple, si un véhicule arrive à un arrêt avant l'heure de départ prévue, il attendra de manière à respecter les horaires indiqués. Si cet arrêt n'est pas un repère temporel, entrez une chaîne vide dans le champ arrival_time ou indiquez une heure interpolée. Par ailleurs, il faut préciser que les heures interpolées sont spécifiées en saisissant une valeur zéro dans le champ timepoint. Si les heures interpolées sont indiquées en définissant timepoint=0, les repères temporels doivent être spécifiés en entrant la valeur 1 dans le champ timepoint. Indiquez les heures d'arrivée pour tous les arrêts qui sont des repères temporels.

Une heure d'arrivée doit être spécifiée pour le premier et le dernier arrêt d'un trajet. Les heures doivent être indiquées par six chiffres au format HH:MM:SS (H:MM:SS est également accepté si l'heure commence par 0). N'indiquez pas les heures avec des espaces. Les colonnes suivantes répertorient les heures d'arrivée pour un trajet et la manière appropriée d'exprimer ces heures dans le champ arrival_time :
Heure Valeur arrival_time
08:10:00 08:10:00 ou 8:10:00
13:05:00 13:05:00
19:40:00 19:40:00
01:55:00 25:55:00
Remarque : Les trajets qui couvrent plusieurs jours présentent des heures d'arrêt supérieures à 24:00:00. Par exemple, si un trajet commence à 22:30:00 et se termine à 2:15:00 le lendemain, les heures d'arrêt sont donc 22:30:00 et 26:15:00. Si vous indiquez 22:30:00 et 02:15:00 pour ces heures d'arrêt, vous n'obtiendrez pas le résultat souhaité.
departure_time Obligatoire Le champ departure_time indique l'heure de départ depuis un arrêt spécifique pour un trajet donné d'un itinéraire. L'heure est calculée à partir de "midi moins 12 h" (c'est-à-dire minuit, à l'exception des jours de changement d'heure) au début de la journée de service. Pour les heures après minuit de la journée de service, saisissez une valeur supérieure à 24:00:00 au format HH:MM:SS de l'heure locale le jour où commence le trajet. Si les heures d'arrivée et de départ sont identiques pour un arrêt spécifique, entrez la même valeur pour les champs arrival_time et departure_time.

Arrêts prévus où le véhicule respecte rigoureusement les heures d'arrivée et de départ indiquées, si celles-ci constituent des repères temporels. Par exemple, si un véhicule arrive à un arrêt avant l'heure de départ prévue, il attendra de manière à respecter les horaires indiqués. Si cet arrêt n'est pas un repère temporel, utilisez une valeur de chaîne vide pour le champ departure_time ou indiquez une heure interpolée (il faut également préciser que les heures interpolées sont spécifiées en saisissant une valeur zéro dans le champ timepoint). Si les heures interpolées sont indiquées en définissant timepoint=0, les repères temporels doivent être spécifiés en entrant la valeur 1 dans le champ timepoint. Indiquez les heures de départ pour tous les arrêts qui sont des repères temporels.

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 de passagers au dernier arrêt. Les heures doivent être indiquées par six chiffres au format HH:MM:SS (H:MM:SS est également accepté si l'heure commence par 0). N'indiquez pas les heures avec des espaces. Les colonnes suivantes répertorient les heures d'arrêt d'un trajet et la manière appropriée d'exprimer ces heures dans le champ departure_time :
Heure Valeur departure_time
08:10:00 08:10:00 ou 8:10:00
13:05:00 13:05:00
19:40:00 19:40:00
01:55:00 25:55:00
Remarque : Les trajets qui couvrent plusieurs jours présentent des heures d'arrêt supérieures à 24:00:00. Par exemple, si un trajet commence à 22:30:00 et se termine à 2:15:00 le lendemain, les heures d'arrêt sont donc 22:30:00 et 26:15:00. Si vous indiquez 22:30:00 et 02:15:00 pour ces heures d'arrêt, vous n'obtiendrez pas le résultat souhaité.
stop_id Obligatoire Le champ stop_id identifie un arrêt de manière unique. Le même arrêt peut être desservi par plusieurs itinéraires. Le champ stop_id est référencé à partir du fichier stops.txt. 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 présenter une valeur 0 dans le champ location_type. 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 n'est pas un repère temporel, entrez des valeurs vides dans les champs arrival_time et departure_time.
stop_sequence Obligatoire Le champ stop_sequence identifie l'ordre des arrêts d'un trajet spécifique. Les valeurs du champ stop_sequence doivent être des nombres entiers non négatifs, et augmenter au cours du trajet. Le champ stop_sequence du premier arrêt du trajet peut par exemple présenter la 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 Facultatif Le champ stop_headsign contient le texte affiché sur un panneau permettant aux passagers de connaître la destination d'un trajet. Utilisez ce champ pour remplacer la valeur par défaut du champ trip_headsign lorsque le texte du panneau varie entre les arrêts. Si ce texte s'applique à l'intégralité du trajet, utilisez le champ trip_headsign à la place.
pickup_type Facultatif Le champ pickup_type indique si les passagers peuvent embarquer à un arrêt aux horaires habituels ou si aucun embarquement n'est autorisé. Ce champ permet également à l'agence de transports en commun d'indiquer aux usagers s'ils doivent la contacter ou avertir le conducteur pour organiser un embarquement à un arrêt particulier. Voici les valeurs acceptées pour ce champ :
* 0 : embarquement effectué régulièrement
* 1 : aucun embarquement n'est effectué
* 2 : téléphoner à l'agence pour organiser un embarquement
* 3 - contacter le conducteur pour organiser un embarquement
La valeur par défaut de ce champ est 0.
drop_off_type Facultatif Le champ drop_off_type indique si les passagers sont débarqués à l'horaire prévu ou si aucun débarquement n'est autorisé. Ce champ permet également à l'agence de transports en commun d'indiquer aux usagers s'ils doivent la contacter ou avertir le conducteur pour organiser un débarquement à un arrêt particulier. Voici les valeurs acceptées pour ce champ :
* 0 : débarquement effectué régulièrement
* 1 : aucun débarquement n'est effectué
* 2 : téléphoner à l'agence pour organiser un débarquement
* 3 : contacter le conducteur pour organiser un débarquement
La valeur par défaut de ce champ est 0.
shape_dist_traveled 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 sur l'itinéraire. Elle est exprimée en unités, telles que les pieds ou les kilomètres. Si, par exemple, un bus parcourt une distance de 5,25 kilomètres du début du tracé à l'arrêt, le champ shape_dist_traveled de l'identifiant de l'arrêt présentera la valeur "5.25". Cette information permet à l'outil de planification de trajets de déterminer la proportion du tracé à afficher lorsqu'une partie du trajet est indiquée sur une carte. Les valeurs saisies dans le champ shape_dist_traveled doivent augmenter conformément à celles du champ stop_sequence : elles ne peuvent pas être utilisées pour indiquer un trajet inverse sur un itinéraire. Les unités utilisées pour le champ shape_dist_traveled du fichier stop_times.txt doivent correspondre aux unités utilisées pour ce champ dans le fichier shapes.txt.
timepoint Facultatif Le champ "timepoint" peut être utilisé pour indiquer si les heures d'arrivée et de départ indiquées à un arrêt sont rigoureusement respectées par le véhicule de transports en commun ou si elles représentent des heures approximatives et/ou interpolées. Ce champ permet à un producteur de flux GTFS de fournir des heures d'arrêt interpolées, qui intègrent potentiellement des informations locales, tout en indiquant si les heures sont approximatives. Les valeurs acceptées dans ce champ pour les entrées d'heure d'arrêt présentant des heures d'arrivée et de départ sont les suivantes :
* aucune valeur : les heures sont considérées comme exactes.
* 0 : les heures sont considérées comme approximatives.
* 1 : les heures sont considérées comme exactes.
Pour les entrées d'heure d'arrêt ne présentant pas d'heures d'arrivée et de départ spécifiées, les utilisateurs du flux doivent interpoler les heures d'arrivée et de départ. Les producteurs de flux peuvent éventuellement indiquer que ce type d'entrée ne constitue pas un repère temporel (valeur = 0). Toutefois, marquer une entrée comme un repère temporel (valeur = 1) sans indiquer d'heures d'arrivée et de départ constitue une erreur.

calendar.txt

Fichier : Obligatoire

Nom du champ Obligatoire Détails
service_id Obligatoire Le champ service_id identifie de manière unique un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. Chaque valeur de service_id peut être affichée au maximum une fois dans un fichier calendar.txt. Cette valeur constitue un ensemble de données unique. Elle est référencée par le fichier trips.txt.
monday Obligatoire Le champ "monday" contient une valeur binaire indiquant si le service est assuré tous les lundis.
* La valeur 1 indique que le service est assuré tous les lundis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
* La valeur 0 indique qu'aucun service n'est assuré les lundis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
tuesday Obligatoire Le champ "tuesday" contient une valeur binaire indiquant si le service est assuré tous les mardis.
La valeur 1 indique que le service est assuré tous les mardis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les mardis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
wednesday Obligatoire Le champ "wednesday" contient une valeur binaire indiquant si le service est assuré tous les mercredis.
La valeur 1 indique que le service est assuré tous les mercredis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les mercredis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
thursday Obligatoire Le champ "thursday" contient une valeur binaire indiquant si le service est assuré tous les jeudis.
La valeur 1 indique que le service est assuré tous les jeudis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les jeudis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
friday Obligatoire Le champ "friday" contient une valeur binaire indiquant si le service est assuré tous les vendredis.
La valeur 1 indique que le service est assuré tous les vendredis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les vendredis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
saturday Obligatoire Le champ "saturday" contient une valeur binaire indiquant si le service est assuré tous les samedis.
La valeur 1 indique que le service est assuré tous les samedis compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les samedis compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
sunday Obligatoire Le champ "sunday" contient une valeur binaire indiquant si le service est assuré tous les dimanches.
La valeur 1 indique que le service est assuré tous les dimanches compris dans la plage de dates. La plage de dates est indiquée à l'aide des champs start_date et end_date.
La valeur 0 indique qu'aucun service n'est assuré les dimanches compris dans la plage de dates.
Remarque : Vous pouvez répertorier des exceptions pour des dates particulières, telles que les jours fériés, dans le fichier calendar_dates.txt.
start_date Obligatoire Le champ start_date indique la date de début du service. La valeur du champ start_date doit être exprimée au format AAAAMMJJ.
end_date Obligatoire Le champ end_date indique la date de fin du service. Cette date est incluse dans l'intervalle de service. La valeur du champ end_date doit être exprimée au format AAAAMMJJ.

calendar_dates.txt

Fichier : facultatif

Le tableau calendar_dates vous permet d'activer ou de désactiver explicitement des identifiants de service en fonction des dates. Vous pouvez l'utiliser de deux manières différentes.

  • Méthode recommandée : utilisez le tableau calendar_dates.txt conjointement avec le fichier calendar.txt afin que le tableau calendar_dates.txt définisse les exceptions aux catégories de service par défaut indiquées dans le fichier calendar.txt. Cette approche est adaptée si votre service est généralement régulier et comporte quelques modifications à des dates précises (pour des services assurés lors d'événements spéciaux ou des horaires scolaires par exemple).
  • Autre méthode : ignorez le fichier calendar.txt et incluez TOUTES les dates de service dans le fichier calendar_dates.txt. Cette approche est plus judicieuse si vos horaires varient sur une grande partie du mois ou si vous souhaitez générer les dates de services par programmation sans indiquer d'horaire hebdomadaire habituel.
Nom du champ Obligatoire Détails
service_id Obligatoire Le champ service_id identifie de manière unique un ensemble de dates lorsqu'une exception de service est disponible pour un ou plusieurs itinéraires. Chaque paire (service_id, date) ne peut être affichée qu'une seule fois dans le fichier calendar_dates.txt. Si la valeur service_id apparaît dans les fichiers calendar.txt et calendar_dates.txt, les informations contenues dans calendar_dates.txt modifient les données de service indiquées dans le fichier calendar.txt. Ce champ est référencé à partir du fichier trips.txt.
date Obligatoire Le champ date indique une date particulière lorsque la disponibilité du service diffère de la norme. Vous pouvez utiliser le champ exception_type pour indiquer si le service est assuré à la date spécifiée. La valeur du champ date doit être exprimée au format AAAAMMJJ.
exception_type Obligatoire Le champ exception_type indique si le service est assuré à la date indiquée dans le champ date.
* La valeur 1 indique qu'un service a été ajouté à la date spécifiée.
* La valeur 2 indique que le service a été supprimé de la date spécifiée.
Prenons l'exemple d'un itinéraire qui présente un ensemble de trajets disponibles les jours fériés et un autre ensemble de trajets disponibles tous les autres jours. Vous pourriez avoir un service_id qui correspond aux horaires de service habituels et un autre service_id qui correspond aux horaires des jours fériés. Le fichier calendar_dates.txt sera utilisé pour ajouter un jour férié particulier au service_id des jours fériés et supprimer celui-ci du service_id des horaires habituels.

fare_attributes.txt

Fichier : facultatif

Nom du champ Obligatoire Détails
fare_id Obligatoire Le champ fare_id identifie de manière unique une classe tarifaire. Le champ fare_id est un ensemble de données unique.
price Obligatoire Le champ price indique le prix du billet, dans l'unité spécifiée par le champ currency_type.
currency_type Obligatoire Le champ currency_type définit la devise utilisée pour payer le billet. Veuillez utiliser les codes de devises alphabétiques ISO 4217, accessibles à l'URL suivante : http://en.wikipedia.org/wiki/ISO_4217.
payment_method Obligatoire Le champ payment_method indique le moment où le paiement doit être effectué. Voici les valeurs acceptées pour ce champ :
* 0 : le paiement est effectué à bord.
* 1 : le paiement est effectué avant l'embarquement.
transfers Obligatoire Le champ "transfers" indique le nombre de correspondances autorisées pour ce tarif. Voici les valeurs acceptées pour ce champ :
* 0 : aucune correspondance n'est autorisée pour ce tarif.
* 1 : une seule correspondance est autorisée.
* 2 : deux correspondances sont autorisées.
* (aucune valeur) : si ce champ est vide, le nombre de correspondances autorisées est illimité.
agency_id Facultatif Ce champ est obligatoire pour les flux comprenant plusieurs agences définies dans le fichier agency.txt. Chaque attribut de tarif doit spécifier une valeur dans le champ agency_id afin d'indiquer à quelle agence le tarif s'applique.
transfer_duration Facultatif Le champ transfer_duration indique la durée de validité d'une correspondance, en secondes. Lorsqu'il est utilisé avec un champ transfers d'une valeur 0, le champ transfer_duration indique la durée de validité d'un billet pour un tarif n'autorisant aucune correspondance. À moins que vous n'ayez l'intention d'indiquer la validité du billet, le champ transfer_duration doit être omis ou vide lorsque le champ transfers a la valeur 0.

fare_rules.txt

Fichier : facultatif

Le tableau fare_rules vous permet d'indiquer la manière dont les tarifs du 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 que l'itinéraire traverse.
  • Le tarif dépend de l'itinéraire choisi.

Pour obtenir des exemples illustrant comment indiquer 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 Obligatoire Détails
fare_id Obligatoire Le champ fare_id identifie de manière unique une classe tarifaire. Cette valeur est référencée à partir du fichier fare_attributes.txt.
route_id Facultatif Le champ route_id associe l'identifiant de tarif à un itinéraire. Les identifiants d'itinéraire sont référencés à partir du fichier routes.txt. 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" est valide sur les itinéraires "TSW" et "TSE", le fichier fare_rules.txt contiendra ces lignes pour la classe tarifaire :
b,TSW
b,TSE
origin_id Facultatif Le champ origin_id associe l'identifiant de tarif à un identifiant de zone de provenance. Les identifiants de zone sont référencés à partir du fichier stops.txt. Si plusieurs de vos identifiants de provenance présentent les mêmes attributs de tarif, créez une ligne dans le fichier fare_rules.txt pour chaque identifiant de provenance.
Si, par exemple, la classe tarifaire "b" est valide pour tous les trajets en provenance de la zone "2" ou "8", le fichier fare_rules.txt contiendra ces lignes pour la classe tarifaire :
b, , 2
b, , 8
destination_id Facultatif Le champ destination_id associe l'identifiant de tarif à un identifiant de zone de destination. Les identifiants de zone sont référencés à partir du fichier stops.txt. Si plusieurs de vos identifiants de destination présentent les mêmes attributs de tarif, créez une ligne dans le fichier fare_rules.txt pour chaque identifiant de destination.
Vous pouvez, par exemple, utiliser conjointement les champs origin_ID et destination_ID pour indiquer que la classe tarifaire "b" est valide pour le trajet entre les zones 3 et 4 ainsi que pour le trajet entre les zones 3 et 5. Le fichier fare_rules.txt contiendra alors ces lignes pour la classe tarifaire :
b, , 3,4
b, , 3,5
contains_id Facultatif Le champ contains_id associe l'identifiant de tarif à un identifiant de zone, référencé à partir du fichier stops.txt. L'identifiant de tarif est ensuite associé aux itinéraires qui traversent chaque zone contains_id.
Si, par exemple, la classe tarifaire "c" est associée à tous les trajets de l'itinéraire GRT qui traverse les zones 5, 6 et 7, le fichier fare_rules.txt contiendra ces lignes :
c,GRT,,,5
c,GRT,,,6
c,GRT,,,7
Étant donné que toutes les zones contains_id doivent avoir une correspondance afin que le tarif soit appliqué, un itinéraire qui traverse les zones 5 et 6, sans passer par la zone 7 ne sera pas associé à la classe tarifaire "c". Pour en savoir plus, consultez la rubrique FareExamples dans le wiki de projet GoogleTransitDataFeed.

shapes.txt

Fichier : facultatif

Les tracés décrivent le trajet physiquement emprunté par un véhicule. Ils sont définis dans le fichier shapes.txt. Les tracés appartiennent aux trajets et prennent la forme d'une suite de points. Tracés dans l'ordre adéquat, ils correspondent au trajet emprunté par le véhicule. Les points ne correspondent pas forcément aux arrêts.

Nom du champ Obligatoire Détails
shape_id Obligatoire Le champ shape_id identifie un tracé de manière unique.
shape_pt_lat Obligatoire Le champ shape_pt_lat associe la latitude d'un point du tracé à un identifiant de tracé. La valeur de ce champ doit être une latitude WGS84 valide. Chaque ligne du fichier shapes.txt représente un point de la définition de votre tracé.
Si, par exemple, le tracé "A_shp" présente trois points dans sa définition, le fichier shapes.txt est susceptible de contenir ces lignes pour définir le tracé :
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_pt_lon Obligatoire Le champ shape_pt_lon associe la longitude d'un point du tracé à un identifiant de tracé. La valeur de ce champ doit être une longitude WGS84 valide, comprise entre -180 et 180. Chaque ligne du fichier shapes.txt représente un point de la définition de votre tracé.
Si, par exemple, le tracé "A_shp" présente trois points dans sa définition, le fichier shapes.txt est susceptible de contenir ces lignes pour définir le tracé :
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_pt_sequence Obligatoire Le champ shape_pt_sequence associe la latitude et la longitude d'un point du tracé à son ordre d'apparition sur le tracé. Les valeurs du champ shape_pt_sequence doivent être des nombres entiers non négatifs, et augmenter au fil du trajet.
Si, par exemple, le tracé "A_shp" présente trois points dans sa définition, le fichier shapes.txt est susceptible de contenir ces lignes pour définir le tracé :
A_shp,37.61956,-122.48161,0
A_shp,37.64430,-122.41070,6
A_shp,37.65863,-122.30839,11
shape_dist_traveled Facultatif Lorsqu'il est utilisé dans le fichier shapes.txt, le champ shape_dist_traveled positionne un point du tracé en indiquant la distance parcourue depuis le premier point. Le champ shape_dist_traveled représente la distance réelle parcourue sur l'itinéraire. Elle est exprimée en unités, telles que les pieds ou les kilomètres. Cette information permet à l'outil de planification de trajets de déterminer la proportion du tracé à afficher lorsqu'une partie du trajet est indiquée sur une carte. Les valeurs saisies dans le champ shape_dist_traveled doivent augmenter conformément à celles du champ shape_pt_sequence : elles ne peuvent pas être utilisées pour indiquer un trajet inverse sur un itinéraire.
Les unités utilisées pour le champ shape_dist_traveled du fichier shapes.txt doivent correspondre aux unités utilisées pour ce champ dans le fichier stop_times.txt.
Si par exemple, un bus traverse les trois points définis ci-dessus pour le tracé A_shp, les valeurs supplémentaires du champ shape_dist_traveled (indiquées ici en kilomètres) seraient les suivantes :
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

Ce tableau est conçu pour représenter les horaires qui n'ont pas de liste définitive d'heures d'arrêt. Lorsque des trajets sont définis dans le fichier frequencies.txt, l'outil de planification de trajets ignore les valeurs absolues des champs arrival_time et departure_time des trajets du fichier stop_times.txt. Le tableau stop_times définit plutôt l'ordre des arrêts et le délai entre chaque arrêt.

Nom du champ Obligatoire Détails
trip_id Obligatoire Le champ trip_id identifie un trajet présentant la fréquence de service spécifiée. Les identifiants d'un trajet sont référencés à partir du fichier trips.txt.
start_time Obligatoire Le champ start_time indique l'heure à laquelle le premier véhicule quitte le premier arrêt du trajet, à la fréquence spécifiée. L'heure est calculée à partir de "midi moins 12 h" (c'est-à-dire minuit, à l'exception des jours de changement d'heure) au début de la journée de service. Passé minuit, les heures doivent être représentées par une valeur supérieure à 24:00:00 dans le format HH:MM:SS de l'heure locale, le jour où commence l'horaire du trajet. Exemple : 25:35:00.
end_time Obligatoire Le champ end_time indique l'heure à laquelle le service change de fréquence (ou prend fin) au premier arrêt du trajet. L'heure est calculée à partir de "midi moins 12 h" (c'est-à-dire minuit, à l'exception des jours de changement d'heure) au début de la journée de service. Passé minuit, les heures doivent être représentées par une valeur supérieure à 24:00:00 dans le format HH:MM:SS de l'heure locale, le jour où commence l'horaire du trajet. Exemple : 25:35:00.
headway_secs Obligatoire Le champ headway_secs indique l'intervalle de temps entre les départs effectués à partir du même arrêt (headway) pour ce type de trajet, pendant l'intervalle de temps spécifié dans les champs start_time et end_time. La valeur "headway" doit être exprimée en secondes.
Les périodes pendant lesquelles les éléments "headway" sont définis (lignes du fichier frequencies.txt) ne doivent pas se chevaucher pour le même trajet, étant donné qu'il est difficile d'interpréter le chevauchement de deux éléments "headway". Toutefois, une période headway peut commencer précisément à l'heure à laquelle une autre se termine, par exemple :
A, 05:00:00, 07:00:00, 600
B, 07:00:00, 12:00:00, 1200
exact_times Facultatif Le champ exact_times détermine si les trajets basés sur la fréquence doivent être planifiés avec précision, en fonction des informations relatives à l'élément "headway" spécifié. Voici les valeurs acceptées pour ce champ :
* 0 ou (aucune valeur) : les trajets basés sur la fréquence ne sont pas planifiés avec précision. Il s'agit du comportement par défaut.
* 1 : les trajets basés sur la fréquence sont planifiés avec précision. Pour une ligne du fichier frequency.txt, les trajets planifiés commençant par trip_start_time = start_time + x * headway_secs pour tous les x dans (0, 1, 2, ...) où trip_start_time < end_time.
La valeur du champ exact_times doit être identique pour toutes les lignes du fichier frequencies.txt présentant le même trip_id. Si exact_times est égal à 1 et si une ligne du fichier frequencies.txt présente des valeurs similaires pour les champs start_time et end_time, aucun trajet ne doit être planifié. Si exact_times est égal à 1, la valeur du champ end_time doit être supérieure à l'heure de début du dernier trajet souhaité, tout en étant inférieure à l'heure de début du dernier trajet souhaité + headway_secs.

transfers.txt

Fichier : facultatif

De manière générale, les outils de planification des trajets tiennent compte de la proximité relative des arrêts le long d'un itinéraire pour déterminer l'emplacement des pôles de correspondance. Si la correspondance entre deux arrêts risque d'être complexe, ou si vous souhaitez spécifier une option de correspondance particulière, définissez des règles supplémentaires dans le fichier transfers.txt.

Nom du champ Obligatoire Détails
from_stop_id Obligatoire Le champ from_stop_id contient un identifiant d'arrêt qui identifie un arrêt ou une station où commence une correspondance entre plusieurs itinéraires. Les identifiants d'arrêt sont référencés à partir du fichier stops.txt. Si l'identifiant d'arrêt fait référence à une station contenant plusieurs arrêts, cette règle de correspondance s'applique à tous les arrêts de cette station.
to_stop_id Obligatoire Le champ to_stop_id contient un identifiant d'arrêt qui identifie un arrêt ou une station où se termine une correspondance entre plusieurs itinéraires. Les identifiants d'arrêt sont référencés à partir du fichier stops.txt. Si l'identifiant d'arrêt fait référence à une station contenant plusieurs arrêts, cette règle de correspondance s'applique à tous les arrêts de cette station.
transfer_type Obligatoire Le champ transfer_type indique le type de correspondance de l'association spécifiée (from_stop_id, to_stop_id). Voici les valeurs acceptées pour ce champ :
* 0 ou (aucune valeur) : il s'agit d'un pôle de correspondance recommandé entre plusieurs itinéraires.
* 1 : il s'agit d'un pôle de correspondance dont la durée est définie entre deux itinéraires. Le véhicule sur le point de partir doit attendre celui sur le point d'arriver et laisser suffisamment de temps pour que les passagers puissent effectuer la correspondance.
* 2 : cette correspondance nécessite une durée minimale entre le point d'arrivée et le point de départ. Spécifiez la durée en question dans le champ min_transfer_time.
* 3 : aucune correspondance ne peut être assurée à cet emplacement.
min_transfer_time Facultatif Lorsqu'une correspondance entre des itinéraires nécessite une certaine durée entre le point d''arrivée et le point de départ (transfer_type = 2), le champ min_transfer_time définit le délai qui doit être respecté par un itinéraire pour permettre aux passagers d'effectuer leur correspondance à ces arrêts. 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 comprendre une marge pour tenir compte des variations éventuelles des horaires prévus.
La valeur du champ min_transfer_time doit être exprimée en secondes et doit être un nombre entier non négatif.

feed_info.txt

Fichier : facultatif

Ce fichier contient des informations sur le flux lui-même, et non les services décrits par le flux. GTFS présente actuellement un fichier agency.txt permettant de fournir des informations sur les agences qui assurent les services décrits par le flux. Cependant, l'éditeur du flux peut parfois être une entité qui ne représente aucune agence (dans le cas des agrégateurs régionaux). En outre, certains champs représentent des paramètres à l'échelle du flux, plutôt qu'à l'échelle de l'agence.

Nom du champ Obligatoire Détails
feed_publisher_name Obligatoire Le champ feed_publisher_name contient le nom complet de l'entreprise qui publie le flux. Ce champ peut correspondre à l'une des valeurs du champ agency_name du fichier agency.txt. Les applications utilisant GTFS peuvent afficher ce nom lors de l'attribution de données à un flux particulier.
feed_publisher_url Obligatoire Le champ feed_publisher_url contient l'URL du site Web de l'entreprise qui publie le flux. Ce champ peut correspondre à l'une des valeurs du champ agency_url du fichier agency.txt. La valeur doit être une URL complète qui inclut http:// ou https://. Tout caractère spécial indiqué dans l'URL doit être correctement échappé. Consultez la page http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
feed_lang Obligatoire Le champ feed_lang contient un code de langue IETF BCP 47, indiquant la langue par défaut utilisée pour le texte de ce flux. 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. Pour plus d'informations sur les codes IETF BCP 47, veuillez consulter les pages http://www.rfc-editor.org/rfc/bcp/bcp47.txt et http://www.w3.org/International/articles/language-tags/.
feed_start_date Facultatif Le flux fournit des informations complètes et fiables sur les horaires du service assuré au cours de la période comprise entre le début du jour feed_start_date et la fin du jour feed_end_date. Les deux jours sont indiqués sous forme de dates au format AAAAMMJJ comme dans le fichier calendar.txt, ou laissés vides s'ils ne sont pas disponibles. La date feed_end_date ne doit pas être antérieure à la date feed_start_date si les deux sont indiquées. Les fournisseurs de flux sont encouragés à indiquer des données d'horaires en dehors de cette période, de manière à renseigner les usagers sur le service à venir probable. Toutefois, les utilisateurs du flux doivent être conscients qu'il s'agit d'informations ne faisant pas autorité. Si les champs feed_start_date ou feed_end_date couvrent des dates en dehors du calendrier actif, défini dans les fichiers calendar.txt et calendar_dates.txt, le flux affirme explicitement qu'aucun service n'est assuré pour les dates qui sont comprises dans la période définie par les champs feed_start_date ou feed_end_date mais qui ne sont pas incluses dans les dates du calendrier actif.
feed_end_date Facultatif (voir ci-dessus).
feed_version Facultatif L'éditeur du flux peut indiquer une chaîne dans ce champ de manière à spécifier la version actuelle de son flux GTFS. Les applications utilisant GTFS peuvent afficher cette valeur pour aider les éditeurs de flux à déterminer si la dernière version de leur flux a été intégrée.