How to use turn:lanes in osm to find lane connectivity on intersection

In osm,

Way A has nodes [n1, n2]

Way B has nodes [n2, n3]

Way C has nodes [n3, n4]

Way D has nodes [n4, n5]

coordinates - 1.28657, 103.8452

Way A has traffic “turn:lanes”=>“left|left;through|through|through|through;right|right”

Way B has traffic “turn:lanes”=>“left|left;through|through|through|through;right|right”

Way C and D do not have turn:lanes.

How to determine that the last lane of B Way also connects to D? Because there is no relation between B and D and C doesn’t have any turn:lanes information. I also looked at relations like route and connectivity from pbf file but didn’t find anything. If I want to have lane connectivity of this intersection then how can I do it?


According to Bing Maps - Directions, trip planning, traffic cameras & more there are no dedicated turning-lanes on way C. So technically all lanes from C connect to D. I don’t know if making a right turn from the leftmost lane on way C into D would be legal in Singapore.

If I am coming from road A and want to turn right then it’s a valid turn as per satellite imagery so then how the lane connectivity should be created based on existing data?

turn:lanes alone isn’t always enough to guess what connects where. You have to use connectivity-relations for that.


There don’t seem to be connectivity-relations present in this specific location. I tried to read the data from osmium library. Is there another way to read connectivity-relations? Can you please verify if connectivity-relations are present there?

If you opened this location in JOSM, it would be listed in the relations dialogue window.

I wasn’t saying that this specific crossing has a connectivity-relation. Only that in a lot of cases, you will have to add one if you want to be able to reliably determine which lane goes where.

1 Like

Is it viable to check if routes are present from B to D and then create connectivity?
I am checking the osm data using josm and I see that there isn’t any connectivity relation defined but there is a route described which goes from A->B->C->D. Considering the route I could create a lane connectivity rather than relying on turn:lanes only?
Any thoughts? Sorry but I have little or no prior knowledge of how to read osm data effectively.