How to tag way with two traffic_signs affecting different directions?

Hi there.

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

I never used traffic_sig:lanes tag, but it seems legit, although Taginfo only shows 20 uses for this: https://taginfo.openstreetmap.org/search?q=traffic_sign%3Alanes

Any considerations would be much appreciated.

Regards.

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.

People have been talking about a stop/give way sign relation in the past. However, the proposal never got traction.

How about tagging a node on the highway with:

highway:lanes=stop|give_way

If I understand the wiki-page for :lanes correctly this would be an appropriate way to tag the situation.

Thank you all for your replies.

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.

There’s no physical divide to do that, and even if there was, there are plenty of cases where not even a painted island is present.

Nor a second lane.

If you are so sure that it is a lane, then why the discussion?

And why won’t you draw the lanes as I suggested, and you even indicate yourself?

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. :slight_smile:

I already answered to that.
You should know that ways are only divided when there’s a physical division.

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 agree that according to OSM guidelines it should (or maybe must) be mapped as one way with three lanes.

Your proposed solution #1 is like this 12 years old proposal https://wiki.openstreetmap.org/wiki/Proposed_features/Relation:type%3Dstop

(Sorry, it’s the same proposal Escada was refering to, but i found duck-duck-going it. :D)

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.

I would like to inform that I’ve helped to create a proposal to this issue.

Please, consult the proposal’s page and comment to help move it forward.
https://wiki.openstreetmap.org/wiki/Proposed_features/wait

Regards.