diff --git a/docs/fr/documentation/overview.md b/docs/fr/documentation/overview.md index 831470630..391518480 100644 --- a/docs/fr/documentation/overview.md +++ b/docs/fr/documentation/overview.md @@ -1,6 +1,6 @@ # General Transit Feed Specification (GTFS) - La General Transit Feed Specification (GTFS) est une [norme ouverte](https://www.interoperablemobility.org/definitions/#open_standard) utilisée pour diffuser des informations pertinentes sur les systèmes de transport en commun aux cavaliers. Il permet __agences de transport en commun__ de publier leurs données de transport en commun dans un format pouvant être utilisé par une grande variété d’applications logicielles. + La General Transit Feed Specification (GTFS) est une [norme ouverte](https://www.interoperablemobility.org/definitions/#open_standard) utilisée pour diffuser des informations pertinentes sur les systèmes de transport en commun aux cavaliers. Il permet aux agences de transport en commun de publier leurs données de transport en commun dans un format pouvant être utilisé par une grande variété d’applications logicielles. GTFS se compose de deux parties principales : [GTFS Schedule](../schedule/reference) et [GTFS Realtime](../realtime/reference). @@ -12,7 +12,7 @@ Parallèlement à cet ensemble de fichiers de base, des fichiers supplémentaires (facultatifs) peuvent également être regroupés pour fournir des informations sur d’autres éléments de service, tels que les tarifs, les traductions, les transferts, les itinéraires en gare, etc. Il existe actuellement plus de 15 des fichiers facultatifs qui étendent les éléments de base de GTFS, notamment locations.geojson qui a introduit un nouveau format en plus des fichiers texte (.txt) qui peuvent être utilisés pour représenter des zones géographiques. - La source de vérité pour tous les fichiers de planification GTFS est la [Référence de planification GTFS] officielle (../schedule/reference), qui fournit des informations détaillées sur les exigences pour tous les éléments d’information de chaque fichier qui compose un ensemble de données de planification GTFS.. + La source de vérité pour tous les fichiers de GTFS Schedule est la [Référence de GTFS Schedule](../schedule/reference) officielle, qui fournit des informations détaillées sur les exigences pour tous les éléments d’information de chaque fichier qui compose un ensemble de données de GTFS Schedule. ## [GTFS Realtime](../realtime/reference) @@ -21,7 +21,9 @@ La spécification prend actuellement en charge les types d’informations suivants : - - Mises à jour des trajets- retards, annulations, itinéraires modifiés- Alertes de service- arrêt déplacé, événements imprévus affectant une gare, un itinéraire ou l’ensemble du réseau- Positions des véhicules- informations sur les véhicules, y compris l’emplacement et le niveau de congestion + - Mises à jour des trajets - retards, annulations, itinéraires modifiés + - Alertes de service - arrêt déplacé, événements imprévus affectant une gare, un itinéraire ou l’ensemble du réseau + - Positions des véhicules - informations sur les véhicules, y compris l’emplacement et le niveau de congestion Pour en savoir plus à leur sujet, visitez la section [Feed Entities](../realtime/feed_entities/overview). diff --git a/docs/fr/documentation/schedule/reference.md b/docs/fr/documentation/schedule/reference.md index 8664d525d..c9ee52ea5 100644 --- a/docs/fr/documentation/schedule/reference.md +++ b/docs/fr/documentation/schedule/reference.md @@ -78,7 +78,7 @@ - **Date** - Jour de service au format AAAAMMJJ. Étant donné que l’heure d’une journée de service peut être supérieure à 24:00:00, une journée de service peut contenir des informations pour le(s) jour(s) suivant(s).
*Exemple : « 20180913 » pour le 13 septembre 2018.* - **E-mail** - Une adresse e-mail.
*Exemple : `example@example.com`* - **Enum** - Une option parmi un ensemble de constantes prédéfinies définies dans la colonne "Description".
*Exemple : Le champ `route_type` contient un `0` pour le tramway, un `1` pour le métro...* - - **ID** - Une valeur de champ ID est un identifiant interne, non destiné à être montré aux passagers, et est une séquence de n’importe quel caractère UTF-8. Il est recommandé d’utiliser uniquement des caractères ASCII imprimables. Un identifiant est appelé "Clé primaire" lorsqu’il doit être unique au sein d’un fichier. Les identifiants définis dans un fichier.txt sont souvent référencés dans un autre fichier.txt. Les identifiants qui font référence à un identifiant dans une autre table sont étiquetés "Clé étrangère".
*Exemple : Le champ `stop_id` dans [stops.txt](#stopstxt) est une "Clé primaire". Le champ `parent_station` dans [stops.txt](#stopstxt) est une "Clé étrangère faisant référence à `stops.stop_id`".* + - **ID** - Une valeur de champ ID est un identifiant interne, non destiné à être montré aux passagers, et est une séquence de n’importe quel caractère UTF-8. Il est recommandé d’utiliser uniquement des caractères ASCII imprimables. Un identifiant est appelé "ID unique" lorsqu’il doit être unique au sein d’un fichier. Les identifiants définis dans un fichier.txt sont souvent référencés dans un autre fichier.txt. Les identifiants qui font référence à un identifiant dans une autre table sont étiquetés "ID étranger".
*Exemple : Le champ `stop_id` dans [stops.txt](#stopstxt) est une "ID unique". Le champ `parent_station` dans [stops.txt](#stopstxt) est une "ID étranger faisant référence à `stops.stop_id`".* - **Code de langue** - Un code de langue IETF BCP 47. Pour une introduction à l’IETF BCP 47, reportez-vous à [http://www.rfc-editor.org/rfc/bcp/bcp47 .txt](http://www.rfc-editor.org/rfc/bcp/bcp47 .txt) et [http://www.w3.org/International/articles/langage-tags/](http:).
*Exemple : `en` pour l’anglais, `en-US` pour l’anglais américain ou `de` pour l’allemand.* - **Latitude** - Latitude WGS84 en degrés décimaux. La valeur doit être supérieure ou égale à -90,0 et inférieure ou égale à 90,0. *
Exemple : « 41.890169 » pour le Colisée de 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 de Rome.* @@ -86,7 +86,7 @@ - **Entier** - Un entier. - **Numéro de téléphone** - Un numéro de téléphone. - **Heure** - Heure au format HH:MM:SS (H:MM:SS est également accepté). L’heure est mesurée à partir de « midi moins 12h » du jour de service (en fait minuit sauf les jours où se produisent des changements d’heure d’été). Pour les heures se produisant après minuit le jour du service, entrez l’heure sous la forme d’une valeur supérieure à 24:00:00 en HH:MM:SS.
*Exemple : `14:30:00` pour 14h30 ou `25:35:00` pour 1h35 du matin le lendemain.* - - **Text** - Une string de caractères UTF-8, qui est destiné à être affiché et doit donc être lisible par l’homme. + - **Texte** - Une string de caractères UTF-8, qui est destiné à être affiché et doit donc être lisible par l’homme. - **Timezone** - Fuseau horaire TZ du [https://www.iana.org/time-zones](https://www.iana.org/time-zones). Les noms de fuseau horaire ne contiennent jamais de caractère espace mais peuvent contenir un trait de soulignement. Reportez-vous à [http://en.wikipedia.org/wiki/List\_of\_tz\_zones](http://en.wikipedia.org/wiki/List\_of\_tz\_zones) pour une liste de valeurs valides .
*Exemple : `Asia/Tokyo`, `America/Los_Angeles` ou `Africa/Cairo`.* - **URL** - Une URL complète qui inclut http://ou https://, et tout élément spécial les caractères de l’URL doivent être correctement échappés. Voir ce qui suit [http://www.w3.org/Addressing/URL/4\_URI\_Recommentations.html](http://www.w3.org/Addressing/URL/4\_URI\_Recommentations.html) pour une description de la façon de créer des valeurs d’URL complètes. @@ -100,7 +100,7 @@ _Exemple : **float non négatif ** - Un nombre à virgule flottante supérieur ou égal à 0._ ### Attributs du jeu de données - La **clé primaire** d’un jeu de données est le champ ou la combinaison de champs qui identifient de manière unique une ligne. La «Primary key (*)» est utilisée lorsque tous les champs fournis pour un fichier sont utilisés pour identifier de manière unique une ligne. `y` key (none)` signifie que le fichier n’autorise qu’une seule ligne. + La **clé primaire** d’un jeu de données est le champ ou la combinaison de champs qui identifient de manière unique une ligne. La `Clé primaire(*)` est utilisée lorsque tous les champs fournis pour un fichier sont utilisés pour identifier de manière unique une ligne. `Clé primaire (none)` signifie que le fichier n’autorise qu’une seule ligne. _Exemple : les champs `trip_id` et `stop_sequence` constituent la clé primaire de [stop_times.txt](#stop_timestxt)._ @@ -111,7 +111,7 @@ | Nom du fichier | Présence | Descriptif | |------|------|------| | [agency.txt](#agencytxt) | **Requis** | Agences de transport en commun dont le service est représenté dans ce jeu de données. | - | [stops.txt](#stopstxt) | **Requis sous condition** | Arrêts où les véhicules prennent ou déposent les passagers. Définit également les gares et les entrées des gares.

Requis sous condition :
- Optionnel si des zones à la demande sont définies dans [locations.geojson](#locationsgeojson).
- **Obligatoire** sinon. | + | [stops.txt](#stopstxt) | **Requis sous condition** | Arrêts où les véhicules prennent ou déposent les passagers. Définit également les gares et les entrées des gares.

Requis sous condition :
- Optionnel si des services de transport à la demande zonaux sont définis dans [locations.geojson](#locationsgeojson).
- **Obligatoire** sinon. | | [routes.txt](#routestxt) | **Requis** | Itinéraires de transit. Un itinéraire est un groupe de trajets présentés aux passagers comme un service unique. | | [trips.txt](#tripstxt) | **Requis** | Trajets pour chaque itinéraire. Un trajet est une séquence de deux arrêts ou plus qui se produisent pendant une période de temps spécifique. | | [stop_times.txt](#stop_timestxt) | **Requis** | Heures d’arrivée et de départ d’un véhicule pour chaque trajet. | @@ -183,8 +183,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `agency_id` | Identifiant unique | **Requis sous condition** | Identifie une marque de transport en commun qui est souvent synonyme d’agence de transport en commun. Notez que dans certains cas, par exemple lorsqu’une seule agence gère plusieurs services distincts, les agences et les marques sont distinctes. Ce document utilise le terme « agence » à la place de « marque ». Un jeu de données peut contenir des données provenant de plusieurs agences.

Requis sous condition:
- **Requis** lorsque le jeu de données contient des données pour plusieurs agences de transport en commun.
- Recommandé autrement. | - | `agency_name` | Text | **Requis** | Nom complet de l’agence de transport. | + | `agency_id` | ID unique | **Requis sous condition** | Identifie une marque de transport en commun qui est souvent synonyme d’agence de transport en commun. Notez que dans certains cas, par exemple lorsqu’une seule agence gère plusieurs services distincts, les agences et les marques sont distinctes. Ce document utilise le terme « agence » à la place de « marque ». Un jeu de données peut contenir des données provenant de plusieurs agences.

Requis sous condition:
- **Requis** lorsque le jeu de données contient des données pour plusieurs agences de transport en commun.
- Recommandé autrement. | + | `agency_name` | Texte | **Requis** | Nom complet de l’agence de transport. | | `agency_url` | URL | **Requis** | URL de l’agence de transport en commun. | | `agency_timezone` | Fuseau horaire | **Requis** | Fuseau horaire où se trouve l’agence de transport en commun. Si plusieurs agences sont spécifiées dans le jeu de données, chacune doit avoir le même `agency_timezone`. | | `agency_lang` | Code de langue | Optionnel | Langue principale utilisée par cette agence de transport en commun. Doit être fourni pour aider les consommateurs GTFS à choisir les règles de capitalisation et d’autres paramètres spécifiques à la langue pour le jeu de données. | @@ -200,21 +200,21 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `stop_id` | Identifiant unique | **Requis** | Identifie un emplacement : arrêt/quai, station, entrée/sortie, nœud générique ou zone d’embarquement (voir `location_type`).

L’ID doit être unique parmi toutes les valeurs `stops.stop_id`, locations.geojson `id` et `location_groups.location_group_id` .

Plusieurs routes peuvent utiliser le même `stop_id`. | - | `stop_code` | Text | Optionnel | Un texte court ou un numéro qui identifie l’emplacement pour les passagers. Ces codes sont souvent utilisés dans les systèmes d’information sur les transports en commun par téléphone ou imprimés sur la signalisation pour permettre aux usagers d’obtenir plus facilement des informations sur un emplacement particulier. Le « `stop_code` » peut être le même que « `stop_id` » s’il est public. Ce champ doit être laissé vide pour les emplacements sans code présenté aux passagers. | - | `stop_name` | Text | **Requis sous condition** | Nom de l’emplacement. Le « `stop_name` » doit correspondre au nom de l’agence destiné aux usagers de l’emplacement, tel qu’imprimé sur un horaire, publié en ligne ou représenté sur la signalisation. Pour les traductions dans d’autres langues, utilisez [translations.txt](#translationstxt).

Lorsque l’emplacement est une zone d’embarquement (`location_type=4`), le `stop_name` doit contenir le nom de la zone d’embarquement tel qu’affiché par l’agence. Il peut s’agir d’une simple lettre (comme dans certaines gares ferroviaires interurbaines européennes) ou d’un texte comme « Zone d’embarquement pour fauteuils roulants » (métro de New York) ou « Chef des trains courts » (RER de Paris).

Requis sous condition:
- **Requis** pour les emplacements qui sont des arrêts (`location_type=0`), des gares (`location_type=1`) ou des entrées/sorties (`location_type=2`).
- Optionnel pour les emplacements qui sont des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`).| - | `tts_stop_name` | Text | Optionnel | Version lisible du `stop_name`. Voir « Champ de synthèse vocale » dans les [Définitions des termes](#definitions-des-termes) pour en savoir plus. | - | `stop_desc` | Text | Optionnel | Description du lieu qui fournit des informations utiles et de qualité. Ne doit pas être un double de `stop_name`.| + | `stop_id` | ID unique | **Requis** | Identifie un emplacement : arrêt/quai, station, entrée/sortie, nœud générique ou zone d’embarquement (voir `location_type`).

L’ID doit être unique parmi toutes les valeurs `stops.stop_id`, locations.geojson `id` et `location_groups.location_group_id` .

Plusieurs routes peuvent utiliser le même `stop_id`. | + | `stop_code` | Texte | Optionnel | Un texte court ou un numéro qui identifie l’emplacement pour les passagers. Ces codes sont souvent utilisés dans les systèmes d’information sur les transports en commun par téléphone ou imprimés sur la signalisation pour permettre aux usagers d’obtenir plus facilement des informations sur un emplacement particulier. Le « `stop_code` » peut être le même que « `stop_id` » s’il est public. Ce champ doit être laissé vide pour les emplacements sans code présenté aux passagers. | + | `stop_name` | Texte | **Requis sous condition** | Nom de l’emplacement. Le « `stop_name` » doit correspondre au nom de l’agence destiné aux usagers de l’emplacement, tel qu’imprimé sur un horaire, publié en ligne ou représenté sur la signalisation. Pour les traductions dans d’autres langues, utilisez [translations.txt](#translationstxt).

Lorsque l’emplacement est une zone d’embarquement (`location_type=4`), le `stop_name` doit contenir le nom de la zone d’embarquement tel qu’affiché par l’agence. Il peut s’agir d’une simple lettre (comme dans certaines gares ferroviaires interurbaines européennes) ou d’un texte comme « Zone d’embarquement pour fauteuils roulants » (métro de New York) ou « Chef des trains courts » (RER de Paris).

Requis sous condition:
- **Requis** pour les emplacements qui sont des arrêts (`location_type=0`), des gares (`location_type=1`) ou des entrées/sorties (`location_type=2`).
- Optionnel pour les emplacements qui sont des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`).| + | `tts_stop_name` | Texte | Optionnel | Version lisible du `stop_name`. Voir « Champ de synthèse vocale » dans les [Définitions des termes](#definitions-des-termes) pour en savoir plus. | + | `stop_desc` | Texte | Optionnel | Description du lieu qui fournit des informations utiles et de qualité. Ne doit pas être un double de `stop_name`.| | `stop_lat` | Latitudes | **Requis sous condition** | Latitude du lieu.

Pour les arrêts/quais (`location_type=0`) et la zone d’embarquement (`location_type=4`), les coordonnées doivent être celles du poteau de bus — s’il existe — et sinon de l’endroit où les voyageurs montent à bord du véhicule (sur le trottoir ou le quai, et non sur la chaussée ou la piste où le véhicule s’arrête).

Requis sous condition:
- **Requis** pour les emplacements qui sont des arrêts (`location_type=0`), des gares (`location_type=1`) ou des entrées/sorties (`location_type=2`).
- Optionnel pour les emplacements qui sont des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`).| | `stop_lon` | Longitude | **Requis sous condition** | Longitude du lieu.

Pour les arrêts/quais (`location_type=0`) et la zone d’embarquement (`location_type=4`), les coordonnées doivent être celles du poteau de bus — s’il existe — et sinon de l’endroit où les voyageurs montent à bord du véhicule (sur le trottoir ou le quai, et non sur la chaussée ou la piste où le véhicule s’arrête).

Requis sous condition:
- **Requis** pour les emplacements qui sont des arrêts (`location_type=0`), des gares (`location_type=1`) ou des entrées/sorties (`location_type=2`).
- Optionnel pour les emplacements qui sont des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`). | | `zone_id` | ID | Optionnel | Identifie la zone tarifaire pour un arrêt. Si cette entrée représente une station ou une entrée de station, le `zone_id` est ignoré.| | `stop_url` | URL | Optionnel | URL d’une page Web sur l’emplacement. Cela doit être différent des valeurs des champs `agency.agency_url` et `routes.route_url`. | | `location_type` | Énumération | Optionnel | Type de lieu. Les options valides sont :

`0` (ou vide) - **Stop** (ou **Plateforme**). Un endroit où les passagers montent ou descendent d’un véhicule de transport en commun. Est appelée une plate-forme lorsqu’elle est définie dans un `parent_station`.
`1` - **Gare**. Une structure physique ou une zone qui contient une ou plusieurs plates-formes.
`2` - **Entrée/Sortie**. Un endroit où les passagers peuvent entrer ou sortir d’une gare depuis la rue. Si une entrée/sortie appartient à plusieurs stations, elle peut être reliée par des chemins aux deux, mais le fournisseur de données doit en choisir une comme parent.
`3` - **Nœud générique**. Un emplacement au sein d’une station, ne correspondant à aucun autre `location_type`, qui peut être utilisé pour relier les chemins définis dans [pathways.txt](#pathwaystxt).
`4` - **Zone d’embarquement**. Un emplacement spécifique sur une plate-forme, où les passagers peuvent monter et/ou descendre des véhicules.| - | `parent_station` | Clé étrangère faisant référence à `stops.stop_id` | **Requis sous condition** | Définit la hiérarchie entre les différents emplacements définis dans [stops.txt](#stopstxt). Il contient l’ID de l’emplacement parent, comme suit :

- **Arrêt/plateforme** (`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 **nœud générique** (`location_type=3`) : le champ `parent_station` contient l’ID d’une station (`location_type=1`)
- **Boarding Area** (`location_type=4`) : le champ `parent_station` contient l’ID d’une plateforme.

Requis sous condition:
- **Requis** pour les emplacements qui sont des entrées (`location_type=2`), des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`).
- Optionnel pour les arrêts/plates-formes (`location_type=0`).
- Interdit aux stations (`location_type=1`).| + | `parent_station` | ID étranger faisant référence à `stops.stop_id` | **Requis sous condition** | Définit la hiérarchie entre les différents emplacements définis dans [stops.txt](#stopstxt). Il contient l’ID de l’emplacement parent, comme suit :

- **Arrêt/plateforme** (`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 **nœud générique** (`location_type=3`) : le champ `parent_station` contient l’ID d’une station (`location_type=1`)
- **Boarding Area** (`location_type=4`) : le champ `parent_station` contient l’ID d’une plateforme.

Requis sous condition:
- **Requis** pour les emplacements qui sont des entrées (`location_type=2`), des nœuds génériques (`location_type=3`) ou des zones d’embarquement (`location_type=4`).
- Optionnel pour les arrêts/plates-formes (`location_type=0`).
- Interdit aux stations (`location_type=1`).| | `stop_timezone` | Fuseau horaire | Optionnel | Fuseau horaire du lieu. Si l’emplacement possède une station parent, il hérite du fuseau horaire de la station parent au lieu d’appliquer le sien. Les stations et les arrêts sans parents avec `stop_timezone` vide héritent du fuseau horaire spécifié par `agency.agency_timezone`. Les heures fournies dans [stop_times.txt](#stop_timestxt) sont dans le fuseau horaire spécifié par `agency.agency_timezone`, et non dans `stop_timezone`. Cela garantit que les valeurs temporelles d’un trajet augmentent toujours au cours du trajet, indépendamment du quels fuseaux horaires le voyage traverse. | | `wheelchair_boarding` | Énumération | Optionnel | Indique si l’embarquement des fauteuils roulants est possible depuis l’emplacement. Les options valides sont :

Pour les arrêts sans parents :
`0` ou vide- Aucune information d’accessibilité pour l’arrêt.
`1` - Certains véhicules à cet arrêt peuvent être embarqués par un passager en fauteuil roulant.
`2` - L’embarquement en fauteuil roulant n’est pas possible à cet arrêt.

Pour les arrêts enfant :
`0` ou vide- Stop héritera de son comportement `wheelchair_boarding` de la station parent, si spécifié dans le parent.
`1` - Il existe un chemin accessible depuis l’extérieur de la gare jusqu’à l’arrêt/le quai spécifique.
`2` - Il n’existe aucun chemin accessible depuis l’extérieur de la gare vers l’arrêt/le quai spécifique.

Pour les entrées/sorties de gare :
`0` ou vide- L’entrée de la station héritera de son comportement `wheelchair_boarding` de la station parent, si spécifié pour le parent.
`1` - L’entrée de la gare est accessible aux personnes en fauteuil roulant.
`2` - Aucun chemin accessible depuis l’entrée de la gare jusqu’aux arrêts/quais. | - | `level_id` | Clé étrangère faisant référence à `levels.level_id` | Optionnel | Niveau de l’emplacement. Le même niveau peut être utilisé par plusieurs stations non liées.| - | `platform_code` | Text | Optionnel | Identifiant de quai pour un arrêt de quai (un arrêt appartenant à une gare). Il doit s’agir uniquement de l’identifiant de la plate-forme (par exemple "G" ou "3"). Les mots tels que « plateforme » ou « piste » (ou l’équivalent spécifique à la langue du flux) ne doivent pas être inclus. Cela permet aux consommateurs de flux d’internationaliser et de localiser plus facilement l’identifiant de la plateforme dans d’autres langues. | + | `level_id` | ID étranger faisant référence à `levels.level_id` | Optionnel | Niveau de l’emplacement. Le même niveau peut être utilisé par plusieurs stations non liées.| + | `platform_code` | Texte | Optionnel | Identifiant de quai pour un arrêt de quai (un arrêt appartenant à une gare). Il doit s’agir uniquement de l’identifiant de la plate-forme (par exemple "G" ou "3"). Les mots tels que « plateforme » ou « piste » (ou l’équivalent spécifique à la langue du flux) ne doivent pas être inclus. Cela permet aux consommateurs de flux d’internationaliser et de localiser plus facilement l’identifiant de la plateforme dans d’autres langues. | ### routes.txt @@ -225,11 +225,11 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `route_id` | Identifiant unique | **Requis** | Identifie un itinéraire. | - | `agency_id` | Clé étrangère faisant référence à `agency.agency_id` | **Requis sous condition** | Agence pour l’itinéraire spécifié.

Requis sous condition:
- **Requis** si plusieurs agences sont définies dans [agency.txt](#agencytxt).
- Recommandé autrement. | - | `route_short_name` | Text | **Requis sous condition** | Nom court d’un itinéraire. Il s’agit souvent d’un identifiant court et abstrait (par exemple, « 32 », « 100X », « Green ») que les usagers utilisent pour identifier un itinéraire. `route_short_name` et `route_long_name` peuvent être définis.

Requis sous condition:
- **Requis** si `routes.route_long_name` est vide.
- Recommandé s’il existe une brève désignation de service. Il doit s’agir du nom communément connu du passager du service et ne doit pas dépasser 12 caractères. | - | `route_long_name` | Text | **Requis sous condition** | Nom complet d’un itinéraire. Ce nom est généralement plus descriptif que « `route_short_name` » et inclut souvent la destination ou l’arrêt de l’itinéraire. `route_short_name` et `route_long_name` peuvent être définis.

Requis sous condition:
- **Requis** si `routes.route_short_name` est vide.
- Optionnel sinon. | - | `route_desc` | Text | Optionnel | Description d’un itinéraire fournissant des informations utiles et de qualité. Ne doit pas être un double de `route_short_name` ou `route_long_name`.
_Exemple : les trains « A » circulent à tout moment entre Inwood-207 St, Manhattan et Far Rockaway-Mott Avenue, Queens. Également d’environ 6 heures du matin jusqu’à environ minuit, des trains « A » supplémentaires circulent entre Inwood-207 St et Lefferts Boulevard (les trains alternent généralement entre Lefferts Blvd et Far Rockaway)._ | + | `route_id` | ID unique | **Requis** | Identifie un itinéraire. | + | `agency_id` | ID étranger faisant référence à `agency.agency_id` | **Requis sous condition** | Agence pour l’itinéraire spécifié.

Requis sous condition:
- **Requis** si plusieurs agences sont définies dans [agency.txt](#agencytxt).
- Recommandé autrement. | + | `route_short_name` | Texte | **Requis sous condition** | Nom court d’un itinéraire. Il s’agit souvent d’un identifiant court et abstrait (par exemple, « 32 », « 100X », « Green ») que les usagers utilisent pour identifier un itinéraire. `route_short_name` et `route_long_name` peuvent être définis.

Requis sous condition:
- **Requis** si `routes.route_long_name` est vide.
- Recommandé s’il existe une brève désignation de service. Il doit s’agir du nom communément connu du passager du service et ne doit pas dépasser 12 caractères. | + | `route_long_name` | Texte | **Requis sous condition** | Nom complet d’un itinéraire. Ce nom est généralement plus descriptif que « `route_short_name` » et inclut souvent la destination ou l’arrêt de l’itinéraire. `route_short_name` et `route_long_name` peuvent être définis.

Requis sous condition:
- **Requis** si `routes.route_short_name` est vide.
- Optionnel sinon. | + | `route_desc` | Texte | Optionnel | Description d’un itinéraire fournissant des informations utiles et de qualité. Ne doit pas être un double de `route_short_name` ou `route_long_name`.
_Exemple : les trains « A » circulent à tout moment entre Inwood-207 St, Manhattan et Far Rockaway-Mott Avenue, Queens. Également d’environ 6 heures du matin jusqu’à environ minuit, des trains « A » supplémentaires circulent entre Inwood-207 St et Lefferts Boulevard (les trains alternent généralement entre Lefferts Blvd et Far Rockaway)._ | | `route_type` | Énumération | **Requis** | Indique le type de transport utilisé sur un itinéraire. Les options valides sont :

`0` - Tramway, Tramway, Train léger sur rail. Tout système de train léger sur rail ou au niveau de la rue dans une zone métropolitaine.
`1` - Métro, Métro. Tout système ferroviaire souterrain au sein d’une zone métropolitaine.
`2` - Rail. Utilisé pour les voyages interurbains ou longue distance.
`3` - Autobus. Utilisé pour les lignes de bus courtes et longues distances.
`4` - Traversier. Utilisé pour le service de bateaux sur courte et longue distance.
`5` - Téléphérique. Utilisé pour les wagons au niveau de la rue où le câble passe sous le véhicule (par exemple, téléphérique à San Francisco).
`6` - Téléphérique, téléphérique suspendu (par exemple télécabine, téléphérique). Transport par câble où des cabines, des voitures, des gondoles ou des chaises ouvertes sont suspendues au moyen d’un ou plusieurs câbles.
`7` - Funiculaire. Tout système ferroviaire conçu pour les pentes raides.
`11` - Chariotbus. Bus électriques alimentés par des lignes aériennes à l’aide de poteaux.
`12` - Monorail. Chemin de fer dont la voie est constituée d’un seul rail ou d’une poutre. | | `route_url` | URL | Optionnel | URL d’une page Web sur l’itinéraire particulier. Doit être différent de la valeur `agency.agency_url`. | | `route_color` | Couleur | Optionnel | Désignation de couleur de l’itinéraire qui correspond au matériel destiné au public. La valeur par défaut est blanc (`FFFFFF`) lorsqu’elle est omise ou laissée vide. La différence de couleur entre « `route_color` » et « `route_text_color` » devrait fournir un contraste suffisant lorsqu’elle est visualisée sur un écran noir et blanc. | @@ -247,14 +247,14 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `route_id` | Clé étrangère faisant référence à `routes.route_id` | **Requis** | Identifie un itinéraire. | - | `service_id` | Clé étrangère faisant référence à `calendar.service_id` ou `calendar_dates.service_id` | **Requis** | Identifie un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. | - | `trip_id` | Identifiant unique | **Requis** | Identifie un voyage. | - | `trip_headsign` | Text | Optionnel | Text qui apparaît sur la signalisation identifiant la destination du voyage aux passagers. Ce champ est recommandé pour tous les services avec une Girouette affichée sur le véhicule qui peut être utilisé pour distinguer les trajets d'un itinéraire.

Si le signe change pendant un voyage, les valeurs de `trip_headsign` peuvent être remplacées en définissant des valeurs dans `stop_times.stop_headsign` pour des `stop_time` spécifiques tout au long du voyage. | - | `trip_short_name` | Text | Optionnel | Texte destiné au public utilisé pour identifier le trajet des usagers, par exemple, pour identifier les numéros de train pour les trajets en train de banlieue. Si les passagers ne s’appuient pas généralement sur les noms de voyage, `trip_short_name` doit être vide. Une valeur `trip_short_name`, si elle est fournie, doit identifier de manière unique un voyage au cours d’une journée de service ; il ne doit pas être utilisé pour les noms de destination ou les désignations limitées/expresses. | + | `route_id` | ID étranger faisant référence à `routes.route_id` | **Requis** | Identifie un itinéraire. | + | `service_id` | ID étranger faisant référence à `calendar.service_id` ou `calendar_dates.service_id` | **Requis** | Identifie un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. | + | `trip_id` | ID unique | **Requis** | Identifie un voyage. | + | `trip_headsign` | Texte | Optionnel | Texte qui apparaît sur la signalisation identifiant la destination du voyage aux passagers. Ce champ est recommandé pour tous les services avec une girouette affichée sur le véhicule qui peut être utilisé pour distinguer les trajets d'un itinéraire.

Si la girouette change pendant un voyage, les valeurs de `trip_headsign` peuvent être remplacées en définissant des valeurs dans `stop_times.stop_headsign` pour des `stop_time` spécifiques tout au long du voyage. | + | `trip_short_name` | Texte | Optionnel | Texte destiné au public utilisé pour identifier le trajet des usagers, par exemple, pour identifier les numéros de train pour les trajets en train de banlieue. Si les passagers ne s’appuient pas généralement sur les noms de voyage, `trip_short_name` doit être vide. Une valeur `trip_short_name`, si elle est fournie, doit identifier de manière unique un voyage au cours d’une journée de service ; il ne doit pas être utilisé pour les noms de destination ou les désignations limitées/expresses. | | `direction_id` | Énumération | Optionnel | Indique la direction du voyage pour un voyage. Ce champ ne doit pas être utilisé dans le routage ; il permet de séparer les trajets par direction lors de la publication des horaires. Les options valides sont :

`0` - Voyage dans une direction (par exemple, voyage aller).
`1` - Voyage dans la direction opposée (par exemple voyage entrant).
*Exemple : Les champs `trip_headsign` et `direction_id` peuvent être utilisés ensemble pour attribuer un nom pour voyager dans chaque direction pour un ensemble de trajets. Un fichier [trips.txt](#tripstxt) peut contenir ces entrées à utiliser dans les horaires :*
`trip_id,...,trip_headsign,direction_id`
`1234,...,Aéroport,0`
`1505,...,Centre-ville,1` | | `block_id` | ID | Optionnel | Identifie le bloc auquel appartient le voyage. Un bloc se compose d’un seul trajet ou de plusieurs trajets séquentiels effectués à l’aide du même véhicule, définis par des jours de service partagés et `block_id`. Un `block_id` peut avoir des trajets avec des jours de service différents, créant ainsi des blocs distincts. Voir l’[exemple ci-dessous](#exemple-blocs-et-jour-de-service). Pour fournir des informations sur les transferts à bord, [transfers](#transferstxt) de `transfer_type` `4` doit être fourni à la place. | - | `shape_id` | Clé étrangère faisant référence à `shapes.shape_id` | **Requis sous condition** | Identifie une forme géospatiale décrivant le trajet du véhicule pour un voyage.

Requis sous condition:
- **Requis** si le trajet a un comportement de prise en charge ou de dépose continu défini soit dans [routes.txt](#routestxt) soit dans [stop_times.txt](#stop_timestxt).
- Optionnel sinon. | + | `shape_id` | ID étranger faisant référence à `shapes.shape_id` | **Requis sous condition** | Identifie une forme géospatiale décrivant le trajet du véhicule pour un voyage.

Requis sous condition:
- **Requis** si le trajet a un comportement de prise en charge ou de dépose continu défini soit dans [routes.txt](#routestxt) soit dans [stop_times.txt](#stop_timestxt).
- Optionnel sinon. | | `wheelchair_accessible` | Énumération | Optionnel | Indique l’accessibilité en fauteuil roulant. Les options valides sont :

`0` ou vide- Aucune information d’accessibilité pour le voyage.
`1` - Le véhicule utilisé lors de ce voyage particulier peut accueillir au moins un passager en fauteuil roulant.
`2` - Aucun passager en fauteuil roulant ne peut être accueilli lors de ce voyage. | | `bikes_allowed` | Énumération | Optionnel | Indique si les vélos sont autorisés. Les options valides sont :

`0` ou vide- Aucune information sur le vélo pour le trajet.
`1` - Le véhicule utilisé lors de ce voyage particulier peut accueillir au moins un vélo.
`2` - Aucun vélo n’est autorisé lors de ce voyage. | @@ -283,14 +283,14 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `trip_id` | Clé étrangère faisant référence à `trips.trip_id` | **Requis** | Identifie un voyage. | + | `trip_id` | ID étranger faisant référence à `trips.trip_id` | **Requis** | Identifie un voyage. | | `arrival_time` | Temps | **Requis sous condition** | Heure d’arrivée à l’arrêt (défini par `stop_times.stop_id`) pour un trajet spécifique (défini par `stop_times.trip_id`) dans le fuseau horaire spécifié par `agency.agency_timezone`, et non `stops.stop_timezone`.

S’il n’y a pas d’heures distinctes pour l’arrivée et le départ à un arrêt, `arrival_time` et `departure_time` doivent être les mêmes.

Pour les heures se produisant après minuit le jour du service, entrez l’heure sous la forme d’une valeur supérieure à 24:00:00 en HH:MM:SS.

Si les heures exactes d’arrivée et de départ (`timepoint=1`) ne sont pas disponibles, les heures d’arrivée et de départ estimées ou interpolées (`timepoint=0`) doivent être fournies.

Requis sous condition:
- **Requis** pour le premier et le dernier arrêt d’un trajet (défini par `stop_times.stop_sequence`).
- **Requis** pour `timepoint=1`.
- **Interdit** lorsque `start_pickup_drop_off_window` ou `end_pickup_drop_off_window` sont définis.
- Optionnel sinon.| | `departure_time` | Temps | **Requis sous condition** | Heure de départ de l’arrêt (défini par `stop_times.stop_id`) pour un trajet spécifique (défini par `stop_times.trip_id`) dans le fuseau horaire spécifié par `agency.agency_timezone`, et non `stops.stop_timezone`.

S’il n’y a pas d’heures distinctes pour l’arrivée et le départ à un arrêt, `arrival_time` et `departure_time` doivent être les mêmes.

Pour les heures se produisant après minuit le jour du service, entrez l’heure sous la forme d’une valeur supérieure à 24:00:00 en HH:MM:SS.

Si les heures exactes d’arrivée et de départ (`timepoint=1`) ne sont pas disponibles, les heures d’arrivée et de départ estimées ou interpolées (`timepoint=0`) doivent être fournies.

Requis sous condition:
- **Requis** pour `timepoint=1`.
- **Interdit** lorsque `start_pickup_drop_off_window` ou `end_pickup_drop_off_window` sont définis.
- Optionnel sinon. | - | `stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie l’arrêt desservi. Tous les arrêts desservis au cours d’un trajet doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Les emplacements référencés doivent être des arrêts/plates-formes, c’est-à-dire que leur valeur `stops.location_type` doit être `0` ou vide. Un arrêt peut être desservi plusieurs fois au cours d’un même trajet, et plusieurs trajets et itinéraires peuvent desservir le même arrêt.

Le service à la demande utilisant les arrêts doit être référencé dans l’ordre dans lequel le service est disponible à ces arrêts. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

Requis sous condition:
- **Requis** si `s`. location_group_id` ET `s`. location_id` ne sont PAS définis.
- **Interdit** si `s`. location_group_id` ou `s`. location_id` sont définis. | - | `location_group_id` | Clé étrangère faisant référence à `location_groups.location_group_id` | **Interdit sous condition** | Identifie le groupe d’emplacements desservis qui indique les groupes d’arrêts où les passagers peuvent demander une prise en charge ou un retour. Tous les groupes d’emplacements desservis pendant un trajet doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Plusieurs trajets et itinéraires peuvent desservir le même groupe d’emplacements.

Le service à la demande utilisant des groupes d’emplacements doit être référencé dans l’ordre dans lequel le service est disponible dans ces groupes d’emplacements. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

**Interdit sous condition** :
- **Interdit** si `stop_times.stop_id` ou `s`. location_id` sont définis. | - | `location_id` | Clé étrangère faisant référence à « `id` » à partir de « `locations.geojson` » | **Interdit sous condition** | Identifie l’emplacement GeoJSON qui correspond à la zone desservie où les passagers peuvent demander une prise en charge ou un retour. Tous les emplacements GeoJSON desservis lors d’un voyage doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Plusieurs trajets et itinéraires peuvent desservir le même emplacement GeoJSON.

Le service à la demande dans les emplacements doit être référencé dans l’ordre dans lequel le service est disponible dans ces emplacements. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

**Interdit sous condition** :
- **Interdit** si `stop_times.stop_id` ou `s`. location_group_id` sont définis. | + | `stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie l’arrêt desservi. Tous les arrêts desservis au cours d’un trajet doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Les emplacements référencés doivent être des arrêts/plates-formes, c’est-à-dire que leur valeur `stops.location_type` doit être `0` ou vide. Un arrêt peut être desservi plusieurs fois au cours d’un même trajet, et plusieurs trajets et itinéraires peuvent desservir le même arrêt.

Le service à la demande utilisant les arrêts doit être référencé dans l’ordre dans lequel le service est disponible à ces arrêts. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

Requis sous condition:
- **Requis** si `s`. location_group_id` ET `s`. location_id` ne sont PAS définis.
- **Interdit** si `s`. location_group_id` ou `s`. location_id` sont définis. | + | `location_group_id` | ID étranger faisant référence à `location_groups.location_group_id` | **Interdit sous condition** | Identifie le groupe d’emplacements desservis qui indique les groupes d’arrêts où les passagers peuvent demander une prise en charge ou un retour. Tous les groupes d’emplacements desservis pendant un trajet doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Plusieurs trajets et itinéraires peuvent desservir le même groupe d’emplacements.

Le service à la demande utilisant des groupes d’emplacements doit être référencé dans l’ordre dans lequel le service est disponible dans ces groupes d’emplacements. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

**Interdit sous condition** :
- **Interdit** si `stop_times.stop_id` ou `s`. location_id` sont définis. | + | `location_id` | ID étranger faisant référence à « `id` » à partir de « `locations.geojson` » | **Interdit sous condition** | Identifie l’emplacement GeoJSON qui correspond à la zone desservie où les passagers peuvent demander une prise en charge ou un retour. Tous les emplacements GeoJSON desservis lors d’un voyage doivent avoir une entrée dans [stop_times.txt](#stop_timestxt). Plusieurs trajets et itinéraires peuvent desservir le même emplacement GeoJSON.

Le service à la demande dans les emplacements doit être référencé dans l’ordre dans lequel le service est disponible dans ces emplacements. Un application réutilisatrice de données doit supposer que le voyage est possible d’un arrêt ou d’un lieu à n’importe quel arrêt ou lieu plus tard dans le voyage, à condition que le `pickup/drop_off_type` de chaque stop_time et les contraintes de temps de chaque `start/end_pickup_drop_off_window` ne l’interdisent pas..

**Interdit sous condition** :
- **Interdit** si `stop_times.stop_id` ou `s`. location_group_id` sont définis. | | `stop_sequence` | Entier non négatif | **Requis** | Ordre des arrêts, groupes de lieux ou emplacements GeoJSON pour un trajet particulier. Les valeurs doivent augmenter tout au long du trajet mais ne doivent pas nécessairement être consécutives.
*Exemple : Le premier emplacement du voyage pourrait avoir une `stop_sequence`= `1`, le deuxième emplacement du voyage pourrait avoir une `stop_sequence`=`23`, le troisième emplacement pourrait avoir une `stop_sequence`=`40`, et ainsi de suite.*

Voyager au sein du même groupe d’emplacements ou emplacement GeoJSON nécessite deux entrées dans [stop_times.txt](#stop_timestxt) avec le même `location_group_id` ou `location_id`. | - | `stop_headsign` | Text | Optionnel | Text qui apparaît sur la signalisation identifiant la destination du voyage aux passagers. Ce champ remplace le « `trips.trip_headsign` » par défaut lorsque le panneau change entre les arrêts. Si le headsign est affiché pour un voyage entier, « `trips.trip_headsign` » doit être utilisé à la place.

Une valeur `stop_headsign` spécifiée pour un `stop_time` ne s’applique pas aux `stop_time` suivants dans le même trajet. Si vous souhaitez remplacer le `trip_headsign` pour plusieurs `stop_time` dans le même trajet, la valeur `stop_headsign` doit être répétée dans chaque ligne `stop_time`. | + | `stop_headsign` | Texte | Optionnel | Texte qui apparaît sur la signalisation identifiant la destination du voyage aux passagers. Ce champ remplace le « `trips.trip_headsign` » par défaut lorsque le panneau change entre les arrêts. Si le headsign est affiché pour un voyage entier, « `trips.trip_headsign` » doit être utilisé à la place.

Une valeur `stop_headsign` spécifiée pour un `stop_time` ne s’applique pas aux `stop_time` suivants dans le même trajet. Si vous souhaitez remplacer le `trip_headsign` pour plusieurs `stop_time` dans le même trajet, la valeur `stop_headsign` doit être répétée dans chaque ligne `stop_time`. | | `start_pickup_drop_off_window` | Temps | **Requis sous condition** | Heure à laquelle le service à la demande devient disponible dans un emplacement GeoJSON, un groupe d’emplacements ou un arrêt.

**Requis sous condition** :
- **Requis** si `s`. location_group_id` ou `s`. location_id` est défini.
- **Requis** si `end_pickup_drop_off_window` est défini.
- **Interdit** si `arrival_time` ou `departure_time` est défini.
- Optionnel sinon. | | `end_pickup_drop_off_window` | Temps | **Requis sous condition** | Heure à laquelle le service à la demande se termine dans un emplacement, un groupe d’emplacements ou un arrêt GeoJSON.

**Requis sous condition** :
- **Requis** si `s`. location_group_id` ou `s`. location_id` est défini.
- **Requis** si `start_pickup_drop_off_window` est défini.
- **Interdit** si `arrival_time` ou `departure_time` est défini.
- Optionnel sinon. | | `pickup_type` | Énumération | **Interdit sous condition** | Indique la méthode de ramassage. Les options valides sont :

`0` ou vide – Retrait régulier.
`1` - Aucun ramassage disponible.
`2` - Doit téléphoner à l’agence pour organiser le ramassage.
`3` - Doit se coordonner avec le chauffeur pour organiser le ramassage.

**Interdit sous condition** :
- `pickup_type=0` **interdit** si `start_pickup_drop_off_window` ou `end_pickup_drop_off_window` sont définis.
- `pickup_type=3` **interdit** si `start_pickup_drop_off_window` ou `end_pickup_drop_off_window` sont définis.
- Optionnel sinon. | @@ -299,8 +299,8 @@ | `continuous_drop_off` | Énumération | **Interdit sous condition** | Indique que le passager peut descendre du véhicule de transport en commun à tout moment le long du trajet du véhicule comme décrit par [shapes.txt](#shapestxt), de cette « `stop_time` » à la suivante « `stop_time` » dans la « `stop_sequence` » du trajet. Les options valides sont :

`0` - Arrêt continu du dépôt.
`1` ou vide- Pas de chute d’arrêt continue.
`2` - Doit téléphoner à l’agence pour organiser un dépôt en continu.
`3` - Doit se coordonner avec le conducteur pour organiser un arrêt continu du dépôt.

Si ce champ est renseigné, il remplace tout comportement de dépôt continu défini dans [routes.txt](#routestxt). Si ce champ est vide, le `stop_time` hérite de tout comportement de dépôt continu défini dans [routes.txt](#routestxt).

**Interdit sous condition** :
- **Interdit** si `start_pickup_drop_off_window` ou `end_pickup_drop_off_window` sont définis.
- Optionnel sinon. | | `shape_dist_traveled` | float non négatif | Optionnel | Distance réelle parcourue le long de la forme associée, du premier arrêt à l’arrêt spécifié dans cette entrée. Ce champ spécifie la quantité de forme à dessiner entre deux arrêts au cours d’un trajet. Doit être dans les mêmes unités que celles utilisées dans [shapes.txt](#shapestxt). Les valeurs utilisées pour `shape_dist_traveled` doivent augmenter avec `stop_sequence`; ils ne doivent pas être utilisés pour montrer un voyage inverse le long d’un itinéraire.

Recommandé pour les itinéraires en boucle ou en ligne (le véhicule traverse ou parcourt la même portion d’alignement en un seul trajet). Voir [`shapes.shape_dist_traveled`](#shapestxt).
*Exemple : Si un bus parcourt une distance de 5,25 kilomètres depuis le début du formulaire jusqu’à l’arrêt, `shape_dist_traveled`=`5,25`.*| | `timepoint` | Énumération | Optionnel | Indique si les heures d’arrivée et de départ d’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 à un producteur GTFS de fournir des temps d’arrêt interpolés, tout en indiquant que les temps sont approximatifs. Les options valides sont :

`0` - Les temps sont considérés comme approximatifs.
`1` - Les heures sont considérées comme exactes.

Tous les enregistrements de [stop_times.txt](#stop_timestxt) avec des heures d'arrivée ou de départ définies doivent avoir des valeurs de timepoint renseignées. Si aucune valeur de timepoint n'est fournie, toutes les heures sont considérées comme exactes. | - | `pickup_booking_rule_id` | Clé étrangère faisant référence à `booking_rules.booking_rule_id` | Optionnel | Identifie la règle de réservation d’embarquement à cette heure d’arrêt.

Recommandé lorsque `pickup_type=2`. | - | `drop_off_booking_rule_id` | Clé étrangère faisant référence à `booking_rules.booking_rule_id` | Optionnel | Identifie la règle de réservation de descente à cette heure d’arrêt.

Recommandé lorsque `drop_off_type=2`. | + | `pickup_booking_rule_id` | ID étranger faisant référence à `booking_rules.booking_rule_id` | Optionnel | Identifie la règle de réservation d’embarquement à cette heure d’arrêt.

Recommandé lorsque `pickup_type=2`. | + | `drop_off_booking_rule_id` | ID étranger faisant référence à `booking_rules.booking_rule_id` | Optionnel | Identifie la règle de réservation de descente à cette heure d’arrêt.

Recommandé lorsque `drop_off_type=2`. | #### Comportement d’acheminement du service à la demande - Lorsqu’ils fournissent un itinéraire ou un temps de trajet entre l’origine et la destination, les consommateurs de données doivent ignorer les entrées intermédiaires stop_times.txt avec le même « `trip_id` » qui ont « `start_pickup_drop_off_window` » et `end_pickup_drop_off_window` défini. Pour des exemples illustrant ce qui doit être ignoré, consultez [la page d’exemples de données](../examples/flex/#ignoring-intermediate-stop-times-records-with-pickupdrop-off-windows). @@ -314,7 +314,7 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `service_id` | Identifiant unique | **Requis** | Identifie un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. | + | `service_id` | ID unique | **Requis** | Identifie un ensemble de dates auxquelles le service est disponible pour un ou plusieurs itinéraires. | | `monday` | Énumération | **Requis** | Indique si le service fonctionne tous les lundis dans la plage de date spécifiée par les champs `start_date` et `end_date`. Notez que les exceptions pour des dates particulières peuvent être répertoriées dans [calendar_dates.txt](#calendar_datestxt). Les options valides sont :

`1` - Le service est disponible pour tous les lundis de la plage de date .
`0` - Le service n’est pas disponible les lundis dans la plage de date. | | `tuesday` | Énumération | **Requis** | Fonctionne de la même manière que « `monday` », sauf s’applique aux mardis | | `wednesday` | Énumération | **Requis** | Fonctionne de la même manière que « `monday` », sauf s’applique au mercredi | @@ -333,12 +333,12 @@ Le [calendar_dates.txt](#calendar_datestxt ) active ou désactive explicitement le service par date. Il peut être utilisé de deux manières. - * Recommandé: utilisez [calendar_dates.txt](#calendar_datestxt) en conjonction avec [calendar.txt](#calendartxt) pour définir des exceptions aux modèles de service par défaut définis dans [calendar.txt](#calendartxt). Si le service est généralement régulier, avec quelques changements à des dates explicites (par exemple, pour accueillir des services d’événements spéciaux ou un horaire scolaire), c’est une bonne approche. Dans ce cas, `calendar_dates.service_id` est un identifiant étranger faisant référence à `calendar.service_id`. + * Recommandé: utilisez [calendar_dates.txt](#calendar_datestxt) en conjonction avec [calendar.txt](#calendartxt) pour définir des exceptions aux modèles de service par défaut définis dans [calendar.txt](#calendartxt). Si le service est généralement régulier, avec quelques changements à des dates explicites (par exemple, pour accueillir des services d’événements spéciaux ou un horaire scolaire), c’est une bonne approche. Dans ce cas, `calendar_dates.service_id` est un ID étranger faisant référence à `calendar.service_id`. * Alternative : Omettez [calendar.txt](#calendartxt) et spécifiez chaque date de service dans [calendar_dates.txt](#calendar_datestxt). Cela permet une variation considérable du service et permet un service sans horaires hebdomadaires normaux. Dans ce cas, « `service_id` » est un identifiant. | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `service_id` | Clé étrangère faisant référence à `calendar.service_id` ou ID | **Requis** | Identifie un ensemble de dates auxquelles une exception de service se produit pour un ou plusieurs itinéraires. Chaque paire (`service_id`, `date`) ne peut apparaître qu’une seule fois dans [calendar_dates.txt](#calendar_datestxt) si vous utilisez [calendar.txt](#calendartxt) et [calendar_dates.txt](#calendar_datestxt) conjointement. Si une valeur `service_id` apparaît à la fois dans [calendar.txt](#calendartxt) et [calendar_dates.txt](#calendar_datestxt), les informations dans [calendar_dates.txt](#calendar_datestxt) modifient les informations de service spécifiées dans [calendar.txt](#calendartxt). | + | `service_id` | ID étranger faisant référence à `calendar.service_id` ou ID | **Requis** | Identifie un ensemble de dates auxquelles une exception de service se produit pour un ou plusieurs itinéraires. Chaque paire (`service_id`, `date`) ne peut apparaître qu’une seule fois dans [calendar_dates.txt](#calendar_datestxt) si vous utilisez [calendar.txt](#calendartxt) et [calendar_dates.txt](#calendar_datestxt) conjointement. Si une valeur `service_id` apparaît à la fois dans [calendar.txt](#calendartxt) et [calendar_dates.txt](#calendar_datestxt), les informations dans [calendar_dates.txt](#calendar_datestxt) modifient les informations de service spécifiées dans [calendar.txt](#calendartxt). | | `date` | Date | **Requis** | Date à laquelle l’exception de service se produit. | | `exception_type` | Énumération | **Requis** | Indique si le service est disponible à la date spécifiée dans le champ date. Les options valides sont :

`1` - Le service a été ajouté pour la date spécifiée.
`2` - Le service a été supprimé pour la date spécifiée.
*Exemple : supposons qu’un itinéraire comporte un ensemble de trajets disponibles les jours fériés et un autre ensemble de trajets disponibles tous les autres jours. Un `service_id` pourrait correspondre à l’horaire de service régulier et un autre `service_id` pourrait correspondre à l’horaire des jours fériés. Pour un jour férié particulier, le fichier [calendar_dates.txt](#calendar_datestxt) peut être utilisé pour ajouter le jour férié au jour férié.et `service_id` et pour supprimer les jours fériés du calendrier régulier `service_id` .* | @@ -355,12 +355,12 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `fare_id` | Identifiant unique | **Requis** | Identifie une classe tarifaire. | + | `fare_id` | ID unique | **Requis** | Identifie une classe tarifaire. | | `price` | float non négatif | **Requis** | Prix ​​du tarif, dans l’unité spécifiée par `currency_type`. | | `currency_type` | Code devise | **Requis** | Monnaie utilisée pour payer le voyage. | | `payment_method` | Énumération | **Requis** | Indique quand le tarif doit être payé. Les options valides sont :

`0` - Le tarif est payé à bord.
`1` - Le tarif doit être payé avant l’embarquement. | | `transfers` | Énumération | **Requis** | Indique le nombre de transferts autorisés sur ce tarif. Les options valides sont :

`0` - Aucun transfert autorisé sur ce tarif.
`1` - Les passagers peuvent être transférés une seule fois.
`2` - Les passagers peuvent transférer deux fois.
vide- Les transferts illimités sont autorisés. | - | `agency_id` | Clé étrangère faisant référence à `agency.agency_id` | **Requis sous condition** | Identifie l’agence concernée pour un tarif.

Requis sous condition:
- **Requis** si plusieurs agences sont définies dans [agency.txt](#agencytxt).
- Recommandé autrement. | + | `agency_id` | ID étranger faisant référence à `agency.agency_id` | **Requis sous condition** | Identifie l’agence concernée pour un tarif.

Requis sous condition:
- **Requis** si plusieurs agences sont définies dans [agency.txt](#agencytxt).
- Recommandé autrement. | | `transfer_duration` | Entier non négatif | Optionnel | Durée en secondes avant l’expiration d’un transfert. Lorsque `transfers`=`0`, ce champ peut être utilisé pour indiquer la durée de validité d’un billet ou il peut être laissé vide. | ### fare_rules.txt @@ -379,11 +379,11 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `fare_id` | Clé étrangère faisant référence à `fare_attributes.fare_id` | **Requis** | Identifie une classe tarifaire. | - | `route_id` | Clé étrangère faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire associé à la classe tarifaire. S’il existe plusieurs itinéraires avec les mêmes attributs tarifaires, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque itinéraire.
*Exemple : Si la classe tarifaire « b » est valide sur l’itinéraire « TSW » et « TSE », le fichier [fare_rules.txt](#fare_rulestxt) contiendra ces entrées pour la classe tarifaire :*
` fare_id, route_id`
`b,TSW`
`b,EST`| - | `origin_id` | Clé étrangère faisant référence à `stops.zone_id` | Optionnel | Identifie une zone d’origine. Si une classe tarifaire a plusieurs zones d’origine, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque `origin_id`.
*Exemple : Si la classe tarifaire "b" est valable pour tous les voyages en provenance de la zone "2" ou de la zone "8", le fichier [fare_rules.txt](#fare_rulestxt) contiendra ces entrées pour la classe tarifaire :*
`fare_id,...,origin_id`
`b,...,2`
`b,...,8` | - | `destination_id` | Clé étrangère faisant référence à `stops.zone_id` | Optionnel | Identifie une zone de destination. Si une classe tarifaire a plusieurs zones de destination, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque `destination_id`.
*Exemple : Les champs `origin_id` et `destination_id` peuvent être utilisés ensemble pour spécifier que la classe tarifaire « b » est valable pour les voyages entre les zones 3 et 4, et pour les voyages entre les zones 3 et 5, le [fare_rules.txt](#fare_rulestxt) contiendrait ces entrées pour la classe tarifaire :*
`fare_id,...,origin_id,destination_id`
`b,...,3,4`
`b,...,3,5` | - | `contains_id` | Clé étrangère faisant référence à `stops.zone_id` | Optionnel | Identifie les zones dans lesquelles un passager entrera en utilisant une classe tarifaire donnée. Utilisé dans certains systèmes pour calculer la classe tarifaire correcte.
*Exemple : Si la classe tarifaire « c » est associée à tous les déplacements sur l’itinéraire GRT qui traverse les zones 5, 6 et 7, le [fare_rules.txt](#fare_rulestxt) contiendra ces entrées :*
`fare_id, route_id,...,contains_id`
`c,GRT,...,5`
`c,GRT,...,6`
`c,GRT,...,7`
*Étant donné que toutes les zones `contains_id` doivent correspondre pour que le tarif s’applique, un itinéraire qui traverse les zones 5 et 6 mais pas la zone 7 n’aurait pas la classe tarifaire « c ». Pour plus de détails, consultez [https://code.google.com/p/googletransitdatafeed/wiki/FareExamples](https://code.google.com/p/googletransitdatafeed/wiki/FareExamples) dans le wiki du projet GoogleTransitDataFeed.* | + | `fare_id` | ID étranger faisant référence à `fare_attributes.fare_id` | **Requis** | Identifie une classe tarifaire. | + | `route_id` | ID étranger faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire associé à la classe tarifaire. S’il existe plusieurs itinéraires avec les mêmes attributs tarifaires, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque itinéraire.
*Exemple : Si la classe tarifaire « b » est valide sur l’itinéraire « TSW » et « TSE », le fichier [fare_rules.txt](#fare_rulestxt) contiendra ces entrées pour la classe tarifaire :*
` fare_id, route_id`
`b,TSW`
`b,EST`| + | `origin_id` | ID étranger faisant référence à `stops.zone_id` | Optionnel | Identifie une zone d’origine. Si une classe tarifaire a plusieurs zones d’origine, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque `origin_id`.
*Exemple : Si la classe tarifaire "b" est valable pour tous les voyages en provenance de la zone "2" ou de la zone "8", le fichier [fare_rules.txt](#fare_rulestxt) contiendra ces entrées pour la classe tarifaire :*
`fare_id,...,origin_id`
`b,...,2`
`b,...,8` | + | `destination_id` | ID étranger faisant référence à `stops.zone_id` | Optionnel | Identifie une zone de destination. Si une classe tarifaire a plusieurs zones de destination, créez une entrée dans [fare_rules.txt](#fare_rulestxt) pour chaque `destination_id`.
*Exemple : Les champs `origin_id` et `destination_id` peuvent être utilisés ensemble pour spécifier que la classe tarifaire « b » est valable pour les voyages entre les zones 3 et 4, et pour les voyages entre les zones 3 et 5, le [fare_rules.txt](#fare_rulestxt) contiendrait ces entrées pour la classe tarifaire :*
`fare_id,...,origin_id,destination_id`
`b,...,3,4`
`b,...,3,5` | + | `contains_id` | ID étranger faisant référence à `stops.zone_id` | Optionnel | Identifie les zones dans lesquelles un passager entrera en utilisant une classe tarifaire donnée. Utilisé dans certains systèmes pour calculer la classe tarifaire correcte.
*Exemple : Si la classe tarifaire « c » est associée à tous les déplacements sur l’itinéraire GRT qui traverse les zones 5, 6 et 7, le [fare_rules.txt](#fare_rulestxt) contiendra ces entrées :*
`fare_id, route_id,...,contains_id`
`c,GRT,...,5`
`c,GRT,...,6`
`c,GRT,...,7`
*Étant donné que toutes les zones `contains_id` doivent correspondre pour que le tarif s’applique, un itinéraire qui traverse les zones 5 et 6 mais pas la zone 7 n’aurait pas la classe tarifaire « c ». Pour plus de détails, consultez [https://code.google.com/p/googletransitdatafeed/wiki/FareExamples](https://code.google.com/p/googletransitdatafeed/wiki/FareExamples) dans le wiki du projet GoogleTransitDataFeed.* | ### timeframes.txt @@ -399,7 +399,7 @@ | `timeframe_group_id` | ID | **Requis** | Identifie une période horaire ou un ensemble de périodes horaires. | | `start_time` | Temps | **Requis sous condition** | Définit le début d’une période. L’intervalle inclut l’heure de début.
Les valeurs supérieures à `24:00:00` sont interdites. Une valeur vide dans `start_time` est considérée comme `00:00:00`.

Requis sous condition:
- **Requis** si `timeframes.end_time` est défini.
- **Interdit** sinon | | `end_time` | Temps | **Requis sous condition** | Définit la fin d’une période. L’intervalle n’inclut pas l’heure de fin.
Les valeurs supérieures à `24:00:00` sont interdites. Une valeur vide dans `end_time` est considérée comme `24:00:00`.

Requis sous condition:
- **Requis** si `timeframes.start_time` est défini.
- **Interdit** sinon | - | `service_id` | Clé étrangère faisant référence à `calendar.service_id` ou `calendar_dates.service_id` | **Requis** | Identifie un ensemble de dates auxquelles une période est en vigueur. | + | `service_id` | ID étranger faisant référence à `calendar.service_id` ou `calendar_dates.service_id` | **Requis** | Identifie un ensemble de dates auxquelles une période est en vigueur. | #### Sémantique de l’heure locale de la période - Lors de l’évaluation de l’heure d’un événement tarifaire par rapport à [timeframes.txt](#timeframestxt), l’heure de l’événement est calculée en heure locale en utilisant le fuseau horaire local, tel que déterminé par le `stop_timezone`, si spécifié, de l’arrêt ou de la gare parent pour l’événement tarifaire. S’il n’est pas spécifié, le fuseau horaire de l’agence du flux doit être utilisé à la place. @@ -416,8 +416,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `fare_media_id` | Identifiant unique | **Requis** | Identifie un média tarifaire. | - | `fare_media_name` | Text | Optionnel | Nom du support tarifaire.

Pour les supports tarifaires qui sont des cartes de transport en commun (`fare_media_type =2`) ou des applications mobiles (`fare_media_type =4`), le `fare_media_name` doit être inclus et doit correspondre au nom du passager utilisé par les organisations qui les livrent. | + | `fare_media_id` | ID unique | **Requis** | Identifie un média tarifaire. | + | `fare_media_name` | Texte | Optionnel | Nom du support tarifaire.

Pour les supports tarifaires qui sont des cartes de transport en commun (`fare_media_type =2`) ou des applications mobiles (`fare_media_type =4`), le `fare_media_name` doit être inclus et doit correspondre au nom du passager utilisé par les organisations qui les livrent. | | `fare_media_type` | Énumération | **Requis** | Le type de support tarifaire. Les options valides sont :

`0` - Aucun. Utilisé lorsqu’aucun support tarifaire n’est impliqué dans l’achat ou la validation d’un produit tarifaire, comme le paiement en espèces à un chauffeur ou à un conducteur sans billet physique fourni.
`1` - Billet physique papier qui permet à un passager d’effectuer soit un certain nombre de voyages pré-achetés, soit un nombre illimité de voyages sur une période de temps déterminée.
`2` - Carte de transport physique sur laquelle sont stockés des billets, des laissez-passer ou une valeur monétaire.
`3` - cEMV (Europay, Mastercard et Visa sans contact) en tant que conteneur de jetons en boucle ouverte pour la billetterie basée sur un compte.
`4` – Application mobile contenant des cartes de transport en commun virtuelles, des billets, des laissez-passer ou une valeur monétaire. | ### fare_products.txt @@ -431,8 +431,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| | `fare_product_id` | ID | **Requis** | Identifie un produit tarifaire ou un ensemble de produits tarifaires.

Plusieurs entrées dans [fare_products.txt](#fare_productstxt) peuvent partager le même `fare_product_id`, auquel cas toutes les entrées avec cet ID seront récupérées lorsqu’elles seront référencées à partir d’un autre fichier.

Plusieurs entrées peuvent partager le même `fare_product_id` mais avec des `fare_media_id` différents, indiquant diverses méthodes disponibles pour utiliser le produit tarifaire, potentiellement à des prix différents. | - | `fare_product_name` | Text | Optionnel | Le nom du produit tarifaire tel qu’affiché aux passagers. | - | `fare_media_id` | Clé étrangère faisant référence à `fare_media.fare_media_id` | Optionnel | Identifie un support tarifaire qui peut être utilisé pour utiliser le produit tarifaire pendant le voyage. Lorsque `fare_media_id` est vide, on considère que le support tarifaire est inconnu.| + | `fare_product_name` | Texte | Optionnel | Le nom du produit tarifaire tel qu’affiché aux passagers. | + | `fare_media_id` | ID étranger faisant référence à `fare_media.fare_media_id` | Optionnel | Identifie un support tarifaire qui peut être utilisé pour utiliser le produit tarifaire pendant le voyage. Lorsque `fare_media_id` est vide, on considère que le support tarifaire est inconnu.| | `amount` | Montant en devise | **Requis** | Le coût du produit tarifaire. Peut être négatif pour représenter les remises de transfert. Peut être zéro pour représenter un produit tarifaire gratuit. | | `currency` | Code devise | **Requis** | La devise du coût du produit tarifaire. | @@ -480,12 +480,12 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| | `leg_group_id` | ID | Optionnel | Identifie un groupe d’entrées dans [fare_leg_rules.txt](#fare_leg_rulestxt).

Utilisé pour décrire les règles de transfert tarifaire entre `fare_transfer_rules.from_leg_group_id` et `fare_transfer_rules.to_leg_group_id`.

Plusieurs entrées dans [fare_leg_rules.txt](#fare_leg_rulestxt) peuvent appartenir au même `fare_leg_rules.leg_group_id`.

La même entrée dans [fare_leg_rules.txt](#fare_leg_rulestxt) (sans compter `fare_leg_rules.leg_group_id`) ne doit pas appartenir à plusieurs `fare_leg_rules.leg_group_id`.| - | `network_id` | Clé étrangère faisant référence à `routes.network_id` ou `networks.network_id`| Optionnel | Identifie un réseau d’itinéraires qui s’applique à la règle du segment tarifaire.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.network_id` correspondant au `network_id` filtré, `fare_leg_rules.network_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.network_id` correspond à tous les réseaux définis dans [routes.txt](#routestxt) ou [networks.txt](#networkstxt) à l’exclusion de ceux répertoriés sous `fare_leg_rules.network_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.network_id` vide indique que le réseau de routes du tronçon n’affecte pas la correspondance de cette règle. | - | `from_area_id` | Clé étrangère faisant référence à `areas.area_id` | Optionnel | Identifie une zone de départ.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.from_area_id` correspondant à la `area_id` filtrée, `fare_leg_rules.from_area_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.from_area_id` correspond à toutes les zones définies dans `areas.area_id` à l’exclusion de celles répertoriées sous `fare_leg_rules.from_area_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.from_area_id` vide indique que la zone de départ du tronçon n’affecte pas la correspondance de cette règle. | - | `to_area_id` | Clé étrangère faisant référence à `areas.area_id` | Optionnel | Identifie une zone d’arrivée.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.to_area_id` correspondant à la `area_id` filtrée, `fare_leg_rules.to_area_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.to_area_id` correspond à toutes les zones définies dans `areas.area_id` à l’exclusion de celles répertoriées sous `fare_leg_rules.to_area_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.to_area_id` vide indique que la zone d’arrivée du tronçon n’affecte pas la correspondance de cette règle. | - | `from_timeframe_group_id` | Clé étrangère faisant référence à `timeframes.timeframe_group_id` | Optionnel | Définit la période de l’événement de validation tarifaire au début du segment tarifaire.

L’« heure de début » du trajet tarifaire est l’heure à laquelle l’événement est prévu pour avoir lieu. Par exemple, l’heure peut être l’heure de départ prévue d’un bus au début d’un trajet tarifaire où le passager embarque et valide son tarif. Pour la sémantique de correspondance de règle ci-dessous, l’heure de début est calculée en heure locale, comme déterminé par la [Sémantique de l’heure locale](#semantique-de-lheure-locale-de-la-periode) de [timeframes.txt](#timeframestxt). L’arrêt ou la gare de l’événement de départ du tronçon tarifaire doit être utilisé pour la résolution du fuseau horaire, le cas échéant.

Pour une règle de segment tarifaire qui spécifie un `from_timeframe_group_id`, cette règle correspondra à un segment particulier s’il existe au moins une entrée dans [timeframes.txt](#timeframestxt) où toutes les conditions suivantes sont vraies
- La valeur de `timeframe_group_id` est égale à la valeur `from_timeframe_group_id` .
- L’ensemble de jours identifiés par le `service_id` de l'entrée contient le « jour actuel » de l’heure de début du segment tarifaire.
- L’« heure du jour » de l’heure de début du trajet tarifaire est supérieure ou égale à la valeur `timeframes.start_time` de l'entrée et inférieure à la valeur `timeframes.end_time`.

Un `fare_leg_rules.from_timeframe_group_id` vide indique que l’heure de début du tronçon n’affecte pas la correspondance de cette règle. | - | `to_timeframe_group_id` | Clé étrangère faisant référence à `timeframes.timeframe_group_id` | Optionnel | Définit la période de temps pour l’événement de validation tarifaire à la fin du segment tarifaire.

L’« heure de fin » du trajet tarifaire est l’heure à laquelle l’événement est prévu pour avoir lieu. Par exemple, l’heure peut être l’heure d’arrivée prévue d’un bus à la fin d’un trajet tarifaire où le passager descend et valide son tarif. Pour la sémantique de correspondance de règle ci-dessous, l’heure de fin est calculée en heure locale, comme déterminé par la [Sémantique de l’heure locale](#semantique-de-lheure-locale-de-la-periode) de [timeframes.txt](#timeframestxt). L’arrêt ou la gare de l’événement d’arrivée du tronçon tarifaire doit être utilisé pour la résolution du fuseau horaire, le cas échéant.

Pour une règle de segment tarifaire qui spécifie un `to_timeframe_group_id`, cette règle correspondra à un segment particulier s’il existe au moins une entrée dans [timeframes.txt](#timeframestxt) où toutes les conditions suivantes sont vraies
- La valeur de `timeframe_group_id` est égale à la valeur `to_timeframe_group_id` .
- L’ensemble de jours identifiés par le `service_id` de l'entrée contient le « jour en cours » de l’heure de fin du trajet tarifaire.
- L’« heure du jour » de l’heure de fin du trajet tarifaire est supérieure ou égale à la valeur `timeframes.start_time` de l'entrée et inférieure à la valeur `timeframes.end_time`.

Un `fare_leg_rules.to_timeframe_group_id` vide indique que l’heure de fin du tronçon n’affecte pas la correspondance de cette règle. | - | `fare_product_id` | Clé étrangère faisant référence à `fare_products.fare_product_id` | **Requis** | Le produit tarifaire requis pour parcourir le tronçon. | + | `network_id` | ID étranger faisant référence à `routes.network_id` ou `networks.network_id`| Optionnel | Identifie un réseau d’itinéraires qui s’applique à la règle du segment tarifaire.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.network_id` correspondant au `network_id` filtré, `fare_leg_rules.network_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.network_id` correspond à tous les réseaux définis dans [routes.txt](#routestxt) ou [networks.txt](#networkstxt) à l’exclusion de ceux répertoriés sous `fare_leg_rules.network_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.network_id` vide indique que le réseau de routes du tronçon n’affecte pas la correspondance de cette règle. | + | `from_area_id` | ID étranger faisant référence à `areas.area_id` | Optionnel | Identifie une zone de départ.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.from_area_id` correspondant à la `area_id` filtrée, `fare_leg_rules.from_area_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.from_area_id` correspond à toutes les zones définies dans `areas.area_id` à l’exclusion de celles répertoriées sous `fare_leg_rules.from_area_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.from_area_id` vide indique que la zone de départ du tronçon n’affecte pas la correspondance de cette règle. | + | `to_area_id` | ID étranger faisant référence à `areas.area_id` | Optionnel | Identifie une zone d’arrivée.

Si le champ `rule_priority` n’existe pas ET qu’il n’y a pas de valeurs `fare_leg_rules.to_area_id` correspondant à la `area_id` filtrée, `fare_leg_rules.to_area_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_leg_rules.to_area_id` correspond à toutes les zones définies dans `areas.area_id` à l’exclusion de celles répertoriées sous `fare_leg_rules.to_area_id`

Si le champ `rule_priority` existe dans le fichier, un `fare_leg_rules.to_area_id` vide indique que la zone d’arrivée du tronçon n’affecte pas la correspondance de cette règle. | + | `from_timeframe_group_id` | ID étranger faisant référence à `timeframes.timeframe_group_id` | Optionnel | Définit la période de l’événement de validation tarifaire au début du segment tarifaire.

L’« heure de début » du trajet tarifaire est l’heure à laquelle l’événement est prévu pour avoir lieu. Par exemple, l’heure peut être l’heure de départ prévue d’un bus au début d’un trajet tarifaire où le passager embarque et valide son tarif. Pour la sémantique de correspondance de règle ci-dessous, l’heure de début est calculée en heure locale, comme déterminé par la [Sémantique de l’heure locale](#semantique-de-lheure-locale-de-la-periode) de [timeframes.txt](#timeframestxt). L’arrêt ou la gare de l’événement de départ du tronçon tarifaire doit être utilisé pour la résolution du fuseau horaire, le cas échéant.

Pour une règle de segment tarifaire qui spécifie un `from_timeframe_group_id`, cette règle correspondra à un segment particulier s’il existe au moins une entrée dans [timeframes.txt](#timeframestxt) où toutes les conditions suivantes sont vraies
- La valeur de `timeframe_group_id` est égale à la valeur `from_timeframe_group_id` .
- L’ensemble de jours identifiés par le `service_id` de l'entrée contient le « jour actuel » de l’heure de début du segment tarifaire.
- L’« heure du jour » de l’heure de début du trajet tarifaire est supérieure ou égale à la valeur `timeframes.start_time` de l'entrée et inférieure à la valeur `timeframes.end_time`.

Un `fare_leg_rules.from_timeframe_group_id` vide indique que l’heure de début du tronçon n’affecte pas la correspondance de cette règle. | + | `to_timeframe_group_id` | ID étranger faisant référence à `timeframes.timeframe_group_id` | Optionnel | Définit la période de temps pour l’événement de validation tarifaire à la fin du segment tarifaire.

L’« heure de fin » du trajet tarifaire est l’heure à laquelle l’événement est prévu pour avoir lieu. Par exemple, l’heure peut être l’heure d’arrivée prévue d’un bus à la fin d’un trajet tarifaire où le passager descend et valide son tarif. Pour la sémantique de correspondance de règle ci-dessous, l’heure de fin est calculée en heure locale, comme déterminé par la [Sémantique de l’heure locale](#semantique-de-lheure-locale-de-la-periode) de [timeframes.txt](#timeframestxt). L’arrêt ou la gare de l’événement d’arrivée du tronçon tarifaire doit être utilisé pour la résolution du fuseau horaire, le cas échéant.

Pour une règle de segment tarifaire qui spécifie un `to_timeframe_group_id`, cette règle correspondra à un segment particulier s’il existe au moins une entrée dans [timeframes.txt](#timeframestxt) où toutes les conditions suivantes sont vraies
- La valeur de `timeframe_group_id` est égale à la valeur `to_timeframe_group_id` .
- L’ensemble de jours identifiés par le `service_id` de l'entrée contient le « jour en cours » de l’heure de fin du trajet tarifaire.
- L’« heure du jour » de l’heure de fin du trajet tarifaire est supérieure ou égale à la valeur `timeframes.start_time` de l'entrée et inférieure à la valeur `timeframes.end_time`.

Un `fare_leg_rules.to_timeframe_group_id` vide indique que l’heure de fin du tronçon n’affecte pas la correspondance de cette règle. | + | `fare_product_id` | ID étranger faisant référence à `fare_products.fare_product_id` | **Requis** | Le produit tarifaire requis pour parcourir le tronçon. | | `rule_priority` | Entier non négatif | Optionnel | Définit l’ordre de priorité dans lequel les règles de correspondance sont appliquées aux segments, permettant à certaines règles d’avoir priorité sur d’autres. Lorsque plusieurs entrées dans `fare_leg_rules.txt` correspondent, la règle ou l’ensemble de règles avec la valeur la plus élevée pour `rule_priority` sera sélectionné.

Une valeur vide pour `rule_priority` est traitée comme zéro. | ### fare_transfer_rules.txt @@ -515,13 +515,13 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `from_leg_group_id` | Clé étrangère faisant référence à `fare_leg_rules.leg_group_id` | Optionnel | Identifie un groupe de règles de tranche tarifaire avant transfert.

S’il n’y a pas de valeurs `fare_transfer_rules.from_leg_group_id` correspondant au `leg_group_id` filtré, `fare_transfer_rules.from_leg_group_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_transfer_rules.from_leg_group_id` correspond à tous les groupes de tronçons définis sous `fare_leg_rules.leg_group_id` à l’exclusion de ceux répertoriés sous `fare_transfer_rules.from_leg_group_id`| - | `to_leg_group_id` | Clé étrangère faisant référence à `fare_leg_rules.leg_group_id` | Optionnel | Identifie un groupe de règles de tranche tarifaire après le transfert.

S’il n’y a pas de valeurs `fare_transfer_rules.to_leg_group_id` correspondant au `leg_group_id` filtré, `fare_transfer_rules.to_leg_group_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_transfer_rules.to_leg_group_id` correspond à tous les groupes de tronçons définis sous `fare_leg_rules.leg_group_id` à l’exclusion de ceux répertoriés sous `fare_transfer_rules.to_leg_group_id` | + | `from_leg_group_id` | ID étranger faisant référence à `fare_leg_rules.leg_group_id` | Optionnel | Identifie un groupe de règles de tranche tarifaire avant transfert.

S’il n’y a pas de valeurs `fare_transfer_rules.from_leg_group_id` correspondant au `leg_group_id` filtré, `fare_transfer_rules.from_leg_group_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_transfer_rules.from_leg_group_id` correspond à tous les groupes de tronçons définis sous `fare_leg_rules.leg_group_id` à l’exclusion de ceux répertoriés sous `fare_transfer_rules.from_leg_group_id`| + | `to_leg_group_id` | ID étranger faisant référence à `fare_leg_rules.leg_group_id` | Optionnel | Identifie un groupe de règles de tranche tarifaire après le transfert.

S’il n’y a pas de valeurs `fare_transfer_rules.to_leg_group_id` correspondant au `leg_group_id` filtré, `fare_transfer_rules.to_leg_group_id` vide sera mis en correspondance par défaut.

Une entrée vide dans `fare_transfer_rules.to_leg_group_id` correspond à tous les groupes de tronçons définis sous `fare_leg_rules.leg_group_id` à l’exclusion de ceux répertoriés sous `fare_transfer_rules.to_leg_group_id` | | `transfer_count` | Entier non nul | **Interdit sous condition** | Définit le nombre de transferts consécutifs auxquels la règle de transfert peut être appliquée.

Les options valides sont :
`-1` - Aucune limite.
`1` ou plus : définit le nombre de transferts que la règle de transfert peut couvrir.

Si un sous-parcours correspond à plusieurs entrées avec des `transfer_count` différents, alors la règle avec le `transfer_count` minimum qui est supérieur ou égal au nombre de transferts actuel du sous-parcours doit être sélectionnée.

Interdit sous condition:
- **Interdit** si `fare_transfer_rules.from_leg_group_id` n’est pas égal à `fare_transfer_rules.to_leg_group_id`.
- **Requis** si `fare_transfer_rules.from_leg_group_id` est égal à `fare_transfer_rules.to_leg_group_id`. | | `duration_limit` | Entier positif | Optionnel | Définit la durée limite du transfert.

Doit être exprimé en incréments entiers de secondes.

S’il n’y a pas de limite de durée, `fare_transfer_rules.duration_limit` doit être vide. | | `duration_limit_type` | Énumération | **Requis sous condition** | Définit le début et la fin relatifs de `fare_transfer_rules.duration_limit`.

Les options valides sont :
`0` - Entre la validation du tarif de départ du tronçon en cours et la validation du tarif d’arrivée du tronçon suivant.
`1` - Entre la validation du tarif de départ du tronçon en cours et la validation du tarif de départ du tronçon suivant.
`2` - Entre la validation du tarif d’arrivée du tronçon en cours et la validation du tarif de départ du tronçon suivant.
`3` - Entre la validation du tarif d’arrivée du tronçon en cours et la validation du tarif d’arrivée du tronçon suivant.

Requis sous condition:
- **Requis** si `fare_transfer_rules.duration_limit` est défini.
- **Interdit** si `fare_transfer_rules.duration_limit` est vide. | | `fare_transfer_type` | Énumération | **Requis** | Indique la méthode de traitement des coûts de transfert entre les tronçons d’un voyage :
![](../../assets/2-leg.svg)
Les options valides sont :
`0` - De la jambe `fare_leg_rules.fare_product_id` plus `fare_transfer_rules.fare_product_id`; A + AB.
`1` - Du tronçon `fare_leg_rules.fare_product_id` plus `fare_transfer_rules.fare_product_id` plus du tronçon vers `fare_leg_rules.fare_product_id`; A + AB + B.
`2` - `fare_transfer_rules.fare_product_id`; UN B.

Interactions de traitement des coûts entre plusieurs transferts au cours d’un voyage :
![](../../assets/3-leg.svg)
`fare_transfer_type` Traitement A > B Traitement B > C
`0` A + AB S + BC
`1` A + AB + B S + BC + C
`2` UN B S + BC
Où S indique le coût total traité du ou des tronçons et transferts précédents. | - | `fare_product_id` | Clé étrangère faisant référence à `fare_products.fare_product_id` | Optionnel | Produit tarifaire requis pour le transfert entre deux segments tarifaires. Si vide, le coût de la règle de transfert est de 0.| + | `fare_product_id` | ID étranger faisant référence à `fare_products.fare_product_id` | Optionnel | Produit tarifaire requis pour le transfert entre deux segments tarifaires. Si vide, le coût de la règle de transfert est de 0.| ### areas.txt @@ -534,8 +534,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `area_id` | Identifiant unique | **Requis** | Identifie une zone. Doit être unique dans [areas.txt](#areastxt). | - | `area_name` | Text | **Optionnel** | Le nom de la zone tel qu’affiché au passager. | + | `area_id` | ID unique | **Requis** | Identifie une zone. Doit être unique dans [areas.txt](#areastxt). | + | `area_name` | Texte | **Optionnel** | Le nom de la zone tel qu’affiché au passager. | ### stop_areas.txt @@ -547,8 +547,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `area_id` | Clé étrangère faisant référence à `areas.area_id` | **Requis** | Identifie une zone à laquelle appartiennent un ou plusieurs `stop_id`. Le même `stop_id` peut être défini dans plusieurs `area_id`. | - | `stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis** | Identifie un arrêt. Si une station (c’est-à-dire un arrêt avec `stops.location_type=1`) est définie dans ce champ, on suppose que tous ses quais (c’est-à-dire tous les arrêts avec `stops.location_type=0` pour lesquels cette station est définie comme `stops.parent_station`) font partie de la même zone. Ce comportement peut être remplacé en attribuant des plates-formes à d’autres zones. | + | `area_id` | ID étranger faisant référence à `areas.area_id` | **Requis** | Identifie une zone à laquelle appartiennent un ou plusieurs `stop_id`. Le même `stop_id` peut être défini dans plusieurs `area_id`. | + | `stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis** | Identifie un arrêt. Si une station (c’est-à-dire un arrêt avec `stops.location_type=1`) est définie dans ce champ, on suppose que tous ses quais (c’est-à-dire tous les arrêts avec `stops.location_type=0` pour lesquels cette station est définie comme `stops.parent_station`) font partie de la même zone. Ce comportement peut être remplacé en attribuant des plates-formes à d’autres zones. | ### networks.txt @@ -560,8 +560,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `network_id` | Identifiant unique | **Requis** | Identifie un réseau. Doit être unique dans [networks.txt](#networkstxt). | - | `network_name` | Text | **Optionnel** | Le nom du réseau qui s’applique aux règles tarifaires, tel qu’utilisé par l’agence locale et ses passagers. + | `network_id` | ID unique | **Requis** | Identifie un réseau. Doit être unique dans [networks.txt](#networkstxt). | + | `network_name` | Texte | **Optionnel** | Le nom du réseau qui s’applique aux règles tarifaires, tel qu’utilisé par l’agence locale et ses passagers. ### route_networks.txt @@ -573,8 +573,8 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `network_id` | Clé étrangère faisant référence à `networks.network_id` | **Requis** | Identifie un réseau auquel appartiennent un ou plusieurs `route_id`. Un `route_id` ne peut être défini que dans un seul `network_id`. | - | `route_id` | Clé étrangère faisant référence à `routes.route_id` | **Requis** | Identifie un itinéraire. | + | `network_id` | ID étranger faisant référence à `networks.network_id` | **Requis** | Identifie un réseau auquel appartiennent un ou plusieurs `route_id`. Un `route_id` ne peut être défini que dans un seul `network_id`. | + | `route_id` | ID étranger faisant référence à `routes.route_id` | **Requis** | Identifie un itinéraire. | ### shapes.txt @@ -582,7 +582,7 @@ Clé primaire (`shape_id`, `shape_pt_sequence`) - Les Tracé des lignes décrivent le chemin qu’un véhicule parcourt le long d’un l’alignement de l’itinéraire, et sont définis dans le fichier shapes.txt. Les Tracé des lignes sont associées aux trajets et consistent en une séquence de points par lesquels le véhicule passe dans l’ordre. Les Tracé des lignes n’ont pas besoin d’intercepter exactement l’emplacement des arrêts, mais tous les arrêts d’un trajet doivent se trouver à une petite distance de la forme pour ce trajet, c’est-à-dire à proximité des segments de ligne droite reliant les points de la forme. Le fichier shapes.txt doit être inclus pour tous les services basés sur l'itinéraire (pas pour les services à la demande basés sur les zones). + Les Tracé des lignes décrivent le chemin qu’un véhicule parcourt le long d’un l’alignement de l’itinéraire, et sont définis dans le fichier shapes.txt. Les Tracé des lignes sont associées aux trajets et consistent en une séquence de points par lesquels le véhicule passe dans l’ordre. Les Tracé des lignes n’ont pas besoin d’intercepter exactement l’emplacement des arrêts, mais tous les arrêts d’un trajet doivent se trouver à une petite distance de la forme pour ce trajet, c’est-à-dire à proximité des segments de ligne droite reliant les points de la forme. Le fichier shapes.txt devrait être inclus pour tous les services basés sur l'itinéraire (pas pour les services à la demande basés sur les zones). | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| @@ -606,7 +606,7 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `trip_id` | Clé étrangère faisant référence à `trips.trip_id` | **Requis** | Identifie un voyage auquel s’applique l’avance de service spécifiée. | + | `trip_id` | ID étranger faisant référence à `trips.trip_id` | **Requis** | Identifie un voyage auquel s’applique l’avance de service spécifiée. | | `start_time` | Temps | **Requis** | Heure à laquelle le premier véhicule part du premier arrêt du voyage avec l’avance spécifiée. | | `end_time` | Temps | **Requis** | Heure à laquelle le service change d’itinéraire (ou cesse) au premier arrêt du voyage. | | `headway_secs` | Entier positif | **Requis** | Temps, en secondes, entre les départs du même arrêt (avancée) pour le trajet, pendant l’intervalle de temps spécifié par `start_time` et `end_time`. Plusieurs trajets peuvent être définis pour un même trajet, mais ne doivent pas se chevaucher. De nouvelles avancées peuvent commencer à l’heure exacte où se termine la progression précédente. | @@ -633,12 +633,12 @@ | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `from_stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie un arrêt ou une station où commence une connexion entre des itinéraires. Si ce champ fait référence à une gare, la règle de transfert s’applique à tous ses arrêts enfants. Faire référence à une gare est interdit pour les `transfer_types` 4 et 5. | - | `to_stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie un arrêt ou une station où se termine une connexion entre des itinéraires. Si ce champ fait référence à une gare, la règle de transfert s’applique à tous les arrêts enfants. Faire référence à une gare est interdit pour les `transfer_types` 4 et 5. | - | `from_route_id` | Clé étrangère faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire où commence une connexion.

Si `from_route_id` est défini, le transfert s’appliquera au voyage d’arrivée sur l’itinéraire pour le `from_stop_id` donné.

Si `from_trip_id` et `from_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `from_trip_id` aura la priorité. | - | `to_route_id` | Clé étrangère faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire où se termine une connexion.

Si `to_route_id` est défini, le transfert s’appliquera au trajet de départ sur l’itinéraire pour le `to_stop_id` donné.

Si `to_trip_id` et `to_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `to_trip_id` aura la priorité. | - | `from_trip_id` | Clé étrangère faisant référence à `trips.trip_id` | **Requis sous condition** | Identifie un voyage où commence une connexion entre les itinéraires.

Si `from_trip_id` est défini, le transfert s’appliquera au voyage d’arrivée pour le `from_stop_id` donné.

Si `from_trip_id` et `from_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `from_trip_id` aura la priorité. OBLIGATOIRE si `transfer_type` est `4` ou `5`. | - | `to_trip_id` | Clé étrangère faisant référence à `trips.trip_id` | **Requis sous condition** | Identifie un voyage où se termine une connexion entre des itinéraires.

Si `to_trip_id` est défini, le transfert s’appliquera au voyage de départ pour le `to_stop_id` donné.

Si `to_trip_id` et `to_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `to_trip_id` aura la priorité. OBLIGATOIRE si `transfer_type` est `4` ou `5`. | + | `from_stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie un arrêt ou une station où commence une connexion entre des itinéraires. Si ce champ fait référence à une gare, la règle de transfert s’applique à tous ses arrêts enfants. Faire référence à une gare est interdit pour les `transfer_types` 4 et 5. | + | `to_stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis sous condition** | Identifie un arrêt ou une station où se termine une connexion entre des itinéraires. Si ce champ fait référence à une gare, la règle de transfert s’applique à tous les arrêts enfants. Faire référence à une gare est interdit pour les `transfer_types` 4 et 5. | + | `from_route_id` | ID étranger faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire où commence une connexion.

Si `from_route_id` est défini, le transfert s’appliquera au voyage d’arrivée sur l’itinéraire pour le `from_stop_id` donné.

Si `from_trip_id` et `from_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `from_trip_id` aura la priorité. | + | `to_route_id` | ID étranger faisant référence à `routes.route_id` | Optionnel | Identifie un itinéraire où se termine une connexion.

Si `to_route_id` est défini, le transfert s’appliquera au trajet de départ sur l’itinéraire pour le `to_stop_id` donné.

Si `to_trip_id` et `to_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `to_trip_id` aura la priorité. | + | `from_trip_id` | ID étranger faisant référence à `trips.trip_id` | **Requis sous condition** | Identifie un voyage où commence une connexion entre les itinéraires.

Si `from_trip_id` est défini, le transfert s’appliquera au voyage d’arrivée pour le `from_stop_id` donné.

Si `from_trip_id` et `from_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `from_trip_id` aura la priorité. OBLIGATOIRE si `transfer_type` est `4` ou `5`. | + | `to_trip_id` | ID étranger faisant référence à `trips.trip_id` | **Requis sous condition** | Identifie un voyage où se termine une connexion entre des itinéraires.

Si `to_trip_id` est défini, le transfert s’appliquera au voyage de départ pour le `to_stop_id` donné.

Si `to_trip_id` et `to_route_id` sont définis, le `trip_id` doit appartenir au `route_id` et `to_trip_id` aura la priorité. OBLIGATOIRE si `transfer_type` est `4` ou `5`. | | `transfer_type` | Énumération | **Requis** | Indique le type de connexion pour la paire spécifiée (`from_stop_id`, `to_stop_id`). Les options valides sont :

`0` ou vide – Point de transfert Recommandé entre les itinéraires.
`1` - Point de transfert chronométré entre deux itinéraires. Le véhicule au départ doit attendre celui qui arrive et laisser suffisamment de temps au passager pour effectuer le transfert entre les itinéraires.
`2` - Le transfert nécessite un minimum de temps entre l’arrivée et le départ pour assurer une correspondance. Le temps requis pour le transfert est spécifié par `min_transfer_time`.
`3` - Les Transferts ne sont pas possibles entre les itinéraires sur place.
`4` - Les passagers peuvent passer d’un voyage à un autre en restant à bord du même véhicule (un « transfert au siège »). Plus de détails sur ce type de transfert [ci-dessous](#voyages-lies).
`5` - Les transferts à bord ne sont pas autorisés entre des voyages séquentiels. Le passager doit descendre du véhicule et remonter à bord. Plus de détails sur ce type de transfert [ci-dessous](#voyages-lies). | | `min_transfer_time` | Entier non négatif | Optionnel | Temps, en secondes, qui doit être disponible pour permettre un transfert entre les itinéraires aux arrêts spécifiés. Le `min_transfer_time` doit être suffisant pour permettre à un passager typique de se déplacer entre les deux arrêts, y compris le temps tampon pour tenir compte des variations d’horaire sur chaque itinéraire. | @@ -686,9 +686,9 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `pathway_id` | Identifiant unique | **Requis** | Identifie un chemin. Utilisé par les systèmes comme identifiant interne pour l'entrée. Doit être unique dans le jeu de données.

Différentes voies peuvent avoir les mêmes valeurs pour `from_stop_id` et `to_stop_id`.
_Exemple : lorsque deux escaliers mécaniques sont côte à côte dans des directions opposées, ou lorsqu’un escalier et un ascenseur vont du même endroit au même endroit, différents `pathway_id` peuvent avoir les mêmes valeurs `from_stop_id` et `to_stop_id`_ | - | `from_stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis** | Lieu où commence le sentier.

Doit contenir un `stop_id` qui identifie une plate-forme (`location_type=0` ou vide), une entrée/sortie (`location_type=2`), un nœud générique (`location_type=3`) ou une zone d’embarquement (`location_type=4`) .

Les valeurs de `stop_id` qui identifient les stations (`location_type=1`) sont interdites.| - | `to_stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis** | Lieu où se termine le sentier.

Doit contenir un `stop_id` qui identifie une plate-forme (`location_type=0` ou vide), une entrée/sortie (`location_type=2`), un nœud générique (`location_type=3`) ou une zone d’embarquement (`location_type=4`) .

Les valeurs de `stop_id` qui identifient les stations (`location_type=1`) sont interdites.| + | `pathway_id` | ID unique | **Requis** | Identifie un chemin. Utilisé par les systèmes comme identifiant interne pour l'entrée. Doit être unique dans le jeu de données.

Différentes voies peuvent avoir les mêmes valeurs pour `from_stop_id` et `to_stop_id`.
_Exemple : lorsque deux escaliers mécaniques sont côte à côte dans des directions opposées, ou lorsqu’un escalier et un ascenseur vont du même endroit au même endroit, différents `pathway_id` peuvent avoir les mêmes valeurs `from_stop_id` et `to_stop_id`_ | + | `from_stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis** | Lieu où commence le sentier.

Doit contenir un `stop_id` qui identifie une plate-forme (`location_type=0` ou vide), une entrée/sortie (`location_type=2`), un nœud générique (`location_type=3`) ou une zone d’embarquement (`location_type=4`) .

Les valeurs de `stop_id` qui identifient les stations (`location_type=1`) sont interdites.| + | `to_stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis** | Lieu où se termine le sentier.

Doit contenir un `stop_id` qui identifie une plate-forme (`location_type=0` ou vide), une entrée/sortie (`location_type=2`), un nœud générique (`location_type=3`) ou une zone d’embarquement (`location_type=4`) .

Les valeurs de `stop_id` qui identifient les stations (`location_type=1`) sont interdites.| | `pathway_mode` | Énumération | **Requis** | Type de chemin entre la paire spécifiée (`from_stop_id`, `to_stop_id`). Les options valides sont :

`1` - Passerelle.
`2` - Escaliers.
`3` - Trottoir mobile/voyageur.
`4` - Escalator.
`5` - Ascenseur.
`6` - Barrière tarifaire (ou barrière de paiement) : Un chemin qui traverse une zone de la gare où une preuve de paiement est requise pour traverser. Les barrières tarifaires peuvent séparer les zones payantes de la gare de celles non payantes, ou séparer les différentes zones de paiement au sein de la même gare les unes des autres. Ces informations peuvent être utilisées pour éviter d’acheminer les passagers vers les gares en utilisant des raccourcis qui obligeraient les passagers à effectuer des paiements inutiles, comme demander à un passager de traverser un quai de métro pour atteindre une voie de bus.
`7` - Porte de sortie : un chemin sortant d’une zone payante vers une zone non payée où une preuve de paiement n’est pas requise pour traverser. | | `is_bidirectional` | Énumération | **Requis** | Indique la direction que le chemin peut être emprunté :

`0` - Chemin unidirectionnel qui ne peut être utilisé que de `from_stop_id` à `to_stop_id`.
`1` - Voie bidirectionnelle pouvant être utilisée dans les deux sens.

Les portes de sortie (`pathway_mode=7`) ne doivent pas être bidirectionnelles.| | `length` | float non négatif | Optionnel | Longueur horizontale en mètres du chemin depuis l’emplacement d’origine (défini dans `from_stop_id`) jusqu’à l’emplacement de destination (défini dans `to_stop_id`).

Ce champ est recommandé pour les passerelles (`pathway_mode=1`), les barrières tarifaires (`pathway_mode=6`) et les portes de sortie (`pathway_mode=7`).| @@ -696,8 +696,8 @@ Trip B / | `stair_count` | Entier non nul | Optionnel | Nombre d’escaliers du chemin.

Un `stair_count` positif implique que le passager monte de `from_stop_id` à `to_stop_id`. Et un `stair_count` négatif implique que le cavalier descend de `from_stop_id` à `to_stop_id`.

Ce champ est recommandé pour les escaliers (`pathway_mode=2`).

Si seulement une estimation du nombre d’escaliers peut être fournie, il est recommandé d’estimer environ 15 marches pour 1 étage.| | `max_slope` | Flotteur | Optionnel | Rapport de pente maximum du sentier. Les options valides sont :

`0` ou vide- Aucune pente.
« `Float` » - Rapport de pente du chemin, positif pour le haut, négatif pour le bas.

Ce champ ne doit être utilisé qu’avec les passerelles (`pathway_mode=1`) et les trottoirs roulants (`pathway_mode=3`).
_Exemple : Aux États-Unis, 0,083 (également écrit 8,3 %) est le rapport de pente maximal pour un fauteuil roulant propulsé à la main, ce qui signifie une augmentation de 0,083 m (donc 8,3 cm) pour chaque 1 m._| | `min_width` | float positif | Optionnel | Largeur minimale du sentier en mètres.

Ce champ est recommandé si la largeur minimale est inférieure à 1 mètre.| - | `signposted_as` | Text | Optionnel | Texte destiné au public provenant de la signalisation physique et visible par les passagers.

Peut être utilisé pour fournir des instructions textuelles aux passagers, telles que « suivre les panneaux vers ». Le texte dans `singposted_as` doit apparaître exactement tel qu’il est imprimé sur les panneaux.

Lorsque la signalisation physique est multilingue, ce champ peut être renseigné et traduit à l’instar de `stops.stop_name` dans la définition du champ `feed_info.feed_lang`.| - | `reversed_signposted_as` | Text | Optionnel | Identique à `signposted_as`, mais lorsque le chemin est utilisé du `to_stop_id` au `from_stop_id`.| + | `signposted_as` | Texte | Optionnel | Texte destiné au public provenant de la signalisation physique et visible par les passagers.

Peut être utilisé pour fournir des instructions textuelles aux passagers, telles que « suivre les panneaux vers ». Le texte dans `singposted_as` doit apparaître exactement tel qu’il est imprimé sur les panneaux.

Lorsque la signalisation physique est multilingue, ce champ peut être renseigné et traduit à l’instar de `stops.stop_name` dans la définition du champ `feed_info.feed_lang`.| + | `reversed_signposted_as` | Texte | Optionnel | Identique à `signposted_as`, mais lorsque le chemin est utilisé du `to_stop_id` au `from_stop_id`.| ### levels.txt @@ -709,9 +709,9 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `level_id` | Identifiant unique | **Requis** | Identifie un niveau dans une station.| + | `level_id` | ID unique | **Requis** | Identifie un niveau dans une station.| | `level_index` | Flotteur | **Requis** | Index numérique du niveau qui indique sa position relative.

Le niveau du sol doit avoir l’indice `0`, les niveaux au-dessus du sol étant indiqués par des indices positifs et les niveaux souterrains par des indices négatifs. | - | `level_name` | Text | Optionnel | Nom du niveau vu par le passager à l’intérieur du bâtiment ou de la gare.
_Exemple : Prenez l’ascenseur jusqu’à "Mezzanine" ou "Platform" ou "-1"._| + | `level_name` | Texte | Optionnel | Nom du niveau vu par le passager à l’intérieur du bâtiment ou de la gare.
_Exemple : Prenez l’ascenseur jusqu’à "Mezzanine" ou "Platform" ou "-1"._| ### location_groups.txt @@ -723,8 +723,8 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |----------|----|------------|-----------| - | `location_group_id` | Identifiant unique | **Requis** | Identifie un groupe d’emplacements. L’ID doit être unique parmi toutes les valeurs `stops.stop_id`, locations.geojson `id` et `location_groups.location_group_id` .

Un groupe d’emplacements est un groupe d’arrêts qui, ensemble, indiquent les emplacements où un passager peut demander une prise en charge ou un retour. | - | `location_group_name` | Text | Optionnel | Le nom du groupe d’emplacement tel qu’affiché au passager. | + | `location_group_id` | ID unique | **Requis** | Identifie un groupe d’emplacements. L’ID doit être unique parmi toutes les valeurs `stops.stop_id`, locations.geojson `id` et `location_groups.location_group_id` .

Un groupe d’emplacements est un groupe d’arrêts qui, ensemble, indiquent les emplacements où un passager peut demander une prise en charge ou un retour. | + | `location_group_name` | Texte | Optionnel | Le nom du groupe d’emplacement tel qu’affiché au passager. | ### location_group_stops.txt @@ -736,8 +736,8 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |----------|----|------------|-----------| - | `location_group_id` | Clé étrangère faisant référence à `location_groups.location_group_id` | **Requis** | Identifie un groupe d’emplacements auquel appartiennent un ou plusieurs `stop_id`. Le même `stop_id` peut être défini dans de nombreux `location_group_id` s. | - | `stop_id` | Clé étrangère faisant référence à `stops.stop_id` | **Requis** | Identifie un arrêt appartenant au groupe d’emplacements. | + | `location_group_id` | ID étranger faisant référence à `location_groups.location_group_id` | **Requis** | Identifie un groupe d’emplacements auquel appartiennent un ou plusieurs `stop_id`. Le même `stop_id` peut être défini dans de nombreux `location_group_id` s. | + | `stop_id` | ID étranger faisant référence à `stops.stop_id` | **Requis** | Identifie un arrêt appartenant au groupe d’emplacements. | ### locations.geojson @@ -775,7 +775,7 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `booking_rule_id` | Identifiant unique | **Requis** | Identifie une règle. | + | `booking_rule_id` | ID unique | **Requis** | Identifie une règle. | | `booking_type` | Énumération | **Requis** | Indique combien de temps à l’avance la réservation peut être effectuée. Les options valides sont :

`0` - Réservation en temps réel.
`1` - Réservation jusqu’au jour même avec préavis.
`2` – Réservation jusqu’au(x) jour(s) précédent(s). | | `prior_notice_duration_min` | Entier | **Requis sous condition** | Nombre minimum de minutes avant le déplacement pour faire la demande.

**Requis sous condition** :
- **Requis** pour `booking_type=1`.
- **Interdit** sinon. | | `prior_notice_duration_max` | Entier | **Interdit sous condition** | Nombre maximum de minutes avant le déplacement pour faire la demande de réservation.

**Interdit sous condition** :
- **Interdit** pour `booking_type=0` et `booking_type=2`.
- Optionnel pour `booking_type=1`.| @@ -783,10 +783,10 @@ Trip B / | `prior_notice_last_time` | Temps | **Requis sous condition** | Dernière fois le dernier jour avant le voyage pour faire la demande de réservation.

Exemple : « Le trajet doit être réservé 1 jour à l’avance avant 17h00 » sera codé comme `prior_notice_last_time=17:00:00`.

**Requis sous condition** :
- **Requis** si `prior_notice_last_day` est défini.
- **Interdit** sinon. | | `prior_notice_start_day` | Entier | **Interdit sous condition** | Au plus tôt la veille du voyage pour faire la demande de réservation.

Exemple : « Le trajet peut être réservé au plus tôt une semaine à l’avance à minuit » sera codé comme `prior_notice_start_day=7`.

**Interdit sous condition** :
- **Interdit** pour `booking_type=0`.
- **Interdit** pour `booking_type=1` si `prior_notice_duration_max` est défini.
- Optionnel sinon. | | `prior_notice_start_time` | Temps | **Requis sous condition** | Le plus tôt possible le jour précédant le voyage pour faire la demande de réservation.

Exemple : « Le trajet peut être réservé au plus tôt une semaine à l’avance à minuit » sera codé comme `prior_notice_start_time=00:00:00`.

**Requis sous condition** :
- **Requis** si `prior_notice_start_day` est défini.
- **Interdit** sinon. | - | `prior_notice_service_id` | Clé étrangère faisant référence à `calendar.service_id` | **Interdit sous condition** | Indique les jours de service pendant lesquels `prior_notice_last_day` ou `prior_notice_start_day` sont comptés.

Exemple : s’il est vide, `prior_notice_start_day=2` sera deux jours calendaires à l’avance. S’il est défini comme un `service_id` contenant uniquement des jours ouvrables (jours de la semaine sans jours fériés), `prior_notice_start_day=2` sera deux jours ouvrables à l’avance.

**Interdit sous condition** :
- Optionnel si `booking_type=2`.
- **Interdit** sinon. | - | `message` | Text | Optionnel | Message destiné aux passagers utilisant le service à une `stop_time` lors de la réservation d’un ramassage et d’un retour à la demande. Destiné à fournir un minimum d’informations à transmettre dans une interface utilisateur sur l’action qu’un passager doit entreprendre pour utiliser le service. | - | `pickup_message` | Text | Optionnel | Fonctionne de la même manière que `message`, mais utilisé lorsque les passagers bénéficient d’un ramassage à la demande uniquement. | - | `drop_off_message` | Text | Optionnel | Fonctionne de la même manière que `message`, mais utilisé lorsque les passagers bénéficient d’un dépôt à la demande uniquement. | + | `prior_notice_service_id` | ID étranger faisant référence à `calendar.service_id` | **Interdit sous condition** | Indique les jours de service pendant lesquels `prior_notice_last_day` ou `prior_notice_start_day` sont comptés.

Exemple : s’il est vide, `prior_notice_start_day=2` sera deux jours calendaires à l’avance. S’il est défini comme un `service_id` contenant uniquement des jours ouvrables (jours de la semaine sans jours fériés), `prior_notice_start_day=2` sera deux jours ouvrables à l’avance.

**Interdit sous condition** :
- Optionnel si `booking_type=2`.
- **Interdit** sinon. | + | `message` | Texte | Optionnel | Message destiné aux passagers utilisant le service à une `stop_time` lors de la réservation d’un ramassage et d’un retour à la demande. Destiné à fournir un minimum d’informations à transmettre dans une interface utilisateur sur l’action qu’un passager doit entreprendre pour utiliser le service. | + | `pickup_message` | Texte | Optionnel | Fonctionne de la même manière que `message`, mais utilisé lorsque les passagers bénéficient d’un ramassage à la demande uniquement. | + | `drop_off_message` | Texte | Optionnel | Fonctionne de la même manière que `message`, mais utilisé lorsque les passagers bénéficient d’un dépôt à la demande uniquement. | | `phone_number` | Numéro de téléphone | Optionnel | Numéro de téléphone à appeler pour faire la demande de réservation. | | `info_url` | URL | Optionnel | URL fournissant des informations sur la règle de réservation. | | `booking_url` | URL | Optionnel | URL vers une interface ou une application en ligne où la demande de réservation peut être effectuée. | @@ -804,30 +804,30 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| | `table_name` | Énumération | **Requis** | Définit la table qui contient le champ à traduire. Les valeurs autorisées sont :

- `agency`
- `stops`
- `routes`
- `trips`
- `stop_times`
- `pathways`
- `levels`
- `feed_info`
- `attributions`

Tout fichier ajouté à GTFS aura une valeur `table_name` équivalente au nom de fichier, comme indiqué ci-dessus (c’est-à-dire sans compter l’extension de fichier `.txt`). | - | `field_name` | Text | **Requis** | Nom du champ à traduire. Les champs de type «Text» peuvent être traduits, les champs de type `URL` , `Email` et `Phone number` peuvent également être « traduits » pour fournir des ressources dans la langue correcte. Les champs d’autres types ne doivent pas être traduits. | + | `field_name` | Texte | **Requis** | Nom du champ à traduire. Les champs de type «Texte» peuvent être traduits, les champs de type `URL` , `Email` et `Phone number` peuvent également être « traduits » pour fournir des ressources dans la langue correcte. Les champs d’autres types ne doivent pas être traduits. | | `language` | Code de langue | **Requis** | Langue de traduction.

Si la langue est la même que dans `feed_info.feed_lang`, la valeur d’origine du champ sera supposée être la valeur par défaut à utiliser dans les langues sans traduction spécifique (si `default_lang` ne précise pas le contraire).
_Exemple : En Suisse, une ville d’un canton officiellement bilingue s’appelle officiellement « Bienne/Bienne », mais s’appellerait simplement « Bienne » en français et « Bienne » en allemand._ | - | `translation` | Text ou URL ou Email ou Numéro de téléphone | **Requis** | Valeur traduite. | - | `record_id` | Clé étrangère | **Requis sous condition** | Définit l'entrée qui correspond au champ à traduire. La valeur dans `record_id` doit être le premier ou le seul champ de la clé primaire d’une table, tel que défini dans l’attribut de clé primaire de chaque table et ci-dessous :

- `agency_id` pour [agency.txt](#agencytxt)
- `stop_id` pour [stops.txt](#stopstxt) ;
- `route_id` pour [routes.txt](#routestxt) ;
- `trip_id` pour [trips.txt](#tripstxt) ;
- `trip_id` pour [stop_times.txt](#stop_timestxt) ;
- `pathway_id` pour [pathways.txt](#pathwaystxt) ;
- `level_id` pour [levels.txt](#levelstxt) ;
- `attribution_id` pour [attributions.txt](#attributionstxt).

Les champs des tableaux non définis ci-dessus ne doivent pas être traduits. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui ne correspondent pas aux spécifications officielles et ces champs non officiels peuvent être traduits. Vous trouverez ci-dessous la manière recommandée d’utiliser `record_id` pour ces tables :

- `service_id` pour [calendar.txt](#calendartxt) ;
- `service_id` pour [calendar_dates.txt](#calendar_datestxt) ;
- `fare_id` pour [fare_attributes.txt](#fare_attributestxt) ;
- `fare_id` pour [fare_rules.txt](#fare_rulestxt) ;
- `shape_id` pour [shapes.txt](#shapestxt) ;
- `voyage id` pour [frequencies.txt](#frequenciestxt);
- `from_stop_id` pour [transfers.txt](#transferstxt).

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `field_value` est défini.
- **Requis** si `field_value` est vide. | - | `record_sub_id` | Clé étrangère | **Requis sous condition** | Aide l'entrée contenant le champ à traduire lorsque la table n’a pas de clé primaire. Par conséquent, la valeur dans `record_sub_id` est l’ID secondaire de la table, tel que défini par le tableau ci-dessous :

- Aucun pour [agency.txt](#agencytxt);
- Aucun pour [stops.txt](#stopstxt);
- Aucun pour [routes.txt](#routestxt) ;
- Aucun pour [trips.txt](#tripstxt) ;
- `stop_sequence` pour [stop_times.txt](#stop_timestxt) ;
- Aucun pour [pathways.txt](#pathwaystxt) ;
- Aucun pour [levels.txt](#levelstxt) ;
- Aucun pour [attributions.txt](#attributionstxt).

Les champs des tableaux non définis ci-dessus ne doivent pas être traduits. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui ne correspondent pas aux spécifications officielles et ces champs non officiels peuvent être traduits. Vous trouverez ci-dessous la manière recommandée d’utiliser `record_sub_id` pour ces tables :

- Aucun pour [calendar.txt](#calendartxt) ;
- `e` pour [calendar_dates.txt](#calendar_datestxt);
- Aucun pour [fare_attributes.txt](#fare_attributestxt) ;
- `route_id` pour [fare_rules.txt](#fare_rulestxt) ;
- Aucun pour [shapes.txt](#shapestxt) ;
- `start_time` pour [frequencies.txt](#frequenciestxt);
- `to_stop_id` pour [transfers.txt](#transferstxt).

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `field_value` est défini.
- **Requis** si `table_name=stop_times` et `record_id` sont définis. | - | `field_value` | Text ou URL ou Email ou Numéro de téléphone | **Requis sous condition** | Au lieu de définir quelle entrée doit être traduite en utilisant `record_id` et `record_sub_id`, ce champ peut être utilisé pour définir la valeur qui doit être traduite. Lorsqu’elle est utilisée, la traduction sera appliquée lorsque les champs identifiés par `table_name` et `field_name` contiennent exactement la même valeur définie dans field_value.

Le champ doit avoir **exactement** la valeur définie dans `field_value`. Si seul un sous-ensemble de la valeur correspond à `field_value`, la traduction ne sera pas appliquée.

Si deux règles de traduction correspondent à la même entrée (une avec `field_value` et l’autre avec `record_id`), la règle avec `record_id` est prioritaire.

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `record_id` est défini.
- **Requis** si `record_id` est vide. | + | `translation` | Texte ou URL ou Email ou Numéro de téléphone | **Requis** | Valeur traduite. | + | `record_id` | ID étranger | **Requis sous condition** | Définit l'entrée qui correspond au champ à traduire. La valeur dans `record_id` doit être le premier ou le seul champ de la clé primaire d’une table, tel que défini dans l’attribut de clé primaire de chaque table et ci-dessous :

- `agency_id` pour [agency.txt](#agencytxt)
- `stop_id` pour [stops.txt](#stopstxt) ;
- `route_id` pour [routes.txt](#routestxt) ;
- `trip_id` pour [trips.txt](#tripstxt) ;
- `trip_id` pour [stop_times.txt](#stop_timestxt) ;
- `pathway_id` pour [pathways.txt](#pathwaystxt) ;
- `level_id` pour [levels.txt](#levelstxt) ;
- `attribution_id` pour [attributions.txt](#attributionstxt).

Les champs des tableaux non définis ci-dessus ne doivent pas être traduits. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui ne correspondent pas aux spécifications officielles et ces champs non officiels peuvent être traduits. Vous trouverez ci-dessous la manière recommandée d’utiliser `record_id` pour ces tables :

- `service_id` pour [calendar.txt](#calendartxt) ;
- `service_id` pour [calendar_dates.txt](#calendar_datestxt) ;
- `fare_id` pour [fare_attributes.txt](#fare_attributestxt) ;
- `fare_id` pour [fare_rules.txt](#fare_rulestxt) ;
- `shape_id` pour [shapes.txt](#shapestxt) ;
- `voyage id` pour [frequencies.txt](#frequenciestxt);
- `from_stop_id` pour [transfers.txt](#transferstxt).

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `field_value` est défini.
- **Requis** si `field_value` est vide. | + | `record_sub_id` | ID étranger | **Requis sous condition** | Aide l'entrée contenant le champ à traduire lorsque la table n’a pas de ID unique. Par conséquent, la valeur dans `record_sub_id` est l’ID secondaire de la table, tel que défini par le tableau ci-dessous :

- Aucun pour [agency.txt](#agencytxt);
- Aucun pour [stops.txt](#stopstxt);
- Aucun pour [routes.txt](#routestxt) ;
- Aucun pour [trips.txt](#tripstxt) ;
- `stop_sequence` pour [stop_times.txt](#stop_timestxt) ;
- Aucun pour [pathways.txt](#pathwaystxt) ;
- Aucun pour [levels.txt](#levelstxt) ;
- Aucun pour [attributions.txt](#attributionstxt).

Les champs des tableaux non définis ci-dessus ne doivent pas être traduits. Cependant, les producteurs ajoutent parfois des champs supplémentaires qui ne correspondent pas aux spécifications officielles et ces champs non officiels peuvent être traduits. Vous trouverez ci-dessous la manière recommandée d’utiliser `record_sub_id` pour ces tables :

- Aucun pour [calendar.txt](#calendartxt) ;
- `e` pour [calendar_dates.txt](#calendar_datestxt);
- Aucun pour [fare_attributes.txt](#fare_attributestxt) ;
- `route_id` pour [fare_rules.txt](#fare_rulestxt) ;
- Aucun pour [shapes.txt](#shapestxt) ;
- `start_time` pour [frequencies.txt](#frequenciestxt);
- `to_stop_id` pour [transfers.txt](#transferstxt).

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `field_value` est défini.
- **Requis** si `table_name=stop_times` et `record_id` sont définis. | + | `field_value` | Texte ou URL ou Email ou Numéro de téléphone | **Requis sous condition** | Au lieu de définir quelle entrée doit être traduite en utilisant `record_id` et `record_sub_id`, ce champ peut être utilisé pour définir la valeur qui doit être traduite. Lorsqu’elle est utilisée, la traduction sera appliquée lorsque les champs identifiés par `table_name` et `field_name` contiennent exactement la même valeur définie dans field_value.

Le champ doit avoir **exactement** la valeur définie dans `field_value`. Si seul un sous-ensemble de la valeur correspond à `field_value`, la traduction ne sera pas appliquée.

Si deux règles de traduction correspondent à la même entrée (une avec `field_value` et l’autre avec `record_id`), la règle avec `record_id` est prioritaire.

Requis sous condition:
- **Interdit** si `table_name` est `feed_info`.
- **Interdit** si `record_id` est défini.
- **Requis** si `record_id` est vide. | ### feed_info.txt Fichier : **Requis sous condition** - Primary key (none) + Clé primaire (none) Le fichier contient des informations sur le jeu de données lui-même, plutôt que sur les services décrits par le jeu de données. Dans certains cas, l’éditeur du jeu de données est une entité différente de n’importe laquelle des agences. | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `feed_publisher_name` | Text | **Requis** | Nom complet de l’organisation qui publie le jeu de données. Cela peut être identique à l’une des valeurs `agency.agency_name`. | + | `feed_publisher_name` | Texte | **Requis** | Nom complet de l’organisation qui publie le jeu de données. Cela peut être identique à l’une des valeurs `agency.agency_name`. | | `feed_publisher_url` | URL | **Requis** | URL du site Web de l’organisation de publication du jeu de données. Cela peut être identique à l’une des valeurs `agency.agency_url`. | | `feed_lang` | Code de langue | **Requis** | Langue par défaut utilisée pour le texte de ce jeu de données. Ce paramètre aide les consommateurs GTFS à choisir les règles de capitalisation et d’autres paramètres spécifiques à la langue pour le jeu de données. Le fichier `translations.txt` peut être utilisé si le texte doit être traduit dans des langues autres que celle par défaut.

La langue par défaut peut être multilingue pour les jeux de données dont le texte original est en plusieurs langues. Dans de tels cas, le champ `feed_lang` doit contenir le code de langue `mul` défini par la norme ISO 639-2, et une traduction pour chaque langue utilisée dans le jeu de données doit être fournie dans `translations.txt`. Si tout le texte original du jeu de données est dans la même langue, alors `mul` ne doit pas être utilisé.
_Exemple : Considérons un jeu de données provenant d’un pays multilingue comme la Suisse, avec le champ d’origine `stops.stop_name` rempli avec des noms d’arrêts dans différentes langues. Chaque nom d’arrêt est écrit en fonction de la langue dominante dans la situation géographique de cet arrêt, par exemple `Genève` pour la ville francophone de Genève, `Zürich` pour la ville germanophone de Zurich et `Biel/Bienne` pour la ville bilingue.ville de Bienne/Bienne. Le jeu de données `feed_lang` devrait être `mul` et les traductions seraient fournies dans `translations.txt`, en allemand : `Genf`, `Zürich` et `Biel`; en français : `Genève`, `Zurich` et `Bienne` ; en italien :  `Ginevra` , `Zurigo` et `Bienna`; et en anglais : `Geneva`, `Zurich` et `Biel/Bienne`._ | | `default_lang` | Code de langue | Optionnel | Définit la langue à utiliser lorsque le application réutilisatrice de données ne connaît pas la langue du passager. Ce sera souvent `en` (anglais). | | `feed_start_date` | Dates | Recommandé | Le jeu de données fournit des informations complètes et fiables sur les horaires de service pour la période allant du début du jour `feed_start_date` à la fin du jour `feed_end_date`. Les deux jours peuvent être laissés vides en cas d’indisponibilité. La date `feed_end_date` ne doit pas précéder la date `feed_start_date` si les deux sont données. Il est recommandé aux fournisseurs de jeux de données de fournir des données de planification en dehors de cette période pour informer des futurs services probables, mais les consommateurs de jeux de données doivent les traiter en étant conscients de leur statut non faisant autorité. Si `feed_start_date` ou `feed_end_date` s’étendent au-delà des dates du calendrier actif définies dans [calendar.txt](#calendartxt) et [calendar_dates.txt](#calendar_datestxt), le jeu de données affirme explicitement qu’il n’y a pas de service pour les dates dans la plage `feed_start_date` ou `feed_end_date` mais non inclus dans les dates du calendrier actif. | | `feed_end_date` | Dates | Recommandé | (voir ci-dessus) | - | `feed_version` | Text | Recommandé | Chaîne qui indique la version actuelle du jeu de données GTFS. Les applications consommant du GTFS peuvent afficher cette valeur pour aider les éditeurs de jeux de données à déterminer si le dernier jeu de données a été incorporé. | + | `feed_version` | Texte | Recommandé | Chaîne qui indique la version actuelle du jeu de données GTFS. Les applications consommant du GTFS peuvent afficher cette valeur pour aider les éditeurs de jeux de données à déterminer si le dernier jeu de données a été incorporé. | | `feed_contact_email` | Courriel | Optionnel | Adresse e-mail pour la communication concernant le jeu de données GTFS et les pratiques de publication de données. `feed_contact_email` est un contact technique pour les applications consommatrices de GTFS. Fournissez les coordonnées du service client via [agency.txt](#agencytxt). Il est recommandé de fournir au moins un des éléments `feed_contact_email` ou `feed_contact_url`. | | `feed_contact_url` | URL | Optionnel | URL pour les informations de contact, un formulaire Web, un service d’assistance ou d’autres outils de communication concernant le jeu de données GTFS et les pratiques de publication de données. `feed_contact_url` est un contact technique pour les applications consommatrices de GTFS. Fournissez les coordonnées du service client via [agency.txt](#agencytxt). Il est recommandé de fournir au moins un des éléments `feed_contact_url` ou `feed_contact_email`. | @@ -841,11 +841,11 @@ Trip B / | Nom du champ | Tapez | Présence | Descriptif | |------|------|------|------| - | `attribution_id` | Identifiant unique | Optionnel | Identifie une attribution pour le jeu de données ou un sous-ensemble de celui-ci. Ceci est surtout utile pour les traductions. | - | `agency_id` | Clé étrangère faisant référence à `agency.agency_id` | Optionnel | Agence à laquelle s’applique l’attribution.

Si une attribution `agency_id`, `route_id` ou `trip_id` est définie, les autres doivent être vides. Si aucun d’entre eux n’est spécifié, l’attribution s’appliquera à l’ensemble des données. | - | `route_id` | Clé étrangère faisant référence à `routes.route_id` | Optionnel | Fonctionne de la même manière que `agency_id` sauf que l’attribution s’applique à un itinéraire. Plusieurs attributions peuvent s’appliquer au même itinéraire. | - | `trip_id` | Clé étrangère faisant référence à `trips.trip_id` | Optionnel | Fonctionne de la même manière que `agency_id` sauf que l’attribution s’applique à un voyage. Plusieurs attributions peuvent s’appliquer au même voyage. | - | `organization_name` | Text | **Requis** | Nom de l’organisation à laquelle le jeu de données est attribué. | + | `attribution_id` | ID unique | Optionnel | Identifie une attribution pour le jeu de données ou un sous-ensemble de celui-ci. Ceci est surtout utile pour les traductions. | + | `agency_id` | ID étranger faisant référence à `agency.agency_id` | Optionnel | Agence à laquelle s’applique l’attribution.

Si une attribution `agency_id`, `route_id` ou `trip_id` est définie, les autres doivent être vides. Si aucun d’entre eux n’est spécifié, l’attribution s’appliquera à l’ensemble des données. | + | `route_id` | ID étranger faisant référence à `routes.route_id` | Optionnel | Fonctionne de la même manière que `agency_id` sauf que l’attribution s’applique à un itinéraire. Plusieurs attributions peuvent s’appliquer au même itinéraire. | + | `trip_id` | ID étranger faisant référence à `trips.trip_id` | Optionnel | Fonctionne de la même manière que `agency_id` sauf que l’attribution s’applique à un voyage. Plusieurs attributions peuvent s’appliquer au même voyage. | + | `organization_name` | Texte | **Requis** | Nom de l’organisation à laquelle le jeu de données est attribué. | | `is_producer` | Énumération | Optionnel | Le rôle de l’organisation est producteur. Les options valides sont :

`0` ou vide : l’organisation n’a pas ce rôle.
`1` - L’organisation a ce rôle.

Au moins un des champs `is_producer`, `is_operator` ou `is_authority` doit être défini sur `1`. | | `is_operator` | Énumération | Optionnel | Fonctionne de la même manière que `is_producer`, sauf que le rôle de l’organisation est celui d’opérateur. | | `is_authority` | Énumération | Optionnel | Fonctionne de la même manière que `is_producer`, sauf que le rôle de l’organisation est l’autorité. | diff --git a/docs/fr/getting_started/what_is_GTFS.md b/docs/fr/getting_started/what_is_GTFS.md index 960a77427..c08f5897b 100644 --- a/docs/fr/getting_started/what_is_GTFS.md +++ b/docs/fr/getting_started/what_is_GTFS.md @@ -2,9 +2,9 @@ ## Une norme de données ouverte pour les informations sur les passagers en transport en commun - La General Transit Feed Specification, également connue sous le nom de GTFS, est un format de données standardisé qui fournit une structure pour que les __agences de transport en commun__ décrive les informations de leurs services tels que les horaires, les arrêts, les tarifs, etc. + La General Transit Feed Specification, également connue sous le nom de GTFS, est un format de données standardisé qui fournit une structure pour que les agences de transport en commun décrive les informations de leurs services tels que les horaires, les arrêts, les tarifs, etc. - Il permet aux __agences de transport en commun__ de publier leurs données de transport en commun dans un format qui peut être utilisé par une grande variété d’applications logicielles, le plus souvent des planificateurs d'itinéraire. Cela signifie que les utilisateurs peuvent facilement obtenir des informations d'itinéraire pour accéder aux services de transport en commun en utilisant leur smartphone ou un appareil similaire. + Il permet aux agences de transport en commun de publier leurs données de transport en commun dans un format qui peut être utilisé par une grande variété d’applications logicielles, le plus souvent des planificateurs d'itinéraire. Cela signifie que les utilisateurs peuvent facilement obtenir des informations d'itinéraire pour accéder aux services de transport en commun en utilisant leur smartphone ou un appareil similaire.