Contenu

gtfslib-python, une librairie open source pour calculer des indicateurs d’offre de transport collectif

3 mars 2016

Mise à jour 3 mars 2016 :
Une Version1 de la librairie gtfslib est publiée.
La librairie est documentée en anglais, avec une page en français ICI.

L’AFIMB est maitre d’oeuvre de la politique de l’état en matière d’ouverture des données de transport, inscrite dans la loi (dite ’loi Macron’) depuis août 2015, et souhaite accompagner le mouvement d’ouverture des données de Transport Collectif qui va s’accélérer dans les mois qui viennent.

Le format de publication de données de TC le plus utilisé pour l’open data est le format GTFS.
Le langage le plus répandu parmi les acteurs réalisant des études de transport et d’analyse territoriale (qui sont les utilisateurs visés en priorité) est sans doute le langage Python.

L’AFIMB souhaite favoriser l’émergence d’une communauté d’acteurs contribuant à l’amélioration d’outils librement réutilisables facilitant l’accès à la donnée de transport collectif et a lancé une consultation visant à une librairie python permettant de visualiser et calculer des indicateurs à partir de données de transport collectif au format GTFS, diffusée sous licence open source et conçue pour être facilement extensible.

Le CEREMA assure le suivi technique des développements, qui seront disponibles au début 2ème trimestre 2016.

La société MECATRAN a été retenue pour développer cette librairie : gtfslib-python .
Les développements sont en cours et le code est publié sur github , avec une documentation d’utilisation.

La solution s’appuie sur la base sqlite (mais postgresql peut aussi être utilisé) ; la fonction première est celle de chargement de données GTFS en base ; elle fait correspondre les données des fichiers GTFS vers un modèle appelé GTFS’ , qui normalise le format afin d’uniformiser et simplifier les requêtes ; l’API python donnant accès aux données métier de la base permet ensuite de développer diverses fonctions, par exemple fournissant la liste des calendriers valides pour un jour donné, la longueur d’un itinéraire, le nombre de passages à un arrêt un jour donné, l’amplitude horaire à un arrêt un jour donné, etc.

Certaines fonctions ont été développées par Mecatran et sont disponibles sous forme de programme python, par un mécanisme de "plug-in", conçu pour faciliter d’autres développements et des contributions.