Ce document définit le format et la structure des fichiers comportant un ensemble de données GTFS.
Sommaire
- Définition des termes
- Types de champs
- Fichiers de l'ensemble de données
- Conditions requises pour les fichiers
- Définition des champs
Définition des termes
Dans cette section, vous trouverez une définition des termes utilisés dans ce document.
- Ensemble de données : ensemble complet des fichiers définis 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 en commun, un arrêt, une route, etc. 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 unique 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 (avec l'indication "vide" dans cette spécification). Pour saisir une chaîne vide dans un champ spécifique, il vous suffit de ne pas saisir de texte entre les virgules.
- 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 saisir une chaîne vide dans un champ spécifique, il vous suffit de ne pas saisir de texte entre les virgules. Remarque : 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
- Couleur : couleur encodée sous forme de nombre hexadécimal (c'est-à-dire à six chiffres). Accédez au site https://htmlcolorcodes.com pour générer une valeur valide (notez que le symbole # n'est pas inclus).
Exemple :FFFFFF
pour le blanc,000000
pour le noir ou0039A6
pour les lignes A, C et E du réseau NYMTA. - Code de devise : code de devise alphabétique ISO 4217. Pour obtenir la liste des devises à jour, accédez à https://fr.wikipedia.org/wiki/ISO_4217#Active_codes.
Exemples :CAD
pour le dollar canadien,EUR
pour l'euro ouJPY
pour le yen japonais. - Date : journée de service au format
YYYYMMDD
. Étant donné qu'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. - Adresse e-mail : une adresse e-mail.
Exemple :example@example.com
- Énumération : option issue d'un ensemble de constantes prédéfinies, répertoriées dans la colonne "Description".
Exemple : le champroute_type
contient une valeur0
pour le tramway,1
pour le métro, etc. - ID : un champ d'ID est une valeur interne et n'est pas destiné à être vu par les usagers. Il s'agit d'une séquence de caractères UTF-8. Nous vous recommandons de n'utiliser que des caractères ASCII imprimables. Les ID définis dans un fichier
.txt
sont souvent référencés dans un autre fichier.txt
.
Exemple : Le champstop_id
dans le fichierstops.txt
est un ID. Le champstop_id
dans le fichierstop_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, consultez les pages http://www.rfc-editor.org/rfc/bcp/bcp47.txt et http://www.w3.org/International/articles/language-tags/.
Exemples :en
pour l'anglais,en-US
pour l'anglais américain oude
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 (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 (soit en pratique minuit, sauf les jours de changement d'heure). Pour en savoir plus, reportez-vous à ces consignes. Passé minuit, les heures doivent être représentées par une valeur supérieure à 24:00:00 dans le format HH:MM:SS, dans l'heure locale du jour où commence l'horaire du trajet.
Exemple :14:30:00
pour 14 h 30 ou25:35:00
pour 1 h 35 le lendemain. - Texte : chaîne de caractères UTF-8 destinée à être affichée. Elle doit donc être lisible pour l'usager.
- Fuseau horaire : un fuseau horaire de la base de données "TZ" (voir la page https://www.iana.org/time-zones). Les noms de fuseau horaire ne doivent jamais contenir de caractère d'espacement, mais peuvent inclure des traits de soulignement. Pour connaître les valeurs acceptées, consultez la page http://en.wikipedia.org/wiki/List_of_tz_zones.
Exemple :Asia/Tokyo
,America/Los_Angeles
ouAfrica/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 http://www.w3.org/Addressing/URL/4_URI_Recommentations.html pour découvrir comment créer des valeurs d'URL complètes.
Fichiers de l'ensemble de données
Cette spécification définit les fichiers suivants :
Nom du fichier | Obligatoire | Définit |
---|---|---|
agency.txt |
Obligatoire | Agences de transports en commun ayant un service représenté dans cet ensemble de données. |
stops.txt |
Obligatoire | Arrêts où les usagers peuvent monter et descendre. Définit également les stations et leurs entrées. |
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 à des horaires précis. |
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 sous certaines conditions | Dates de service indiquées à l'aide d'un horaire hebdomadaire comportant des dates de départ et d'arrivée. 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 | 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 du service. |
fare_attributes.txt |
Facultatif | Informations tarifaires des itinéraires d'une agence de transports en commun. |
fare_rules.txt |
Facultatif | Règles d'application des tarifs pour les itinéraires. |
shapes.txt |
Facultatif | Règles cartographiques du parcours des véhicules (parfois appelées alignements d'itinéraire). |
frequencies.txt |
Facultatif | Durée entre les trajets pour les itinéraires présentant une fréquence de service variable. Peut également fournir une représentation sous forme compressée des services dont les horaires sont fixes. |
transfers.txt |
Facultatif | Règles de liaison aux pôles de correspondance entre des itinéraires. |
pathways.txt |
Facultatif | Parcours de liaison à pied entre deux arrêts d'une station. |
levels.txt |
Facultatif | Niveaux dans les stations. |
feed_info.txt |
Obligatoire sous certaines conditions | Métadonnées de l'ensemble de données, y compris des renseignements sur l'éditeur, la version et la date d'expiration. |
translations.txt |
Facultatif | Traduction des informations d'une agence de transports en commun. |
attributions.txt |
Facultatif | Spécifie les attributions appliquées à l'ensemble de données. |
Conditions requises pour les fichiers
Les conditions suivantes s'appliquent au format et au contenu des fichiers de l'ensemble de données :
- Tous les fichiers 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 à l'un des fichiers de l'ensemble de données GTFS et répertorie les noms de champs que vous pouvez utiliser dans ce fichier.
- Tous les noms de champs sont sensibles à la casse.
- 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 de valeurs séparées par des virgules (CSV, Comma-Separated Values) générés par Microsoft Excel suivent ces conventions. Pour en savoir plus sur le format de fichier CSV, consultez la page http://tools.ietf.org/html/rfc4180.
L'exemple suivant montre comment les valeurs de champs se présentent 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"
- Valeur dans le champ d'origine :
- 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. Pour en savoir plus sur le caractère BOM et le codage UTF-8, consultez la page http://unicode.org/faq/utf_bom.html#BOM.
- 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
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
agency_id |
ID | Obligatoire sous certaines conditions | Indique la marque du réseau de transports en commun (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 de ceux des agences. Dans ce document, nous utilisons le terme "agence" pour faire référence à la marque. Un ensemble de données peut inclure des données provenant de plusieurs agences. Ce champ est obligatoire pour les ensembles de données qui contiennent les données de plusieurs agences. Dans les autres cas, il est facultatif. |
agency_name |
Texte | Obligatoire | Nom complet de l'agence de transports en commun. |
agency_url |
URL | Obligatoire | URL de l'agence de transports en commun. |
agency_timezone |
Fuseau horaire | Obligatoire | Fuseau horaire de la zone où se trouve l'agence de transports en commun. Si plusieurs agences sont spécifiées dans l'ensemble de données, le champ agency_timezone doit être le même pour chacune d'entre elles. |
agency_lang |
Code de langue | Facultatif | Langue principale utilisée par cette agence de transports en commun. Ce champ aide les utilisateurs GTFS à définir les règles concernant 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 | Numéro de téléphone de l'agence spécifiée. 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 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 | URL d'une page Web qui permet à un usager d'acheter des tickets ou d'autres titres de transport en ligne auprès de cette agence. |
agency_email |
Adresse e-mail | Facultatif | Adresse e-mail 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 conseiller clientèle de l'agence. |
stops.txt
Fichier : Obligatoire
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". Le même arrêt peut être desservi par plusieurs itinéraires. |
stop_code |
Texte | Facultatif | Texte court ou numéro identifiant l'emplacement pour les usagers. Ces codes 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, afin de fournir aux usagers des informations sur un emplacement en particulier. La valeur de stop_code peut être identique à celle de stop_id si elle est destinée à être vue par les usagers. Laissez ce champ vide pour les emplacements dont le code n'est pas présenté aux usagers. |
stop_name |
Texte | Obligatoire sous certaines conditions | Nom de l'emplacement. Utilisez un nom compréhensible à la fois pour les habitants de la région et pour les touristes. Lorsque l'emplacement est une zone d'embarquement (avec la valeur location_type=4 ), incluez le nom de la zone (tel qu'il est indiqué par l'agence) dans le champ stop_name . Il peut s'agir simplement d'une lettre (comme dans certaines gares européennes) ou d'un texte de type "zone d'accès aménagée pour les fauteuils roulants" (comme dans le métro de New York) ou "accès aux voitures avant" (RER de Paris).Obligatoire sous certaines conditions : • Ce champ est obligatoire pour les emplacements qui sont des arrêts ( location_type=0 ), des stations (location_type=1 ) ou des entrées/sorties (location_type=2 ).• Il est facultatif pour les emplacements qui sont des intersections génériques ( location_type=3 ) ou des zones d'embarquement (location_type=4 ). |
stop_desc |
Texte | Facultatif | Description de l'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 | Latitude de l'emplacement. Obligatoire sous certaines conditions : • Ce champ est obligatoire pour les emplacements qui sont des arrêts ( location_type=0 ), des stations (location_type=1 ) ou des entrées/sorties (location_type=2 ).• Il est facultatif pour les emplacements qui sont des intersections génériques ( location_type=3 ) ou des zones d'embarquement (location_type=4 ). |
stop_lon |
Longitude | Obligatoire sous certaines conditions | Longitude de l'emplacement. Obligatoire sous certaines conditions : • Ce champ est obligatoire pour les emplacements qui sont des arrêts ( location_type=0 ), des stations (location_type=1 ) ou des entrées/sorties (location_type=2 ).• Il est facultatif pour les emplacements qui sont des intersections génériques ( location_type=3 ) ou des zones d'embarquement (location_type=4 ). |
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 . Autrement, il est facultatif. Si l'enregistrement représente une station ou une entrée de station, le champ zone_id est ignoré. |
stop_url |
URL | Facultatif | URL d'une page Web qui décrit l'emplacement. Cette URL doit être différente de celles indiquées dans les champs agency.agency_url et routes.route_url . |
location_type |
Énumération | Facultatif | Type d'emplacement : • 0 ou vide : arrêt ou quai (lieu où les usagers montent dans un véhicule de transport en commun ou en descendent). Le terme "quai" est utilisé lorsque cette valeur est définie au sein d'un champ parent_station .• 1 : station (zone ou structure physique comprenant un ou plusieurs quais)• 2 : entrée ou sortie (lieu où les usagers peuvent entrer dans une station depuis la rue ou en sortir). Si une entrée/sortie appartient à plusieurs stations, tous les chemins correspondants sont indiqués, et le fournisseur de données doit désigner une station en tant que station principale (parente).• 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'embarquement (un emplacement spécifique sur un quai où les usagers peuvent monter à bord d'un véhicule ou en descendre). |
parent_station |
ID qui fait référence à stops.stop_id |
Obligatoire sous certaines conditions | Spécifie la hiérarchie entre les différents emplacements définis dans le fichier stops.txt . Contient l'ID de l'emplacement parent, comme suit :• Arrêt/quai ( location_type=0 ) : le champ parent_station contient l'ID d'une station.• Station ( location_type=1 ) : ce champ doit être vide.• Entrée/sortie ( location_type=2 ) ou intersection générique (location_type=3 ) : le champ parent_station contient l'ID d'une station (location_type=1 ).• zone d'embarquement ( location_type=4 ) : le champ parent_station contient l'ID d'un quai.Obligatoire sous certaines conditions : • Ce champ est obligatoire pour les emplacements qui sont des entrées ( location_type=2 ), des intersections génériques (location_type=3 ) ou des zones d'embarquement (location_type=4 ).• Il est facultatif pour les arrêts/quais ( location_type=0 ).• Il est interdit pour les stations ( location_type=1 ). |
stop_timezone |
Fuseau horaire | Facultatif | Fuseau horaire de l'emplacement. Si l'emplacement a une station parente, il hérite du fuseau horaire de cette dernière plutôt que d'utiliser la sienne. Les stations et les arrêts sans parents dont la valeur stop_timezone est vide héritent du fuseau horaire spécifié par agency.agency_timezone . Si des valeurs stop_timezone sont fournies, les heures incluses dans le fichier stop_times.txt doivent toujours être indiquées en tant qu'heures depuis minuit dans le fuseau horaire spécifié par le champ agency.agency_timezone . 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 |
Énumération | Facultatif | Indique si l'emplacement est aménagé pour les usagers en fauteuil roulant. Les options suivantes sont acceptées : Pour les arrêts sans parents : 0 ou vide : aucune information n'est disponible concernant l'accessibilité de l'arrêt.1 : certains véhicules à cet arrêt peuvent accueillir un usager en fauteuil roulant.2 : les usagers en fauteuil roulant ne peuvent pas monter à bord des véhicules à cet arrêt. Pour un arrêt qui fait partie d'une station : 0 ou vide : l'arrêt hérite du comportement wheelchair_boarding de la station parente, s'il est renseigné.1 : des voies permettent d'accéder en fauteuil roulant à l'arrêt ou au quai en question depuis l'extérieur de la station.2 : aucune voie ne permet d'accéder en fauteuil roulant à l'arrêt ou au quai en question depuis l'extérieur de la station.Pour les entrées/sorties de station : 0 ou vide : l'entrée de la station hérite du comportement wheelchair_boarding de la station principale, s'il est renseigné.1 : l'entrée de la station est accessible en fauteuil roulant.2 : aucune voie accessible en fauteuil roulant ne relie l'entrée de la station aux arrêts/quais. |
level_id |
ID qui fait référence à levels.level_id |
Facultatif | Étage auquel l'emplacement se trouve. Un même étage peut être spécifié pour plusieurs stations distinctes. |
platform_code |
Texte | Facultatif | Identifiant de quai pour un arrêt de type quai (lorsque l'arrêt se trouve dans une station). Il ne doit s'agir que de l'identifiant de la plateforme (par exemple, G ou 3 ). N'ajoutez pas de mots comme "quai" ou "voie", ou l'équivalent dans la langue du flux. Les utilisateurs du flux peuvent ainsi internationaliser plus facilement l'identifiant du quai et le localiser dans d'autres langues. |
routes.txt
Fichier : Obligatoire
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 | 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. Autrement, il est facultatif. |
route_short_name |
Texte | Obligatoire sous certaines conditions | Version courte du nom d'un itinéraire. Il s'agit généralement d'un identifiant court et abstrait (comme "32", "100X" ou "vert") que les passagers utilisent pour identifier un itinéraire, mais qui ne donne aucune indication sur les lieux desservis. Vous devez renseigner soit route_short_name , soit route_long_name , soit ces deux champs. |
route_long_name |
Texte | Obligatoire sous certaines conditions | 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. |
route_desc |
Texte | Facultatif | Description d'un itinéraire. Les informations fournies doivent être utiles et de qualité. Ne vous contentez pas de répéter le nom de l'itinéraire. Exemple : La ligne A circule entre Inwood-207 St, Manhattan, et Far Rockaway-Mott Avenue, Queens à tout moment de la journée. Par ailleurs, d'autres trains de la ligne A circulent de 6 heures à environ minuit, entre Inwood-207 St et Lefferts Boulevard (les trains alternent généralement entre Lefferts Blvd et Far Rockaway). |
route_type |
Énumération | Obligatoire | Décrit le moyen de transport utilisé pour un itinéraire. Les options suivantes sont acceptées : 0 : tramway ou métro léger. Tout système de métro léger ou circulant sur la chaussée dans 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. 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 systèmes de tramways au niveau de la chaussée dans lesquels le câble passe sous le véhicule, comme c'est le cas à San Francisco.6 : téléphérique. Service de transport par câble où les cabines, voitures, télécabines ou sièges sont suspendus à l'aide d'un ou de plusieurs câbles.7 : funiculaire. Tout système ferroviaire conçu pour les pentes raides.11 : trolleybus. Autobus électrique alimenté par des lignes aériennes de contact.12 : monorail. Service de chemin de fer roulant sur une voie constituée d'un rail ou d'une poutre unique. |
route_url |
URL | Facultatif | URL d'une page Web pour un itinéraire spécifique. Elle doit être différente de celle indiquée dans le champ agency.agency_url . |
route_color |
Couleur | Facultatif | Couleur de l'itinéraire correspondant à celle utilisée dans les supports destinés au public. Blanc (FFFFFF ) par défaut, lorsque la valeur est omise ou le champ vide. Les couleurs des champs route_color et route_text_color doivent être suffisamment contrastées pour être lisibles sur un écran noir et blanc. |
route_text_color |
Couleur | Facultatif | Couleur lisible pour le texte à afficher sur la couleur d'arrière-plan route_color . Noir (000000 ) par défaut, lorsque la valeur est omise ou le champ vide. Les couleurs des champs route_color et route_text_color doivent être suffisamment contrastées pour être lisibles sur un écran noir et blanc. |
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 en premier. |
continuous_pickup |
Énumération | Facultatif | Indique si un usager peut monter librement à bord du véhicule de transport en commun à tout moment le long du parcours. Le parcours est décrit dans le fichier shapes.txt pour chaque trajet qui emprunte l'itinéraire. Les options suivantes sont acceptées :0 : montée libre à tout moment le long du parcours.1 ou vide : montée libre non autorisée le long du parcours.2 : les usagers doivent téléphoner à l'agence pour pouvoir monter à bord librement à tout moment le long du parcours.3 : les usagers doivent contacter le conducteur pour pouvoir monter à bord librement à tout moment le long du parcours.Le comportement par défaut de montée libre à tout moment le long du parcours, qui est défini dans le fichier routes.txt , peut être modifié dans le fichier stop_times.txt . |
continuous_drop_off |
Énumération | Facultatif | Indique si un usager peut descendre librement du véhicule de transport en commun à tout moment le long du parcours. Le parcours est décrit dans le fichier shapes.txt pour chaque trajet qui emprunte l'itinéraire. Les options suivantes sont acceptées :0 : descente libre à tout moment le long du parcours.1 ou vide : descente libre non autorisée le long du parcours.2 : les usagers doivent téléphoner à l'agence pour pouvoir descendre librement à tout moment le long du parcours.3 : les usagers doivent contacter le conducteur pour pouvoir descendre librement à tout moment le long du parcours.Le comportement par défaut de descente libre à tout moment le long du parcours, qui est défini dans le fichier routes.txt , peut être modifié dans le fichier stop_times.txt . |
trips.txt
Fichier : Obligatoire
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. |
trip_id |
ID | Obligatoire | Définit un trajet. |
trip_headsign |
Texte | Facultatif | Texte qui apparaît sur la signalétique 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 change au cours d'un trajet, vous pouvez remplacer le champ trip_headsign par les valeurs indiquées dans le champ stop_times.stop_headsign . |
trip_short_name |
Texte | Facultatif | 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'ont pas l'habitude d'utiliser des 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 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. Les options suivantes sont acceptées : 0 : trajet dans un sens (trajet aller, par exemple).1 : trajet dans le sens opposé (trajet retour, par exemple).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 . Voici comment le fichier trips.txt pourrait se présenter en vue de 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 seul trajet ou de nombreux trajets séquentiels effectués par le même véhicule. Les trajets sont regroupés dans un bloc en fonction de journées de service partagées et du champ block_id . Un 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 l'exemple ci-dessous. |
shape_id |
ID qui fait référence à shapes.shape_id |
Obligatoire sous certaines conditions | Définit une forme géospatiale décrivant le parcours du véhicule lors d'un trajet. Obligatoire sous certaines conditions : ce champ est obligatoire si un comportement de montée/descente libre est défini pour le trajet, au niveau de l'itinéraire, ou au niveau des heures d'arrivée et de départ aux arrêts. Dans les autres cas, il est facultatif. |
wheelchair_accessible |
Énumération | Facultatif | Indique si le trajet spécifié est aménagé pour les usagers en fauteuil roulant. Les options suivantes sont acceptées :0 ou vide : aucune information disponible concernant les aménagements pour usagers en fauteuil roulant pour le trajet.1 : le véhicule utilisé pour ce trajet peut accueillir au moins un usager en fauteuil roulant.2 : le véhicule utilisé pour ce trajet ne peut accueillir aucun usager en fauteuil roulant. |
bikes_allowed |
Énumération | Facultatif | Indique si les vélos sont autorisés pour le trajet spécifié. Les options suivantes sont acceptées :0 ou vide : aucune information disponible concernant les aménagements pour vélos pour le trajet.1 : le véhicule utilisé pour ce trajet peut accueillir au moins un vélo.2 : le véhicule utilisé pour ce trajet ne peut accueillir aucun vélo. |
Exemple de blocs et de journées 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 au premier arrêt) | (heure au 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 |
Remarques concernant le tableau ci-dessus :
- Du vendredi au samedi matin, un seul véhicule effectue les trajets
trip_1
,trip_2
ettrip_3
(entre 22 h 00 et 00 h 55). Notez que le dernier trajet est effectué le samedi, de 00h00 à 00h55, 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
ettrip_5
dans un bloc compris entre 20 h 00 et 22 h 55.
stop_times.txt
Fichier : Obligatoire
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 | Heure d'arrivée à un arrêt donné pour un trajet spécifique inclus dans un itinéraire. 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 les heures après minuit de la journée de service, saisissez une valeur supérieure à 24:00:00 au format HH:MM:SS dans l'heure locale du jour où commence le trajet.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. Si un arrêt donné ne correspond pas à un repère temporel, utilisez soit une estimation, soit une heure interpolée. Si l'information n'est pas disponible, laissez le champ arrival_time vide. Par ailleurs, précisez que les heures interpolées sont spécifiées ainsi : timepoint=0 . Si les heures interpolées sont indiquées avec timepoint=0 , les points temporels doivent être indiqués avec timepoint=1 . 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. |
departure_time |
Heure | Obligatoire sous certaines conditions | Heure de départ depuis un arrêt donné pour un trajet spécifique inclus dans un itinéraire. 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 dans l'heure locale du jour où commence le 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 en savoir plus sur la bonne utilisation des repères temporels, lisez la description du champ arrival_time . Le champ departure_time doit indiquer des valeurs de temps chaque fois que possible, y compris les durées estimées ou interpolées (non contractuelles) entre les repères temporels. |
stop_id |
ID qui fait référence à stops.stop_id |
Obligatoire | Identifie l'arrêt desservi. Tous les arrêts desservis pendant un trajet doivent être référencés dans le fichier stop_times.txt . Les emplacements référencés doivent être des arrêts, et non des stations ou des entrées de station. Un arrêt peut être desservi plusieurs fois au cours du même trajet, et plusieurs trajets et itinéraires peuvent desservir le même arrêt. |
stop_sequence |
Entier non négatif | Obligatoire | Ordre des arrêts desservis lors d'un trajet particulier. Les valeurs doivent augmenter à mesure du trajet, mais ne doivent pas nécessairement être consécutives. Par exemple, le premier arrêt du trajet pourrait avoir la valeur stop_sequence=1 , le deuxième arrêt du trajet pourrait avoir la valeur stop_sequence=23 , le troisième arrêt la valeur stop_sequence=40 , et ainsi de suite. |
stop_headsign |
Texte | Facultatif | Texte qui apparaît sur la signalétique indiquant aux usagers la destination du trajet. Utilisez ce champ pour remplacer la valeur par défaut du champ trips.trip_headsign lorsque le texte du panneau varie entre les arrêts. Si ce texte s'applique à l'intégralité du trajet, utilisez plutôt le champ trips.trip_headsign . Une valeur stop_headsign indiquée pour un champ stop_time ne s'applique pas aux valeurs stop_time suivantes pour un même trajet. Si vous souhaitez remplacer le texte du champ trip_headsign pour plusieurs valeurs stop_time d'un même trajet, vous devez répéter la valeur stop_headsign sur chaque ligne stop_time . |
pickup_type |
Énumération | Facultatif | Indique les possibilités de montée à bord. Les options suivantes sont acceptées :0 ou vide : les usagers peuvent monter à bord aux horaires standards. 1 : les usagers ne peuvent pas monter à bord.2 : les usagers doivent téléphoner à l'agence pour pouvoir monter à bord.3 : les usagers doivent contacter le conducteur pour pouvoir monter. |
drop_off_type |
Énumération | Facultatif | Indique les possibilités de descente du véhicule. Les options suivantes sont acceptées :0 ou vide : les usagers peuvent descendre aux horaires standards.1 : les usagers ne peuvent pas descendre du véhicule.2 : les usagers doivent téléphoner à l'agence pour pouvoir descendre du véhicule.3 : les usagers doivent contacter le conducteur pour pouvoir descendre du véhicule. |
continuous_pickup |
Énumération | Facultatif | Indique si un usager peut monter librement à bord du véhicule de transport en commun à tout moment le long du parcours. Le parcours est décrit dans le fichier shapes.txt , entre l'heure stop_time et l'heure stop_time suivante du champ stop_sequence associé au trajet. Les options suivantes sont acceptées :0 : montée libre à tout moment le long du parcours.1 ou vide : montée libre non autorisée le long du parcours.2 : les usagers doivent téléphoner à l'agence pour pouvoir monter à bord librement à tout moment le long du parcours.3 : les usagers doivent contacter le conducteur pour pouvoir monter à bord librement à tout moment le long du parcours.Le comportement par défaut de montée libre à tout moment le long du parcours, qui est défini dans le fichier stop_times.txt remplace tout comportement défini dans le fichier routes.txt . |
continuous_drop_off |
Énumération | Facultatif | Indique si un usager peut descendre librement du véhicule en transport en commun à tout moment le long du parcours, comme décrit dans le fichier shapes.txt , entre l'heure stop_time et l'heure stop_time suivante du champ stop_sequence associé au trajet.0 : descente libre à tout moment le long du parcours.1 ou vide : descente libre non autorisée le long du parcours.2 : les usagers doivent téléphoner à l'agence pour pouvoir descendre librement à tout moment le long du parcours.3 : les usagers doivent contacter le conducteur pour pouvoir descendre librement à tout moment le long du parcours.Le comportement par défaut de descente libre à tout moment le long du parcours, qui est défini dans le fichier stop_times.txt remplace tout comportement défini dans le fichier routes.txt . |
shape_dist_traveled |
Flottant non négatif | Facultatif | Indique la distance réelle parcourue le long du tracé donné entre le premier arrêt et l'arrêt spécifié dans cet enregistrement. Ce champ détermine la proportion du tracé à afficher entre deux arrêts donnés d'un trajet. La valeur doit être exprimée dans les mêmes unités que celles utilisées dans le fichier shapes.txt . 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.Exemple : Si un bus parcourt une distance de 5,25 kilomètres du début du tracé à l'arrêt, shape_dist_traveled=5.25 . |
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, ou s'il s'agit plutôt d'heures approximatives et/ou interpolées. Ce champ permet au producteur d'un ensemble de données GTFS de fournir des heures d'arrêt interpolées, tout en indiquant si les heures sont approximatives. Les options suivantes sont acceptées :0 : les horaires sont considérés comme approximatifs.1 ou vide : les horaires sont considérés comme exacts. |
calendar.txt
Fichier : obligatoire sous certaines conditions
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. Chaque valeur du champ service_id peut apparaître au maximum une fois dans un fichier calendar.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 . Sachez que vous pouvez répertorier des exceptions pour des dates particulières dans le fichier calendar_dates.txt . Les options suivantes sont acceptées :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 | Date de début du service. |
end_date |
Date | Obligatoire | Date de fin du service (date incluse dans la période de service). |
calendar_dates.txt
Fichier : obligatoire sous certaines conditions
Le tableau calendar_dates.txt
permet d'activer ou de désactiver explicitement le service en fonction des dates. Vous pouvez l'utiliser de deux manières.
- Méthode recommandée : utilisez le fichier
calendar_dates.txt
conjointement avec le fichiercalendar.txt
pour créer des exceptions aux formats de service par défaut définis dans le fichiercalendar.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). Dans ce cas,calendar_dates.service_id
est un ID qui fait référence àcalendar.service_id
. - Autre méthode : omettez le fichier
calendar.txt
et spécifiez chaque date de service dans le fichiercalendar_dates.txt
. Cette méthode permet de prendre en compte des horaires variables et convient aux services n'ayant pas d'horaires hebdomadaires standards. Dans ce cas,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. Chaque paire (service_id , date ) ne peut apparaître qu'une seule fois dans le fichier calendar_dates.txt si vous utilisez conjointement calendar.txt et 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 modifient celles indiquées pour le service dans le fichier calendar.txt . |
date |
Date | Obligatoire | Date à laquelle le service proposé est différent du service standard. |
exception_type |
Énumération | Obligatoire | Indique si le service est disponible à la date spécifiée dans le champ date . Les options suivantes sont acceptées :1 : le service a été ajouté pour la date spécifiée.2 : le service a été supprimé pour 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 pourriez alors définir un champ service_id correspondant aux horaires de service standards et un autre champ service_id correspondant aux horaires pendant les 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 | Type | Obligatoire | Description |
---|---|---|---|
fare_id |
ID | Obligatoire | Identifie une classe tarifaire. |
price |
Flottant non négatif | Obligatoire | Tarif du titre de transport dans la devise spécifiée dans le champ currency_type . |
currency_type |
Code de devise | Obligatoire | 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é. Les options suivantes sont acceptées :0 : les usagers achètent le titre de transport lorsqu'ils montent à bord.1 : les usagers doivent acheter le titre de transport avant de monter à bord. |
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. Les options suivantes sont acceptées :0 : aucune correspondance n'est autorisée pour ce tarif.1 : une seule correspondance est autorisée.2 : deux correspondances sont autorisées.Champ vide : le nombre de correspondances autorisées est illimité. |
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 si le fichier agency.txt des ensembles de données comprend plusieurs agences. Autrement, il est facultatif. |
transfer_duration |
Entier non négatif | Facultatif | Durée, en secondes, avant l'expiration d'une correspondance. Si transfers=0 , ce champ peut servir à indiquer la durée de validité d'un titre de transport. Il est également possible de laisser ce champ vide. |
fare_rules.txt
Fichier : facultatif
Le tableau fare_rules.txt
indique 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 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 https://code.google.com/p/googletransitdatafeed/wiki/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.route_id |
Facultatif | Identifie un itinéraire associé à la classe tarifaire. S'il existe plusieurs itinéraires présentant les mêmes attributs de tarif, créez un enregistrement 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 : fare_id,route_id b,TSW b,TSE |
origin_id |
ID qui fait référence à stops.zone_id |
Facultatif | Identifie une zone de provenance. Si une classe tarifaire comprend plusieurs zones de provenance, créez alors un enregistrement dans le fichier fare_rules.txt pour chaque champ origin_id .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 : fare_id,...,origin_id b,...,2 b,...,8 |
destination_id |
ID qui fait référence à stops.zone_id |
Facultatif | Identifie une zone de destination. Si une classe tarifaire comprend plusieurs zones de destination, créez alors un enregistrement dans le fichier fare_rules.txt pour chaque champ 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 enregistrements suivants 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. 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 : fare_id,route_id,...,contains_id 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 page https://code.google.com/p/googletransitdatafeed/wiki/FareExamples dans le wiki de projet GoogleTransitDataFeed. |
shapes.txt
Fichier : facultatif
Les tracés décrivent le parcours emprunté par un véhicule sur la totalité d'un itinéraire. Ils sont définis dans le fichier shapes.txt
. Les tracés sont associés à des trajets. Ils sont représentés par une séquence de points successifs que le véhicule traverse. Les tracés ne doivent pas reproduire exactement l'emplacement des arrêts. Toutefois, tous les arrêts d'un trajet doivent se trouver non loin du tracé de ce dernier, c'est-à-dire proches des segments de ligne droite reliant les points du tracé.
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
shape_id |
ID | Obligatoire | Identifie un tracé. |
shape_pt_lat |
Latitude | Obligatoire | Latitude d'un point du tracé. Chaque enregistrement du fichier shapes.txt représente un point utilisé pour définir le tracé. |
shape_pt_lon |
Longitude | Obligatoire | Longitude d'un point du tracé. |
shape_pt_sequence |
Entier non négatif | Obligatoire | Séquence selon laquelle les points du tracé sont reliés les uns aux autres pour former le tracé. Les valeurs doivent augmenter au fur et à mesure du trajet, mais ne doivent pas nécessairement être consécutives. Si, par exemple, le tracé "A_shp" présente trois points dans sa définition, le fichier shapes.txt est susceptible de contenir ces enregistrements 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 | Distance réelle parcourue le long du tracé entre le premier point du tracé jusqu'à celui spécifié dans cet enregistrement. Les outils de planification d'itinéraires peuvent utiliser ces informations pour afficher la portion correcte du tracé sur une carte. Les valeurs saisies 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 de distance doivent correspondre à celles utilisées 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 : 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 (soit les laps de temps entre les trajets). Vous pouvez inclure deux types de service différents :
- Un service basé sur la fréquence (
exact_times=0
). Ce type de service n'a pas d'horaire précis dans la journée. Les opérateurs s'efforcent plutôt de respecter un intervalle prédéterminé entre les trajets. - Une représentation compressée d'un service basé sur des horaires (
exact_times=1
). Ce type de service effectue des trajets à intervalles fixes sur une période spécifiée. Dans ce cas, les opérateurs s'efforcent de respecter strictement un horaire.
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 | Heure à laquelle le premier véhicule part du premier arrêt du trajet à la fréquence spécifiée. |
end_time |
Heure | Obligatoire | 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 | Laps de temps en secondes entre les départs depuis un même arrêt (appelé "intervalle entre les passages") pour le trajet, 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. Un nouvel intervalle peut commencer précisément à l'heure à laquelle un autre se termine. |
exact_times |
Énumération | Facultatif | Indique le type de service pour un trajet. Pour en savoir plus, consultez la description du fichier. Les options suivantes sont acceptées :0 ou vide : trajets basés sur la fréquence.1 : trajets basés sur des horaires et effectués à intervalles fixes tout au long de 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 l'ensemble de données 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 enfants. |
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 enfants. |
transfer_type |
Énumération | Obligatoire | Indique le type de correspondance pour la paire (from_stop_id , to_stop_id ) spécifiée. Les options suivantes sont acceptées :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 prendre la correspondance.2 : correspondance nécessitant une durée minimale entre l'heure d'arrivée et l'heure de départ. Spécifiez la durée en question dans le champ min_transfer_time .3 : aucune correspondance possible entre deux itinéraires à cet emplacement.4 : les passagers peuvent rester à bord du même véhicule pour effectuer une correspondance d'un trajet à l'autre (correspondance sans changement).5 : la correspondance n'est pas autorisée entre les trajets séquentiels. Le passager doit quitter le véhicule et remonter à bord. |
min_transfer_time |
Entier non négatif | Facultatif | Délai (en secondes) devant être accordé 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 les deux arrêts, et prévoir une marge pour tenir compte des variations éventuelles des horaires prévus. |
pathways.txt
Fichier : facultatif
L'extension GTFS-Pathways décrit les trajets en métro ou en train à l'aide d'intersections (les emplacements) et de bordures (les chemins).
Pour passer de l'entrée (soit une intersection représentée sous forme d'emplacement location_type=2
) à un quai (soit une intersection représentée sous forme d'emplacement location_type=0
), l'usager doit traverser des voies piétonnes, des portes de validation du titre de transport, des escaliers, etc. (à savoir des bordures représentées sous forme de chemins). La proposition ajoute également un autre type d'emplacement, appelé "intersection générique", pour représenter, par exemple, une passerelle à partir de laquelle différentes voies piétonnes peuvent être empruntées.
Attention : Vous devez répertorier tous les chemins au sein d'une station. Par conséquent, dès qu'un quai (en tant qu'arrêt), qu'une entrée ou qu'une intersection appartenant à une station sont reliés à un chemin, il est supposé que cette station comporte une description exhaustive de ses chemins. Les règles de bon sens suivantes s'appliquent donc :
- 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 quais qui comportent des zones d'embarquement).
- Pas de quai isolé : chaque quai doit être relié à au moins une entrée par une série de chemins. Il existe en réalité très peu de stations d'où vous ne pouvez pas vous rendre dehors.
- Pas de chemin vers un quai comportant des zones d'embarquement : ces quais sont considérés comme des objets parents, et non comme des intersections. Il est possible qu'aucun chemin ne leur soit attribué. Tous les chemins doivent mener aux zones d'embarquement.
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
pathway_id |
ID | Obligatoire | Le champ pathway_id identifie le chemin de manière unique. Le champ pathway_id est utilisé par les systèmes en tant qu'identifiant interne de cet enregistrement (semblable à la clé primaire dans une base de données). De ce fait, le champ pathway_id doit être unique dans l'ensemble de données. 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 | Emplacement de départ du chemin. Il contient un champ stop_id qui identifie un quai, une entrée/sortie, une intersection générique ou une zone d'embarquement à partir du fichier stops.txt . |
to_stop_id |
ID qui fait référence à stops.stop_id |
Obligatoire | Emplacement d'arrivée du chemin. Il contient un champ stop_id qui identifie un quai, une entrée/sortie, une intersection générique ou une zone d'embarquement à partir du fichier stops.txt . |
pathway_mode |
Énumération | Obligatoire | Type de chemin pour la paire spécifiée (from_stop_id , to_stop_id ). Les valeurs suivantes sont acceptées : • 1 : voie piétonne • 2 : escalier • 3 : tapis roulant • 4 : escalier mécanique • 5 : ascenseur • 6 : porte de validation (ou de paiement) du titre de transport, autrement dit chemin qui traverse une zone de la station dans laquelle une preuve de paiement est exigée.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 éviter que les usagers n'empruntent des raccourcis dans les stations qui les obligeraient à s'acquitter inutilement de frais, par exemple s'ils devaient traverser un quai de métro pour atteindre un couloir de bus. • 7 : porte de sortie : indique un chemin quittant une zone de la station dans laquelle une preuve de paiement est exigée pour entrer dans une zone où cette preuve n'est plus nécessaire. |
is_bidirectional |
Énumération | Obligatoire | Indique dans quel sens les usagers peuvent emprunter le chemin : • 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 | Longueur du chemin en mètres, dans le sens horizontal. La longueur est mesurée en mètres à 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 ( pathway_mode=1 ), les portes de validation du titre de transport (pathway_mode=6 ) et les portes de sortie (pathway_mode=7 ). |
traversal_time |
Entier positif | Facultatif | Durée moyenne, en secondes, nécessaire pour parcourir le chemin à 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 tapis roulants ( pathway_mode=3 ), les escaliers mécaniques (pathway_mode=4 ) et les ascenseurs (pathway_mode=5 ). |
stair_count |
Entier non nul | Facultatif | Nombre de marches d'escalier à gravir sur le chemin. Bonnes pratiques : il est possible d'utiliser l'estimation selon laquelle un étage correspond à 15 marches afin de générer des valeurs approximatives. Une valeur positive dans le champ stair_count signifie que les usagers doivent monter pour se rendre de l'emplacement from_stop_id à l'emplacement to_stop_id . Une valeur négative dans le champ stair_count signifie quant à elle que les usagers doivent descendre pour se rendre de l'emplacement from_stop_id à l'emplacement to_stop_id .Ce champ est recommandé pour les chemins qui comportent des escaliers ( pathway_mode=2 ). |
max_slope |
Flottant | Facultatif | Pente maximale du chemin exprimée en pourcentage. Les valeurs acceptées sont les 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 ( pathway_type=1 ) et les tapis roulants (pathway_type=3 ).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 une hausse de 0,083 m (soit 8,3 cm) par tranche de 1 m. |
min_width |
Flottant positif | Facultatif | 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 | Chaîne de texte correspondant exactement aux panneaux affichés auprès des usagers du service de transports en commun. Ce texte peut être utilisé pour fournir des indications aux usagers ("suivre les panneaux jusqu'à…", par exemple). 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. Ce fichier est particulièrement utile lorsqu'il est utilisé en même temps que le fichier pathways.txt
. Il est en outre obligatoire en cas d'ascenseur (pathway_mode=5
) afin de pouvoir inviter les usagers à prendre l'ascenseur pour accéder à l'étage "Mezzanine" ou "Quais".
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
level_id |
ID | Obligatoire | Identifiant de l'étage pouvant être référencé à partir du fichier stops.txt . |
level_index |
Flottant | Obligatoire | Indice numérique associé à l'étage. Indique la position relative 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 | Nom facultatif attribué à 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 vers un ascenseur, par exemple pour les inviter à accéder à l'étage "Mezzanine", "Quais" ou "-1". |
feed_info.txt
Fichier : obligatoire sous certaines conditions
Ce fichier contient des informations sur l'ensemble de données lui-même, plutôt que sur les services que cet ensemble décrit. Dans certains cas, l'éditeur de l'ensemble de données est une entité distincte des agences. Si translations.txt
est fourni, ce fichier est obligatoire.
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
feed_publisher_name |
Texte | Obligatoire | Nom complet de l'organisation qui publie l'ensemble de données. Peut correspondre à l'une des valeurs du champ agency.agency_name . |
feed_publisher_url |
URL | Obligatoire | URL du site Web de l'organisation qui publie l'ensemble de données. Peut correspondre à l'une des valeurs du champ agency.agency_url . |
feed_lang |
Code de langue | Obligatoire | 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 liées à l'utilisation des majuscules et d'autres paramètres linguistiques pour l'ensemble de données. Vous pouvez spécifier une autre langue dans le champ language du fichier translations.txt .La langue par défaut peut être multilingue lorsque le texte d'origine de l'ensemble de données est rédigé en plusieurs langues. Dans un tel cas, utilisez le code de langue ISO 639-2 mul dans le champ feed_lang . Dans le fichier translations.txt , fournissez une traduction pour chacune des langues utilisées dans l'ensemble de données. Si l'intégralité du texte de l'ensemble de données est rédigée dans la même langue, n'utilisez pas le code de langue mul .Par exemple, supposons qu'un ensemble de données en Suisse inclut des noms d'arrêts en différentes langues dans le champ stops.stop_name . Chaque nom est rédigé dans la langue principale utilisée dans la zone géographique correspondant à l'arrêt en question. Les arrêts incluent "Genève" pour la ville francophone de Genève, "Zürich" pour la ville germanophone de Zurich et "Biel/Bienne" pour la ville bilingue de Bienne. Dans ce cas, définissez feed_lang=mul et fournissez les traductions suivantes dans le fichier translations.txt :
|
default_lang |
Code de langue | Facultatif | Spécifie la langue à utiliser lorsque l'utilisateur des données ne connaît pas la langue de l'usager. Souvent défini comme en , anglais. |
feed_start_date |
Date | Facultatif | L'ensemble de données fournit des informations complètes et fiables sur les horaires du service au cours de la période allant du début du jour feed_start_date à la fin du jour feed_end_date . Les deux jours indiqués peuvent être 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. Nous recommandons aux fournisseurs de l'ensemble de données d'ajouter des informations sur les horaires en dehors de cette période afin que les usagers soient informés des services susceptibles d'être fournis pendant 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 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 , l'ensemble de données suppose de manière explicite qu'aucun service n'est assuré pour les dates qui sont comprises entre feed_start_date et feed_end_date , mais qui ne sont pas incluses dans les dates du calendrier actif. |
feed_end_date |
Date | Facultatif | Référez-vous à la ligne feed_start_date de ce tableau. |
feed_version |
Texte | Facultatif | Version actuelle de l'ensemble de données GTFS (sous forme de chaîne). Les applications utilisant l'ensemble de données GTFS peuvent afficher cette valeur afin de permettre aux éditeurs de déterminer si c'est bien la dernière version qui a été intégrée. |
feed_contact_email |
Adresse e-mail | Facultatif | Adresse e-mail à employer pour les communications liées à l'ensemble de données GTFS et aux pratiques de publication des données. Le champ feed_contact_email fournit un contact technique pour les applications utilisant l'ensemble de données GTFS. Les coordonnées du service client sont fournies dans le fichier agency.txt . |
feed_contact_url |
URL | Facultatif | URL permettant d'accéder aux coordonnées, à un formulaire Web, au service d'assistance ou à tout autre outil de communication concernant 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 applications utilisant l'ensemble de données GTFS. Les coordonnées du service client sont fournies dans le fichier agency.txt . |
translations.txt
Fichier : facultatif
Nom du champ | Type | Obligatoire | Description | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
table_name |
Énumération | Obligatoire |
Définit le tableau de l'ensemble de données contenant le champ à traduire. Les valeurs suivantes sont autorisées :
|
||||||||||||||||||
field_name |
Texte | Obligatoire |
Spécifie le nom du champ à traduire. Les champs de type "Texte" peuvent être traduits, tandis que ceux de type "URL", "Adresse e-mail" et "Numéro de téléphone" peuvent être inclus ici afin de fournir ces informations dans la langue appropriée. |
||||||||||||||||||
language |
Code de langue | Obligatoire |
Indique la langue de traduction. Si elle est identique à celle de Par exemple, en Suisse, une ville d'un canton bilingue est officiellement appelée "Biel/Bienne", mais elle est simplement appelée "Bienne" en français et "Biel" en allemand. |
||||||||||||||||||
translation |
Texte, URL, adresse e-mail ou numéro de téléphone | Obligatoire | Spécifie la valeur traduite pour le champ field_name spécifié. |
||||||||||||||||||
record_id |
ID | Obligatoire sous certaines conditions |
Spécifie l'enregistrement correspondant au champ à traduire. La valeur associée à
Les conditions suivantes déterminent comment ce champ peut être utilisé :
|
||||||||||||||||||
record_sub_id |
ID | Obligatoire sous certaines conditions |
Permet de traduire l'enregistrement contenant le champ lorsque le tableau spécifié dans
Les conditions suivantes déterminent comment ce champ peut être utilisé :
|
||||||||||||||||||
field_value |
Texte, URL, adresse e-mail ou numéro de téléphone | Obligatoire sous certaines conditions |
Au lieu de définir l'enregistrement à traduire à l'aide des champs Le champ doit correspondre exactement à la valeur définie dans Si deux règles de traduction correspondent au même enregistrement, l'une avec Les conditions suivantes déterminent comment ce champ peut être utilisé :
|
attributions.txt
Fichier : facultatif
Nom du champ | Type | Obligatoire | Description |
---|---|---|---|
attribution_id |
ID | Facultatif | Identifie une attribution pour l'ensemble de données ou un sous-ensemble de ces données. Ce champ est utile en cas de traduction. |
agency_id |
ID faisant référence | Facultatif | L'agence à laquelle l'attribution s'applique. Si vous définissez une attribution agency_id , route_id ou trip_id , laissez les autres champs vides. Si aucune n'est spécifiée, l'attribution s'applique à l'intégralité de l'ensemble de données. |
route_id |
ID faisant référence | Facultatif | Ce champ fonctionne de la même manière que agency_id , mais dans ce cas, l'attribution s'applique à un itinéraire. Plusieurs attributions peuvent s'appliquer au même itinéraire. |
trip_id |
ID faisant référence | Facultatif | Ce champ fonctionne de la même manière que agency_id , mais dans ce cas, l'attribution s'applique à un trajet. Plusieurs attributions peuvent s'appliquer au même trajet. |
organization_name |
Texte | Obligatoire | Nom de l'organisation à laquelle est attribué l'ensemble de données. |
is_producer |
Énumération | Facultatif | L'organisation a un rôle de producteur. Les valeurs suivantes sont autorisées : • 0 ou vide : l'organisation n'a pas ce rôle.• 1 : l'organisation a ce rôle.Au moins l'un des champs ( is_producer , is_operator ou is_authority ) doit avoir la valeur 1 . |
is_operator |
Énumération | Facultatif | Fonctionne de la même manière que le champ is_producer , mais dans ce cas, l'organisation a le rôle d'opérateur. |
is_authority |
Énumération | Facultatif | Fonctionne de la même manière que le champ is_producer , mais dans ce cas, l'organisation a le rôle d'autorité. |
attribution_url |
URL | Facultatif | URL de l'organisation. |
attribution_email |
Adresse e-mail | Facultatif | Adresse e-mail de l'organisation. |
attribution_phone |
Numéro de téléphone | Facultatif | Numéro de téléphone de l'organisation. |