[Tagging] Reversible Road tagging
burkejf3 at gmail.com
Thu Nov 8 21:05:49 UTC 2018
With the advent of new reversible freeways north and south of Atlanta, I
think it's time we try to come up with a way to model the reversal schedule
so that routers can begin to utilize them properly. Note that I am
referring to roads where the entire roadway reverses, not a reversible
*lane* scenario (such as this one:
https://osm.org/go/ZSARXLJg?layers=NG&way=129555346), although we might be
able to find a solution that fits both.
Examples of reversible roads:
I 75 & I 575 Express Lanes north of Atlanta (aka the "Northwest Corridor"):
I 75 South Metro Express Lanes south of Atlanta:
the Lee Roy Selmon Crosstown Expressway elevated express lanes (separate
from the dedicated one-way lanes of the expressway) in Tampa:
I seem to recall seeing mention of one more in someone's OSM diary, but I
can't find it at the moment. I'm sure there are more somewhere else in the
For now, I've been adding an opening_hours tag on the barrier nodes on the
entrance lanes (and on the entrance lanes themselves) for the Atlanta
express roads, mainly so that the information gets captured and is
available in OSM. I haven't touched this on the Selmon Expressway because
it has a more complex reversal schedule (and the road authority seems to
deviate from it quite frequently). I have specifically avoided putting
opening_hours on barrier nodes on the exit lanes, though, because you can
exit even after the barriers on the entrance lanes go down.
Following the KISS principle, barrier node tagging might be the way to go,
at least initially.
Barrier tagging Pros:
* Easy to implement in routing (e.g., OsmAnd's routing.xml can process a
node as barrier=1 or barrier=-1 based on the opening_hours times).
Barrier tagging Cons:
* Having a hard time thinking of any.
Another way to approach this might be to utilize route relations (I know
this will get several people very excited). However, this raises the
complexity level; as far as I can suss it out, we'd need a route relation
for each direction, possibly with opening_hours tags in each relation,
probably including the appropriate entrance ways as part of the relations,
and we would have to utilize oneway=-1 in the relations that depict travel
in the opposite direction of the vectors, and oneway=yes for when travel in
the direction of the vector is allowed. For example, the I 75 Express
Lanes north of Atlanta would need (at least) 2 route relations. Because of
the split-configuration reversal schedule used, the Selmon Expressway
express lanes would need *6*. Maybe more, depending on how we end up
Note that I am specifically avoiding oneway=reversible in the route
relation scenario, simply because it doesn't model the situation properly
within the appropriate time windows. Also, using route relations will make
it hard to capture the fact that you can still drive on the road after the
entrance gates have closed (if anyone has ideas on how to do this, please
speak up, because I can't figure one out). However, route relations might
be able to capture reversible lane situations where tagging barriers will
not, since they typically don't exist on a simple reversible lane.
Route Relation Pros:
* Captures a lot of information.
* Might capture reversible lane scenarios.
* Can provide a more robust representation of the routes.
* Likely to be enthusiastically supported by certain people.
Route Relation Cons:
* AFAIK, route relations are not supported by any routing engine at all,
except that OsmAnd will display the ref tags from them, and also AFAIK no
one is working on doing so.
* Likely to be years before they *are* supported by routers.
* Complex; possibly beyond the capability of a phone-based router.
* Lots of people dislike oneway=-1. Very much dislike.
* Routing issues will arise if someone enters one of the express lanes just
before it closes, because then the vehicle will be traveling on a road that
the router thinks is closed, and try to recalculate which could end up with
an impossible route (exit at ..... when you're in a barrier separated lane
and can't get to the exit).
And, it may be that we decide to start with tagging barrier nodes, with a
goal of implementing it via relations over time if we can come up with a
suitable method to do so.
Thoughts, comments, objections, statements of support?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Tagging