Import massif d'arrĂȘt en GTFS

Lors de l’initialisation d’un réseau dans CHOUETTE, la saisie manuelle de tous les arrêts est une tâche très laborieuse. Le format GTFS est relativement simple à éditer dans un tableur et permet de copier massivement les éléments pour les importer ensuite et s’épargner ainsi de longues heures de saisie et les erreurs qui peuvent en résulter.

Le format GTFS se présente sous la forme d’un ensemble de fichier texte (.txt). Ils contiennent en réalité des données de type CSV. La principale difficulté que représente de l’édition d’un fichier GTFS réside dans son séparateur qui correspond à une norme américaine. En effet, c’est la virgule “,” qui fait office de séparateur alors que la norme en cours chez nous est le point virgule, voire la tabulation.

Certaines version d’Excel ne permettent pas de choisir la virgule comme séparateur. Il faut donc contourner cette lacune fonctionnelle par des opérations manuelles. Le tableur de Libre Office n’a en revanche pas ces problèmes de gestion des séparateurs, l’opération est bien plus simple en l’utilisant. Les consignes pour Excel proposées ici correspondent à la version 2010.

L’import des arrêts par GTFS comporte également une limite par rapport au Pôles d’échanges. Ce type d’arrêt reconnu dans le format Neptune n’existe pas en GTFS, il n’est donc pas possible de créer ce type d’arrêt par l’import GTFS. Il reste en revanche possible de les créer manuellement en y rattachant les arrêts importés en GTFS.

Ouvrir les modèles de fichiers GTFS dans un tableur

Télécharger dans l’aide en ligne de CHOUETTE les fichiers stops.txt et transfers.txt. Le premier est le fichier des arrêts, le second le fichier des correspondances.

Ouverture dans Excel

Il convient en premier lieu de paramétrer windows pour que Excel prenne en charge les “.” comme séparateur de décimale :

  • Dans le panneau de configuration Windows, choisir « Région et langue ».
  • Dans l’onglet formats, cliquer « paramètres supplémentaires »
  • Changer le symbole décimal de « , » à « . »
  • Changer le séparateur de liste de « ; » à « , »
  • Redémarrer Excel pour la prise en compte de la modification

Le format de caractère est UTF8, le séparateur est la virgule.

Première étape de l’import : choisir l’UTF8

seconde étape de l’import : choisir le séparateur virgule

Troisième étape : conserver les valeurs par défaut et valider.

Ouverture dans Libre Office

Le processus d’importation est très proche de celui d’Excel. Il faut sélectionner l’UTF8 pour l’encodage des caractères et la virgule comme séparateur. Les étapes de modification des préférences dans windows sont superflues.

Défintion des champs

Les champs des tableaux ouverts dans un tableur sont les suivants.

Fichier des arrêts (stops.txt)

  • stop_id : identifiant de l’arrêt dans le système. Cet identifiant est obligatoire et doit être unique.
  • stop_code : ce champs est facultatif et correspond à un éventuel code de désignation métier de l’arrêt. Il est très utile de renseigner ce code pour faire notamment la différence entre un arrêt aller et un arrêt retour dans CHOUETTE.
  • stop_name : le nom public de l’arrêt, cet élément est obligatoire pour identifier l’arrêt dans CHOUETTE par la suite.
  • stop_desc : la description de l’arrêt, l’information est facultative.
  • stop_lat : la latitude de l’arrêt au format WGS84 ; ce champ est obligatoire. Il est important de conserver le point “.” comme séparateur de décimale.
  • stop_lon : la longitude de l’arrêt au format WGS84 ; ce champ est obligatoire. Il est important de conserver le point “.” comme séparateur de décimale.
  • zone_id : le rattachement de l’arrêt à une zone. cette données est facultative
  • stop_url : une URL éventuellement attachée à l’arrêt. Cette donnée est facultative
  • location_type : le type d’arrêt. si le champs est vide ou contient la valeur 0, il s’agira d’un point d’arrêt, si la valeur est à 1, il s’agira d’un arrêt commercial. Le format GTFS ne prend pas en compte les types d’arrêts “quai d’embarquement” et “Pôle d’échange”.
  • parent_station : ce champ est à remplir uniquement pour les arrêts physique (location_type=0) et seul le stop_id d’un arrêt commercial peut y figurer. Il n’est pas obligatoire de rattacher un arrêt de type 0 à un arrêt de type 1.
  • wheelchair_boarding : ce champ facultatif indique si l’arrêt est accessible aux fauteuils roulants. Les valeurs sont :
    • 0 (ou vide) : l’information d’accessibilité de l’arrêt est inconnue. Si l’arrêt dépend d’un arrêt commercial, il hérite de la valeur définie au niveau de l’arrêt commercial.
    • 1 : L’arrêt est accessible aux fauteuils roulants.
    • 2 : L’arrêt n’est pas accessible aux fauteuils roulants.
  • address_line : Ce champ facultatif est une extension rajouté par CHOUETTE, il n’existe pas dans le GTFS au sens strict. Il s’agit du nº de voirie pour l’adresse postale.
  • locality : Ce champ facultatif est une extension rajouté par CHOUETTE, il n’existe pas dans le GTFS au sens strict. Commune d’appartenance de l’arrêt.
  • postal_code : Ce champ facultatif est une extension rajouté par CHOUETTE, il n’existe pas dans le GTFS au sens strict. Le code postal de la commune d’appartenance de l’arrêt.
  • stop_timezone : ce champ facultatif est à remplir si l’arrêt est dans un fuseau horaire différent de celui défini par défaut dans l’espace de données.

Fichier des correspondances (transfers.txt)

  • from_stop_id : l’identifiant de l’arrêt de départ de la correspondance. L’identifiant peut concerner soit un arrêt commercial soit un arrêt physique. Si un arrêt commercial est sélectionné, la correspondance sera validée pour les arrêts physiques qui en dépendent. Le champ est obligatoire.
  • to_stop_id : l’identifiant de l’arrêt d’arrivée de la correspondance. L’identifiant peut concerner soit un arrêt commercial soit un arrêt physique. Si un arrêt commercial est sélectionné, la correspondance sera validée pour les arrêts physiques qui en dépendent. Le champ est obligatoire.
  • transfer_type : Ce champ obligatoire permet de définir le type de correspondance entre les deux arrêts.
    • 0 (ou vide) : correspondance possible entre deux arrêts sans délai.
    • 1 : la correspondance est possible et garantie (attente du véhicule en correspondance)
    • 2 : la correspondance est possible mais requiert un temps de trajet à pied défini dans le champ suivant.
    • 3 : la correspondance entre ces deux arrêts n’est pas possible. Cette valeur ne sera probablement pas nécessaire, sauf à ce que les systèmes exploitants la base issue de CHOUETTE créent des correspondances automatiquement.
  • min_transfer_time : ce champ est optionnel, il précise le temps de correspondance dans le cas où le “transfer_type” est fixé à “2”.

Enregistrement des fichiers

Une fois les informations saisies dans les tableaux, il est nécessaire de les enregistrer dans un format identique au format initial. L’opération risque d’être plus complexe que l’ouverture avec Excel.

Enregistrement avec Excel

  1. Enregistrer le fichier en .csv (séparateur point-virgule) : Grâce aux changement de paramétrage mené dans le panneau de configuration avant l’ouverture du fichier il est possible d’enregistrer chacun des fichier en CSV (séparateur point-virgule). Même si le nom du format d’enregistrement fait référence au point-virgule, c’est bien une virgule qui est retenue lors de l’enregistrement.
  2. Modifier l’extension du fichier en .txt : le format du GTFS est le format txt. Or l’enregistrement avec le bon séparateur n’est possible qu’en CSV. Il convient donc de changer l’extension du fichier de .csv à .txt.
  3. Ouvrir le fichier dans le bloc note et l’enregistrer en UTF8 : Excel a bien enregistré le fichier avec des séparateurs “,” mais il ne respecte pas l’encodage en UTF8. En l’ouvrant dans le bloc-note, il est possible de le réencoder en UTF8.

h4.Enregistrement avec Libre Office

Les modifications de préférences windows ne sont pas nécessaires avec Libre office.

  1. Faire enregistrer sous, sélectionner le format CSV
  2. Au moment de l’enregistrement ou après, changer l’extension .csv en .txt

Importer les données dans CHOUETTE

Les fichiers doivent être zippés, qu’il y en ai un ou deux. Ensuite au niveau de l’import :

  • Créer un nouvel import de type GTFS
  • Nommer l’import
  • Sélectionner “arrêts” dans la liste déroulante sous ensemble
  • Sélectionner le fichier .zip contenant les fichier arrêts et/ou correspondance