GTFS2Postgis : Importer du GTFS dans Postgis en PHP

Les données GTFS sont de plus en plus présentes sur les portails Opendata. Elles permettent de décrire l’offre théorique des transports en commun en vue de la diffuser. Il est beaucoup plus léger,lisible et courant que le format Trident (XML) en plus d’être un standard au niveau mondial. Il est d’ailleurs utilisé nativement par OpenTripPlanner ou encore Nativa pour n’en citer que deux.

Source : Wikipedia

General Transit Feed Specification (GTFS, traduction littérale : spécification générale pour les flux relatifs aux transports en commun) est un format informatique standardisé pour communiquer des horaires de transports en commun et les informations géographiques associées (topographie d’un réseau : emplacement des arrêts, tracé des lignes).

GTFS2Postgis est un script PHP  très court -moins de 100 lignes- qui permet d’importer des données GTFS dans Postgis.

Vous l’aurez donc compris il vous faudra évidement un Postgres/Postgis et un serveur PHP. Coté structure de données, on va au plus simple, c’est exactement la même que celle des fichiers (spécifications par Google). Il y a donc autant de tables que de fichiers texte potentiels. Ah si, une différence quand même, l’ajout d’une colonne de type GEOMETRY afin de pouvoir afficher les données sous SIG ou de faire des requêtes spatiales.

Les requêtes de création des tables sont dans le fichier create_table.sql. A noter la présence de deux triggers servant à peupler le champ GEOMETRY lors de l’import.

Le fichier GTFS qui est en fait un .zip contenant des .txt, doit être déposé dans le répertoire GTFS. Dans le fichier de configuration nommé config.php (je sais, très original)  il vous faudra lui indiquer le nom du fichier à traiter. Ce sera d’ailleurs l’occasion de configurer la connexion à votre base Postgis.

Il ne vous reste plus qu’à exécuter GTFS2Postgis.php et à attendre quelques minutes.

Dans le dépôt Github, le GTFS provient du site Métromobilité.

 

 

Une pensée sur “GTFS2Postgis : Importer du GTFS dans Postgis en PHP

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *