Let’s say we have a junction with separate turning lanes like this intersection in my area (Vancouver, Canada). Ignore the existing turn restrictions, and let’s say we’re mapping them from scratch.
Let’s say we’re mapping the turn restrictions for the road coming from the bottom. The left turn is handled by a separate turning lane, so the only permitted turns here are through and right:
If I map this with an only_straight_on turn restriction and an only_right_turn turn restriction sharing the same from way, would this be interpreted as “must only go straight OR turn right”? Or do the differing only_XXXXXX restrictions contradict each other?
I know for this example it’s possible to do this by simply creating a no_u_turn restriction and a no_left_turn restriction. But I’d still like to know if having multiple “only” turn restrictions is acceptable too.
For instance, if I encounter a 7-way intersection where one approach has 2 permitted turns and 5 prohibited turns, it would be great if I could map this with two “only” turn restrictions, instead of having to make five “no” turn restrictions.
Context: currently the turn restrictions at this junction are a mess — they appear to have been mapped in iD by selecting each node and manually making separate turn restrictions for EVERY node, which is OK for single-node intersections, but with multi-node intersections it becomes a mess and quickly becomes hard to understand. I’m looking to simplify them by consolidating them into turn restrictions that cover entire paths through the intersection, and wanted to ask if this was an option. I’m hoping so as that would make the restrictions much easier to map.
I thought about this a bit more and I guess it’s not practical in every case to do what I wanted to do and make turn restrictions to cover the entire intersection. But I do see now that “only” turn restrictions appear much cleaner compared to “no” turn restrictions in this case. Good point! I’ve made the changes.
But I’m still interested in the general case that I proposed in my original post. Here’s a different example that better illustrates it.
Let’s say that road A has signage permitting going straight through to D or turning right onto E, but prohibiting all other turns. This means there are 2 permitted turns and 3 prohibited turns. Would it be possible to map this using two “only” turn restrictions (“only A to D” + “only A to E”) rather than three “no” turn restrictions?
Hmm, that’s disappointing. I was hoping there was going to be some sort of corollary where using multiple “only” turn restrictions combines them nicely, i.e. permitting those movements while prohibiting all others.
I guess it’s not that big of an issue given that this doesn’t seem to occur a lot… especially because the example I gave isn’t actually real! Or maybe I just don’t map in the right places where this occurs.
These kind of questions always triggers me to think how many turn restrictions a node can have etc. etc.
So used osmium to filter out all restriction relations in opl output and then used a python script to post process the data and fix some strange data I see.
First there are turn restrictions with too less members.
22757 Only two members
20836 Only one member
That is about 2 times 1% of all turn restrictions…
Looking at other restrictions gave also a new type of restriction to me:
The Wiki page only exists Oct 2024 but taginfo shows it exists already earlier but support keeps limited. The no_entry restriction allows for multiple from ways so that could work for your crossing but I would not recommend to use it for this case.