10/11/2020

Naonedbus et la cartospondance : la quête du tracé reel continue


Grâce à la méthode d'appariement cartographique, toutes les lignes ont maintenant un tracé réel.

Après une première étape en début d’année pour ajouter le tracé d’une majorité de lignes dans les itinéraires, toutes les lignes sont maintenant supportées.

Le problème des tracés OpenStreetMap

La première approche se contentait de lire les tracés des lignes définis par les contributeurs d’OpenStreetMap.

Tracé de la ligne 29 (actuelle C9) sur OpenStreetMap

Si cette méthode fonctionne très bien la plupart du temps, elle n’est pas sans défaut : elle est fragile et incomplète.

Incomplète car toutes les lignes de sont pas manuellement renseignées ou maintenues — cela demande beaucoup de temps. Par exemple la ligne 29 est toujours présente sur OpenStreetMap alors qu’elle est devenue la ligne C9.

Fragile car un tracé est un ensemble de routes par lesquelles passe le bus, et il suffit qu’une seule portion manque (par exemple un nouveau rond point fraichement créé sans être associé à la ligne de bus) pour que le tracé soit inutilisable par OpenTripPlanner, le calculateur d’itinéraires.

Cassure sur le tracé de la ligne 29

GraphHopper à la rescousse

La nouvelle approche consiste à faire de la cartospondance : calculer l’itineraire le plus probable pour une suite de coordonnées géographiques.

GraphHopper, un calculateur d’itinéraire routier permet d’arriver à un résultat presque parfait. En se faisant passer pour un bus et en priorisant les routes ayant un tracé de ligne dans OpenStreetMap, je peux reconstruire le tracé des lignes sans être bloqué par une portion manquante.

GraphHopper comble les cassures

Les lignes non présentes dans OpenStreetMap — comme les lignes relais ou les lignes scolaires — peuvent aussi avoir leur tracé réel.

Tracé généré de la ligne 1B

Bientôt disponible dans le détail des lignes et arrêts

Le tracé de toutes les lignes est dès maintenant disponible pour les itinéraires, et sera intégré partout dans Naonedbus dans une prochaine version.

Le tracé réel de la ligne C5 dans Naonedbus