Structure de l'import
L'import GTFS prend en entrée un zip contenant des fichiers csv.
Les fichiers csv pris en compte par l'import gtfs sont :
- agencies.txt
- stops.txt
- routes.txt
- trips.txt
- stop_times.txt
- calendars.txt
- calendar_dates.txt
L'import ignorera les fichiers suivants
- fare_attributes.txt
- fare_rules.txt
- shapes.txt
- frequencies.txt
- transfers.txt
- feed_info.txt
Les fichiers doivent respecter le format des fichiers GTFS comme défini dans la documentation officielle.
Rappel de la documentation officielle google : https://developers.google.com/transit/gtfs/reference/
Des exemples de fichiers GTFS sont disponibles à l'adresse suivante : https://developers.google.com/transit/gtfs/examples/gtfs-feed
Traitement des fichiers
Les fichiers sont traités dans l'ordre suivant :
- agencies.txt
- stops.txt
- routes.txt
- calendars.txt
- calendar_dates.txt
- trips.txt
- stop_times.txt
agencies.txt
Validation des données GTFS
Attributs obligatoires :
- agency_id (l'attribut n'est pas obligatoire selon la norme gtfs, mais les Chouette::Companies sont créées à partir de cet identifiant)
- agency_name
- agency_url
- agency_timezone
Conversion du modèle GTFS en modèle Chouette
Une Agency GTFS sera convertie en Company dans Chouette.
| GTFS Agency | Chouette::Company |
|---|---|
| agency_id | registration_number |
| agency_name | name |
| agency_url | url |
| agency_timezone | time_zone |
stops.txt
Validation des données GTFS
Attributs obligatoires :
- stop_id
- stop_name
- stop_lat
- stop_lon
Conversion du modèle GTFS en modèle Chouette
Un Stop GTFS sera converti en StopArea dans Chouette.
| GTFS Stop | Chouette::StopArea |
|---|---|
| stop_id | registration_number |
| stop_name | name |
| stop_lat | latitude |
| stop_lon | longitude |
| location_type | area_type |
Le Chouette::StopArea aura par défaut un kind "Commercial" et un confirmed_at à l'heure de l'import. L'attribut GTFS parent_station permet de trouver le parent de l'arrêt qui lui sera associé.
routes.txt
Validation des données GTFS
Attributs obligatoires :
- route_id
- route_short_name
- route_long_name
L'attribut route_type est obligatoire selon le profil GTFS mais n'est pas importé dans Chouette.
Conversion du modèle GTFS en modèle Chouette
Une Route GTFS sera convertie en Line Chouette.
| GTFS Route | Chouette::Line |
|---|---|
| route_id | registration_number |
| route_short_name | number |
| route_long_name | published_name |
| route_desc | comment |
| route_url | url |
L'attribut GTFS agency_id permet de trouver la Chouette::Company de la ligne qui lui sera associée.