Turn lanes and destinations on dual carrigeway intersections


Recently, I got really surprised, how much detail one can add to OSM in intersections, and would like to enhance my area by adding this information. However, it is a bit vague for me what the accepted method is currently for such purpose. The turn lanes relation proposal which is used in the only tutorial I found seems to be obsoleted now.

Should one use a bunch of “connectivity” relations in this scenario? Will that work with routing software in a dual carriageway intersection?

The specific intersection I am trying to map (and seems to be failing at) is Garak Market inertsection, and it has everything: slip lanes, U-turn lanes before the two roads meet, pedestrian corossings, and even an underpass with bus lanes.

How do I even start? I mean, the ways were already there and were mostly acceptable, and I managed to add some lane information (not everything yet), and I’m very much not satisfied with the situation.

So, I’d love to hear what the community thinks, and I’d be happy to take part in making some tutorials on how to map these types of complex intersections once I’ve learned it how to do it myself, so the next people running into this problem will have something to lean on.



I’d suggest to start with simpler intersections than this one - and come back once you got familiar with tagging schemes.
In general, 99% of intersections can be fully described with plain tags like lanes, turn:lanes and similar.*

The turnlanes relations are absolutely obsolete as you already found out. There are the newer and approved connectivity relations, which you can use - but: The number of cases where they give additional information that can’t be read from other tags is limited. And I’m not aware of any data consumer that makes use of these relations yets.

On any intersection I would start with adding ‘turn:lanes’, ‘change:lanes’ and ‘destination:lanes’ tags. With these tags you already have most of the information that can be used to get good routing instructions. There should be proper access tags as well, in case there are dedicated lanes for special vehicles like public transport.
Another aspect would be geometries: ‘width:lanes’ and ‘placement’.
From this point on all possible additional tagging brings only minor additional use, and might not be read by almost all users of OSM data.

*) Actually, your example is one of these cases - either the number of turn:lanes in a particular direction is the same as the number of lanes leaving the intersection, or there is just one lane entering the intersection and it doesn’t matter on which lane you leave. That means, all connections can be determined by simple tags (e.g. middle left turn lane brings you to middle lane of road leaving the intersection).


+1 to @mueschel’s answer above.

I see that you are already using JOSM. That is perfect as :lanes tagging is supported with an external preset, some external mappaint styles and limited plugins.

Regarding your example intersection, there is already some sort of mix-up in highway values between values with or without _link. That would be my first goal to fix.

thank you for your kind and quick answer. What you write makes sense.

The simple turn:lanes and destination:lanes are very well documented, and I think I understand their meaning properly to use them on simple intersections (unfortunately most intersections around my area that have turn lanes and posted destinations are NOT simple intersections).

I get your point about things being relatively “straightforward”, my main concern would be in this specific case the U-turn lanes, and how to tag the “virtual” roads in the middle of the intersection, what is instead of 4 roads making a rectangle, is just a huge rectangular asphalt surface, where cars turn, which I haven’t really found documented. Specific questions would be things like

  1. How to use destination tags on these virtual connecting ways? Do I use destination:lanes, or just destination, both, or neither?
  2. How to use the turn:lanes tags on them? Do I even use them? In reality, there aren’t markings on the road there anymore.

Thanks again for baring with me!

Regarding the virtual ways on the intersection you’ll get many answers depending on whom you ask…

You can decide not to map them as it is right now - this would be the best solution for smaller intersections.
You could equally well decide to map the four left-turn ways as individual ways. In this case, don’t forget to add turn restriction relations on all intersections of them as you are not supposed to turn from one of these ways to another in the middle of the intersection.
The large area itself can be mapped using ‘area:highway’ - but these are not shown by most map renderers.

If you map them, then you can use plain ‘turn’ and ‘destination’ tags on them, there’s no need to use the ‘:lanes’ suffix there - all the lanes of these ways turn in the same direction.

1 Like

Thank you!

This then explains the lack of documentation on this… or maybe the lack of documentation explains why eversone is doing it their own ways? :sweat_smile:

I guess if anyone in the future will decide to write suggestions on how to do it, they can take this intersection as one of the examples.