Several months ago, I stumbled upon a problem which I found no solution to. At the time, I searched for help in the Telegram channel and someone gave me a solution that I’ve been using since then.
Meanwhile, another mapper contacted me in private and told me about another kind of solution to this problem.
I would like to know if these are both valid and/or which one is more useful for routing.
I’m showing here illustrations of the problem and the two solutions given.
Problem:
The selected way has a STOP at the end for those who turn left and a give way sign for those who turn right.
The “problem” is: how to map those two signs correctly and make them useful for routing software?
Solution #1:
Use both traffic_signs on the way and create one enforcement relation for each of them. A “from” enforcement on the STOP and a “to” on the left segment of “Rua Paulo VI” and a “from” enforcement on the give way and a “to” on the right segment of “Rua Paulo VI”.
Solution #2:
Just use the following tags:
highway=secondary
lanes=2
oneway=yes
name=Rua da Quinta
ref=EN 350
surface=asphalt
traffic_sign:lanes=stop|give_way
turn:lanes:forward=left|right
This is a very good question. It should be an unresolved issue. Personally neither is the solution. I really don’t see how /relation:enforcement/ would work so I can’t comment on that. Problem with traffic_sign:*= is that it is a secondary cue. It doesn’t replace the main highway=stop, or highway=give_way (seen in your screenshot - they should be placed on the stop/yield line). I considered give_way:lanes:*=, and stop:lanes= by expanding on stop= and give_way= in use (similar to traffic_signals=). You can think about mapping the stop line and yield line as two separate nodes.
highway=stop
stop:lanes=minor|no
and
highway=give_way
give_way:lanes=no|minor
If you want to stick to mapping them as a single node, I suppose highway=stop should prevail as the top-level tag because it is the stricter traffic control.
Proposals on traffic control, mostly abandoned, don’t seem to deal with by-lane tagging, but they could be considered here to make the affected movement clear.
I like this proposal, but I don’t know what “minor” means. Can you clarify on that?
What would be the best way to attribute the sign to a specific left or right turn without a relation? A turn:lanes=* on the “from” highway?
How about splitting the way into a fork like in the other direction? In the real world it is like that. Then you can give each of the two ways its specific tags.
Because there isn’t yet a common approach for mapping a traffic sign node that only applies to only one lane of a road? It’s a perfectly justified question, and we’ve already had a few good suggestions as well.
There’s a discussion to be had if this particular case should be modelled as lanes or separate highway ways, but please stay nice everyone.
Sorry, I didn’t mean to sound harsh. It’s just that I consider a painted island or any other marked surface as a physical division, because you’re generally not allowed to drive there. E.g. at a motorway exit, that’s a sort of legal division.
Well, you may consider that, but Portuguese community and others have a different opinion. If you’re good with that, that’s fine, but please don’t hijack a valid topic with a valid issue.
What I’m asking here is not rocket science. It’s a situation that happens all the time. I gave an example with a painted island, but I could give you something like this:
There are no painted islands and no physical divisions. The middle lane as a STOP sign to turn left.
If you have
lanes=3;
lanes:forward=1;
lanes:backward=2;
turn:lanes:backward=left|through
how do you indicate that there’s a STOP on one of them?
I finally had the time to read the entire proposal from 11 years ago and it does include the issue I brought here, although that’s not the scope of the proposal (which I now understand why it didn’t go ahead).
I would like to read some more input and ideas here to create some consensus. Maybe then it would be worth to present some kind of proposal for this.