There are a LOT of U-turn restrictions in my area. With OSM being increasingly used for routing (see CloudMade, skobbler, etc.), it becomes more imperative to properly map those. Currently, the only method of mapping a no_u_turn restriction (as well as pretty much any other turn restriction) is to split the road at the intersection and create a relation where the intersection point is the “via” and the “from” and “to” roles are both filled by the portion of the way to one side of the intersection.
In the case of a divided way, the “via” member is served by a short length of the crossing street, which (street) has to be split into three pieces in order to facilitate this. And in the case of two divided ways intersecting it gets hairier yet.
Needless to say, these splits appear artificial. They do not represent a physical change in the road (such as name, importance, speed limit, number of lanes or surface type change). And with sufficient number of U-turn restrictions along a road, it may end up being split into an inordinate number of short segments for no better reason than supporting the existing tagging schema (and the authorities’ desire to police motorists’ behavior). The inconvenience is obvious: what if someone decides to update a road with a new information: speed limit, number of lanes, etc? They would have to manually tag that many ways. Hitting the “repeat” shortcut is no good, because some other piece of tagging may not match among all the segments. Not to mention querying the data for street geometry, length, location, etc.
My question is: will this always be the case, or is there an OSM study group working on an improved turn restriction mapping that will not require splitting roads? For example, storing the entire information about type of restriction, the to, and the from on a single intersection node?
If the answer is “yes, someone is working on this”, then I will hold off on implementing the numerous U-turn restrictions in my area.
If the answer is “no, it is written in stone”, what best practices exist for mitigating the negative side effects of the existing schema? Are relations to be used? Link to relevant articles and discussions will be appreciated.