Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • C chouette-core
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 36
    • Merge requests 36
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Administrator
  • chouette-core
  • Wiki
  • GTFS Import

Last edited by Luc Donnet Oct 18, 2018
Page history
This is an old version of this page. You can view the most recent version or browse the history.

GTFS Import

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é.

Si l'attribut GTFS location_type est égal à "1" alors l'attribut Chouette area_type sera égal à "zdlp", sinon l'attribut area_type sera égal à "zdep".

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 name
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.

calendars.txt

Validation des données GTFS

Attributs obligatoires :

  • service_id
  • monday
  • thuesday
  • wednesday
  • thursday
  • friday
  • saturday
  • sunday
  • start_date
  • end_date

Conversion du modèle GTFS en modèle Chouette

Un Calendar GTFS sera converti en une combinaison de TimeTable et Period Chouette. La TimeTable contient les jours d'application, et la Period qui lui est associée contient les dates de début et de fin de la période concernée.

GTFS Route Chouette::TimeTable Chouette::Period
monday monday -
thuesday thuesday -
wednesday wednesday -
thursday thursday -
friday friday -
saturday saturday -
sunday sunday -
start_date - period_start
end_date - period_end

L'attribut service_id sera stocké dans le champ comment de la TimeTable Chouette sous la forme : "Calendar [service_id]".

calendar_dates.txt

Validation des données GTFS

Attributs obligatoires :

  • service_id
  • date
  • exception_type

Conversion du modèle GTFS en modèle Chouette

Un CalendarDate GTFS sera converti en Date Chouette associée à une TimeTable.

GTFS CalendarDate Chouette::Date
date date
exception_type in_out

L'attribut GTFS service_id permet d'associer les Date à la TimeTable correspondante.

L'attribut Chouette in_out est un booléen. Si l'attribut GTFS exception_type est égal à "1" alors in_out sera égal à "true", si exception_type est égal à "2" alors in_out sera égal à "false".

trips.txt

Validation des données GTFS

Attributs obligatoires :

  • route_id
  • service_id
  • trip_id

Conversion du modèle GTFS en modèle Chouette

Un Trip GTFS sera converti en une combinaison de Route, JourneyPattern et VehicleJourney Chouette.

Si l'attribut GTFS direction_id est égal à "1" alors l'attribut de la Route Chouette wayback sera égal à "outbound". Si direction_id est égal à 0, alors wayback sera égal à "outbound".

Les attributs de la Route Chouette published_name et name seront égaux à l'attribut GTFS trip_short_name s'il existe, sinon à l'attribut trip_headsign s'il existe, sinon à "OUTBOUND" ou "INBOUND" en fonction de l'attribut direction_id.

L'attribut name du JourneyPattern Chouette sera égal à celui de la Route.

L'attribut published_journey_name du VehicleJourney Chouette sera égal à l'attribut GTFS trip_headsign s'il existe, sinon à l'attribut trip_id.

L'attribut GTFS route_id permet d'associer les objets Chouette à la ligne correspondante.

L'attribut GTFS service_id permet d'associer le VehicleJourney à la TimeTable correspondante.

stop_times.txt

Validation des données GTFS

Attributs obligatoires :

  • trip_id
  • arrival_time
  • departure_time
  • stop_id
  • stop_sequence

Conversion du modèle GTFS en modèle Chouette

Un StopTime GTFS sera converti en VehicleJourneyAtStop Chouette associé à un VehicleJourney et un StopArea.

GTFS StopTime Chouette::VehicleJourneyAtStop
arrival_time arrival_time
departure_time departure_time

L'attribut GTFS trip_id permet d'associer les VehicleJourneyAtStop au VehicleJourney correspondant.

L'attribut GTFS stop_id permet d'associer les VehicleJourneyAtStop au StopArea correspondant.

L'attribut stop_sequence permet de donner un ordre aux VehicleJourneyAtStops dans le JourneyPattern correspondant au VehicleJourney.

Les attributs GTFS arrival_time et departure_time peuvent contenir des heures supérieures à 24 pour modéliser les horaires après minuit d'une journée de service. Les horaires sont stockées au format 24h dans les VehicleAtStops Chouette, mais les attributs departure_day_offset et arrival_day_offset permettent de modéliser ce problème. Si une heure est supérieure à 24, son offset correspondant sera égal à 1, sinon il sera égal à 0.

Clone repository

Test

test2

test 3