Motorway Junction Node Placement

Posted by daniel-j-h on 17 January 2018 in English. Last updated on 6 February 2018.

It isn’t always obvious where to position a highway=motorway_junction node that connects a motorway way to a motorway_link way (also known as an off-ramp or slip road). Over the years, mappers have used three different approaches.

Inconsistent placement of junction nodes can affect turn-by-turn navigation software, particularly instruction timing and rerouting. I’d like to raise awareness about the preferred placement, which is at the beginning of the gore, and explain why the other two approaches are suboptimal.

Throughout this post, I will refer to the term gore. A gore is a wedge that separates a ramp from the main motorway. A physical gore may be a barrier or a grassy area, whereas a theoretical gore simulates this separation using pavement markings and empty space. By “gore”, I am referring to the beginning of the theoretical gore, if present, or alternatively the physical gore.

PS: after writing this diary we had a great discussion. See comments below for the recommended “Kreuz Köln-Süd” mapping style.

Approach 1: Map the ramp node at the exit sign

Rationale: In the majority of urban areas a detailed overhead exit sign is located at the last point where the off ramp maneuver can take place - the physical or theoretical gore.


  • Many rural exits (and some urban exits, depending on the state) lack overhead signage. Instead, the only sign is located on the side of the road (at the beginning of the deceleration lane or even earlier), accompanied by a small “Exit” sign at the gore.
  • In many cases, the exit sign occurs well after a lane change restriction (change:lanes) begins (example - note the solid white line). However, lane issues should be remedied through tagging, not geometry alterations.

Example. In this case the exit sign and the theoretical gore are located at the same location. This is the last location where driver can exit the motorway. When the sign board is right next to the gore this approach makes sense.

Example. The exit sign does not coincide with the theoretical gore in this case. The exit sign is positioned much earlier than the gore. In this case mapping the exit from the sign position will not make sense.

Approach 2: Map the ramp node where the road begins to widen

Historically, some mappers have preferred to start the ramp at the point the road widens, mainly for aesthetic purposes.

Rationale: This appears smoother on a map rendering as it more accurately represents the path a driver should take to use the ramp.


  • If a driver has passed the point where the road begins to widen but has yet to reach the gore (or the start of chevron markings), it’s too early to reroute the user as if they missed the exit.
  • The exit may have a longer deceleration lane. If the junction node is placed at the beginning of the deceleration lane, the user’s distance to the junction node may differ from signage, creating confusion.
  • Does not accurately reflect the features on the ground.

Example (same junction as Approach 1 example):

Approach 3: Map the ramp node at the gore of the main road and ramp

This is the approach documented on the wiki. It balances the needs of renderers and routers.


  • Allows for precise lane mapping, as the junction node reflects reality.
  • Staggered exit lanes should be modeled using turn:lanes tags instead of separate ways.
  • The junction node reflects the exact point where it is no longer possible to cross back onto the highway, consistent with the practice of mapping a dual carriageway only when there’s a definite separation.


  • On rendered maps, the turn angle looks sharper than expected when zoomed way in.
  • Less sophisticated routers may consider the actual turn angle to be much sharper than in reality.
  • In some cases, the gore begins well after a lane change restriction (change:lanes) begins (example - note the solid white line). However, it’s better to add the lane change restriction as a change:lanes tag than to draw the entire exit lane as a separate way.

In approach 2 the ramp node is placed where the road begins to widen. In the same example, if approach 3 is used the ramp would appear like this:

Example: The junction node near the gore where it not possible to change lanes back to the highway.

Although this approach tries to place the junction node close to the gore, it isn’t necessary to make it exactly flush with the gore. The motorway_link would meet the motorway at a 90° angle, which would result in unintuitive rendering. A roughly 45° angle strikes a better balance between the needs of renderers and routers.


Based on this evaluation, we believe the best practice for mapping ramps is (Approach 3) map the ramp node at the gore of the main road and ramp. This follows the wider OSM convention of prioritizing mapping based on the physical barriers, is appropriate for diverse geographies, and aligns with developing work around lane guidance.

As next actions, from now on, the team at Mapbox will fix these ramp geometries by following the convention stated in approach 3 when we come across ramps mapped according to other approaches. It would be great to have everyone follow this approach as well when mapping ramps and make changes to existing ramp intersections that you come across. If there is consensus around this approach let’s update the wiki with further details to promote this practice.


Comment from imagico on 17 January 2018 at 13:54

The neutral way to look at things like this is to consider which approach

  • provides the most information
  • is most intuitive and convenient for the mapper

The first point would call for approach two plus splitting the link into sections ‘connected’, ‘theoretically separated’ and ‘physically separated’. Because approach three would not record information on the beginning of lane separation (which you would for example also need for precise routing) it would contain significantly less useful information.

The second point would in particular speak against the ‘45 degree angle’ concept of your approach three which creates a purely abstract geometry element with no verifiability on the ground. You call this “balance between the needs of renderers and routers” (or in other words: combined tagging for the renderer and router) - i would call it codified mediocrity in both rendering and routing.

Have you looked at what approaches are actually most widely used in OSM - like some statistics on the angle between motorway and motorway_link at motorway_junction? You can bet that if you start fixing these to a 45 degree angle in a country where 2/3 of the junctions are mapped with a smaller angle you will rightfully get significant opposition to such edits. Looking at a few places around Europe it seems pretty clear that your 45 degree concept does not have much popularity.

Comment from naoliv on 17 January 2018 at 14:50

Sorry to say that, but option 3 is actually terrible.

Comment from maxolasersquad on 17 January 2018 at 15:52

Option 3 was the way I figured in my head made the most sense. I really enjoy this blog post laying out exactly why this is the case. The theoretical gore is really, for all intents and purposes, the place where the two ways diverge. I have found in OSMAnd, by adding many of the turn lanes along I-10 in Florida, that seeing where the correct turn lanes on the map, and hearing the turn lane instructions with voice guidance, is more pleasing and intuitive. e.g. “Use the right two lanes …”. By splitting the ways where the turn lane begins this is not possible and fidelity is lost.

Comment from Omnific on 17 January 2018 at 18:38

Personally, I’d advocate for mapping it at the point the road begins to widen. Not only is that more visually appealing, it also represents the “beginning” of the exit. For navigation purposes, you focus on the road directly in front of you, thus having the beginning of the exit lane mapped as the exit node means that you get immediate and timely visual feedback (the road widens) of the navigation prompt.

Being timely is especially important. If the software says the standard “in 3 miles, take exit 21” then says “take exit 21” right at the point of road widening, this is much more driver friendly then “take exit 21” occurring at the point of a barricade, whether is just painted lines or otherwise. When you’re out driving, you start the exit at the moment the road starts to widen, not 45 degrees to the point where a barrier of some kind divides the roads.

Comment from Omnific on 17 January 2018 at 18:43

An additional note: think about it this way, the 45 degree angle is arbitrary. If we are truly mapping what’s real and defining a new road as where a barrier comes between those two lanes, it should be at 90°. Since no one wants to do that for routing purposes, we should go toward the way a driver visually looks for an exit, the road widen. As it stands, the 45 degree rule is a compromise that has the downsides of both the road widening approach and the strict OSM data approach (90 degrees).

Comment from maxolasersquad on 17 January 2018 at 20:52

In practice, at least with OsmAnd, it doesn’t have a big effect since it announces ahead of the split to turn well in advance such that the drive is unlikely to notice the difference either way it is mapped.

Comment from escada on 18 January 2018 at 09:43

AFAIK the German community never placed the junction at the beginning of the lane, at least when people followed the instructions given for the week-assignment on turn:lanes 2 years ago. The Belgian and Dutch community followed the same rules. I assume the other neighbouring countries did the same.

So the option proposed by Omnific is not how it is done in a certain part of the community.

The difference between theoretical gore and physical gore is harder to see. I guess the junction is typically placed somewhere between those 2 extremes.

When I compare the instructions of e.g. OsmAnd or Magic Earth with the distance signs to the exit or the spoken instructions given by non-OSM navigation systems, the place seems to match. Hard to tell given the precision of a GPS while you drive around 90km/h

As imagico said, please take a look how the exits are mapped. Are there differences between the different countries ? I think that you should be better informed about how things are done around the world before enforcing your rules upon the rest of the community. Before making a decision I would love to see numbers per country.

I hope you will stop the process of mapping to your rules until there is more clarity.

Comment from Andy Allan on 18 January 2018 at 10:39

I’d much prefer option 2, since it more accurately represents what exists on the ground. Options 1 and 3 start introducing angles and corners (“Warning! Sharp bend ahead!”) that don’t exist.

Option 2 is the best approximation of the route that a fully informed driver will take, namely a straight line from the point of lane departure to the exit. Imagine instead that drivers follow option 3 - 45 degree turns just before the gore? I don’t think that would be right.

Comment from escada on 18 January 2018 at 13:33

@Andy Allen: to be honest, I’ve never heard that from OsmAnd, nor MagicEarth. One can also add placement=transition on that short segment. (which is perhaps ignored by all satnav apps)

People have been mapping those things based on That is not option 2 I think.

Comment from Baloo Uriza on 19 January 2018 at 02:21

How about a fourth contender.

Player four, FIGHT!

Imagery is Bing, location is

I think the objects are clear enough in the shot pretty self explanatory as outlined. The placement=transition highlighted is joining the highway=motorway_junction node placed on the inner westbound carriageway centerline longitudinally even to the theoretical gore point, and goes as smoothly as possible to the centerline of the exit ramp, longitudinally even with the physical gore.

This also (fairly) neatly handles starts and ends of medians as well, the “transition” segments start at the physical gore (end of the median) and continue to the theoretical gore (pavement markings). Where a both_directions lane is present, then it goes from the end of the double solid lines on both sides to the bullnose.

Comment from andy mackey on 19 January 2018 at 14:22

I prefer option 2

Comment from escada on 19 January 2018 at 14:31

@andy mackey: In a coordinated effort a couple of years ago (started in Germany, although I had already mapped tens of exits in Belgium before), people started mapping turn:lanes. This included exit lanes. AFAIK, in Belgium, The Netherlands, Germany (and possible other countries), people opted for 1 or 3 or Paul Johnson’s style (not a huge difference between the 3). Never 2. A “lane is not a separate way”.

So I hope that everybody who thinks 2 is better because it is more appealing, or better for navigation (which it is not – see my comment above), will appreciate the above effort and will keep a consistent way of mapping by not using option 2.

Comment from imagico on 19 January 2018 at 14:39

What might cause a bit of confusion here is that Daniel’s example showed a tapered deceleration lane (see the first illustration) while the convention of including exit lanes in the main road lanes applies to parallel deceleration lanes (which is the only kind of lane we know in Germany). For the tapered deceleration lane there is no inclusion in the lanes of the main road as i understand things.

Comment from maxolasersquad on 19 January 2018 at 16:36

I think the point that a “lane is not a separate way” is exactly right. Option 2 doesn’t make any sense to me. By mapping turn:lanes and then splitting the way off at the theoretical gore there is more fidelity. We know when the turn lane starts, and when turn lane ends and becomes the actual exit. If we map where the road widens we don’t know if that exit even has a turn lanes, where it may or may not start, or where it may or may not end and become the actual exit road. And like mentioned, when driving 50 - 70 mph down a freeway, the timing of notifications by your GPS app becomes unnoticeable. I just don’t see any benefit to anyone of option 2.

Comment from Baloo Uriza on 20 January 2018 at 21:10

Well, it’s not always not noticeable. Washington and Texas have very, very long exit lanes, sometimes the entire distance between ramps that might be miles apart (Washington for example, expects you to signal your turn the entire time you’re in the turn lane and has reminder signs to this effect…especially annoying when the turn lane is ~7500 meters long!). Washington and Oregon also have noticeably shallower, longer gores compared to most other states ramps as well, option 2 gives a prompt so early on Garmins and Osmand that you’re not even to the theoretical gore before the announcement to turn at the top of the ramp starts and you might be at or past the decision point for the next ramp by the time the first prompt after entering the freeway plays. Plus option 2 gets plain hard to deal with if the freeway is also on a curve.

This is less prone to be an issue with my preferred method, but does occasionally come up on comically huge gores built up from decades of interchange revisions, a relatively rare trade.

Comment from It's so funny on 21 January 2018 at 14:09

Dear Daniel, I agree with the need for consistency. Your conclusion IMHO creates inconsistency, unfortunately.

Early 2017 both the Dutch and German communities worked out a solution on Kreuz Köln-Sud: This solution was based upon a discussion which you can find here and includes the tagging of change:lanes and turn:lanes:

I hope Mapbox will adopt the ‘Kreuz Köln-Sud’ solution. Cheers, Johan

Comment from pnorman on 22 January 2018 at 21:49

I’d much prefer option 2, since it more accurately represents what exists on the ground. Options 1 and 3 start introducing angles and corners (“Warning! Sharp bend ahead!”) that don’t exist.

Option 2 is the best approximation of the route that a fully informed driver will take, namely a straight line from the point of lane departure to the exit. Imagine instead that drivers follow option 3 - 45 degree turns just before the gore? I don’t think that would be right.

This echos what I’ve found - if someone were systematically creating 45 degree angles for offramps locally, I’d ask them to stop.

Comment from andygol on 6 February 2018 at 13:19

On behalf of the Data Team at Mapbox, I’d like to thank everyone for your feedback and insights. After considering your responses, we’d like to support the “Kreuz Köln-Süd” style, which places the junction node at the theoretical gore. Thanks to It’s so funny and Paul Johnson for the suggestion.

The Kreuz Köln-Süd style prevents navigation software from prematurely advancing to the next instruction before the driver has taken the ramp. At the same time, it avoids the steep angle of approach 3 that several of you commented on above, and it accommodates lane-level tagging such as turn:lanes=* and change:lanes=*.

We will adopt the Kreuz Köln-Süd style and recommend it in our navigation mapping guide.

Thank you once again. Have fun mapping!

Comment from It's so funny on 8 February 2018 at 00:06

Great! Happy mapping!

Comment from Beachmiles on 17 August 2020 at 02:20

So does openstreetmaps have an agreed upon proper way to map these node junctions? It looks like mapbox chose to map the junction node at the theoretical gore in the “Kreuz Köln-Süd” style but looking at that junction it looks like they put the junction all the way back to where the solid lane starts which makes sense. Maybe imagining the lane marker brush as an infinitely small brush would allow you to extend the theoretical gore quite a bit earlier giving drivers more time to get in the right lane without breaking the law.

I tried to map a junction like this but user Baloo Uriza does not agree and always reverts my changes here.

Where I think the gore should be. 605N HOV junction

Comment from Baloo Uriza on 17 August 2020 at 21:59

I think you’re the only one in disagreement on how this is mapped.

Comment from Minh Nguyen on 24 June 2021 at 19:55

giving drivers more time to get in the right lane without breaking the law

I think you’re assuming that routers time announcements based on the location of the highway=motorway_junction node, which is true of the current crop of routers. But that’s an argument for getting routers to account for the change (change:lanes) key when timing these announcements. As long as you place the junction node at the beginning of the lane change restriction, it isn’t possible to map change:lanes (or even turn:lanes) accurately, and it ends up being an exception to the physical separation rule.

Comment from ChaireMobiliteKaligrafy on 3 May 2022 at 16:59

I prefer option 2 also, since it represents the real movement of vehicles. there are some cases where it should be merged before the end of the dashed line hoewever, especially when the turn lanes are very long, but that is less than 2-3 % of the case. To mitigate the “If a driver has passed the point where the road begins to widen but has yet to reach the gore (or the start of chevron markings), it’s too early to reroute the user as if they missed the exit.” drawback, we use placement=transition between the gore and connect node and add width:lanes=0 at the end of the dashed line.

Comment from Mateusz Konieczny on 3 May 2022 at 20:32

Approach 2 example presented here is not problematic as turn lane is very short

But it gets blatantly wrong when turn lane is much longer (hundreds of meters, sometimes more on motorways).

Neither of examples presented in the post has both

(1) preserving geometry of link road (2) avoiding fake sharp angles (3) mapping turn lane as a separate carriageway is almost matching what I consider as standard. Though I would likely put just a bit to right to fully preserve geometry of link road. Or move nodes on link road a bit from centerline to achieve similar effect. is for me representing proper mapping.

Login to leave a comment