Routing on railway tracks

Geofabrik developed a railway routing service for the French railway company SNCF using the GraphHopper routing engine. It uses the railway tracks from OpenStreetMap.

GraphHopper was used as a Java library and road specific parts were replaced . On a quick glance, one could think that replacing highway by railway all over the code would be sufficient. This would work for a quick prototype, but is not enough. Useful railway routing must take into account several differences from road routing.

In addition to the calculation of routes, the software supports matching GPS routes to the railway network, using various file formats (GPX, CSV, shape files).

All components of this project has been published as open source software.