Forward and backward roles are pretty much used only for bicycle routes. I guess this makes sense because many, if not all, bicycle routes have sections using different OSM ways for the two travel directions.
The forward/baclward method is a clever way to enter both travel directions into one relation, even if sections use different ways for the travel directions. Maybe a bit too clever, because it confuses both mappers and data users! Even if you got the hang of it, it’s still hard every time you try!
A few tips that have helped me understand this stuff (JOSM is assumed!)
-
All the ways are entered once (with a few exceptions for very complicated situations)
-
Only the ways that are different for the two travel directions get a role. Ways that serve both travel directions don’t get a role.
And the detailed workflow that was suggested to me:
-
Enter the ways of the main travel direction in the right order; when there is a split section, at the end of this split section pan your map back to the start of the split and enter the ways of the return direction, up to the rejoin point.
-
Then go again at the split point, in JOSM and the map. You need the map to see the drawing direction of the ways, and you need to imagine you are traveling along the ways.
-
Give a role to all the ways of the split section. Start with the main direction.
– If the way is drawn in the main travel direction: forward. Meaning: for the main travel direction, you use this way in the drawing direction.
– If the way is drawn against the main travel direction: backward. Meaning: for the main direction, you use this way against the drawing direction. -
When you have done the split ways of the main direction, move to the rejoin point and go upwards in JOSM. Imagine you are traveling the return travel direction, and apply the roles to the ways of the return direction.
– If the way is drawn in the return travel direction: forward. Meaning: for the main travel direction, you use this way in the drawing direction.
– If the way is drawn against the return travel direction: backward. Meaning: for the main direction, you use this way against the drawing direction.
Still, I get confused, especially when there is an error in the relation and the main direction is south to north! I sometimes still find myself redoing sections instead of fixing the error.
One thing has changed since I started doing this: the sort function in JOSMs relation editor sorts these bidirectional routes correctly. So if the ways are all ther and the roles are alright, you can sort it. This even works when the ends of the route are split (which happens when a superroute or network relation with subrelations is used).