Instances OSRM

De Raildar
Aller à : navigation, rechercher

OSRM est un routing-engine qui se base sur les données sorties d'OSM. Pour les besoins de Raildar, nous devions être capables de positionner un train sur ses rails et donc d'avoir une vue fidèle et surtout exploitable du réseau ferroviaire.

Nous nous sommes donc basés sur l'ensemble des données d'OSM (40Go compressés, au bas mot) pour en extraire les positions des rails. L'extraction est directement possible via OSRM mais prend beaucoup de temps (ça se compte en heure). Heureusement, de petits outils conçus par nos amis d'OSM font le job bien plus vite, il s'agit d'osmconvert et osmfilter.

Une fois les données filtrées, OSRM construit sa base de données pour être capable d'indiquer une route d'un point A à un point B. Il suffit ensuite de lui poser des questions et il répond la liste des points GPS permettant de faire le trajet indiqué.

Le serveur OSRM utilisé par Raildar est publiquement accessible sur le port 5002 (et 5003 pour l'ile de france) de la machine osrm.raildar.fr et est théoriquement en mesure de répondre à toute question concernant le réseau ferré mondial. Merci de ne pas en abuser !

Méthodes disponibles

Les mêmes méthodes sont applicables à /osrm-engine-idf/ qui concerne l'ile de france et inclus les rails du métro.

nearest

Elle sert à connaitre le point le plus proche situé sur l'infrastructure ferroviaire. Elle s'emploi simplement :

http://osrm.raildar.fr/osrm-engine/nearest?loc=latitude,longitude

viaroute

Elle permet de connaitre le parcours entre (au moins) deux points situés sur le réseau :

http://osrm.raildar.fr/osrm-engine/viaroute?loc=lat,lon&loc=lat,lon&loc=lat,lon

Elle retourne une information sous forme de polyline encodée. La doc sur le décodage de cette information peut être trouvée ici. La précision des coordonnées dans la polyline est sur 6 digits au lieu de 5 dans la version google.

Projets connexes

L'ami @pbeyssac a pondu une version web de la chose pour permettre de créer / visualiser / débuguer des trajets, par ici. Cet outil embarque la totalité des réseaux ferrés mondiaux et permet :

  • Le déplacement en live des marqueurs
  • L'ajout de marqueurs intermédiaires pour forcer un trajet précis
  • La mise en évidence des emplacements à problèmes qui ne permettent théoriquement pas à un train normal d'emprunter le trajet sélectionné
  • La possibilité d'inverser le trajet

Évolutions prévues

L'engine actuel est unique pour l'ensemble du réseau ce qui mène à certains problèmes du genre un TER qui prends une LGV ou un TGV qui traverse Paris par les rails et tunnels du RER. Il sera donc décliné à minima en 3 versions :

  • une version TER/Intercité
  • une version Trains à grandes vitesses (TGV, Thalys, Eurostar, ICE, idTGV, ect)