graphhopper-rail
Installation
SKILL.md
Railway routing
OpenRailRouting is a GraphHopper fork for railways (Geofabrik + SNCF, Apache-2.0). It keeps GraphHopper's routing algorithms and changes the graph model: railway-specific encoded values, edge duplication, and geometric turn restrictions.
The five shipped profiles
Each profile = a vehicle plus a stack of custom models. Compose them in order; later files refine earlier ones.
| Profile | Vehicle types | U-turn penalty | Model files | Meaning |
|---|---|---|---|---|
tgv_all |
train | 300 s | rail + tgv_all + preferred_direction |
High-speed train. Matches 15 kV AC, 25 kV AC, 3 kV DC, 1.5 kV DC. Cap 310 km/h. Excludes yard and spur. |
non_tgv |
train | 900 s | rail + non_tgv + preferred_direction |
Diesel train. Cap 120 km/h. |
tramtrain |
train, tram, light_rail | 180 s | tramtrain + 15kv-ac_750v-dc + gauge_1435 + preferred_direction |
Tram-train. Standard gauge, 15 kV AC or 750 V DC. |
all_tracks |
train, tram, light_rail, subway | 180 s | all_tracks |
Any track with rail access, no filtering. |
all_tracks_1435 |
same | 180 s | all_tracks + gauge_1435 |
Any track, standard gauge only. |
all_tracks versus all_tracks_1435 differ by exactly one model file. That is the cheapest way to explain the profile system to a user.