Junction Style Guide/Intersections View history

This revision of a section is currently undergoing modifications. The information presented should be considered a draft, not yet ready for use. Content is being prepared by one or more users. Do not make any changes before you send a private message to this user. Please use the talk page for thoughts and ideas on setting up this content.

Template:ReturnJSG

Three-way intersections

Right angles

The simplest junctions often resemble a "T" and are considered diverging or branch roads. The branch road will normally meet the main road at nearly a 90 degree angle. This is the simplest situation to map, as the physical and logical views of the roads match up well.

Odd angles

Some roads meet at odd angles. The initial urge will be to represent the junction as it is in the physical world - two lines running into each other at a sharp angle. But there are issues with this method.

  • Depending on the angle, the client may give a "Keep Right" instruction to the driver when a "Turn Right" instruction is more appropriate. If Minor Highways or above are involved, you will actually get an "Exit Right" which can be confusing in many situations.
  • In some cases, no instruction will be given at all. In the worst case, the routing server may determine that it isn't possible to make a very sharp turn angle and not suggest the turn at all (in the example image, heading south, then turning left, to head east).
  • Automatic map errors may appear with turns from one direction as the path of the turning traffic is "too far" away from the actual junction (in this example, traveling south, then turning left to head east).

To eliminate ambiguity, map the junction from a logical point of view. Since basic "Turn Left" and "Turn Right" instructions are desired, tweak the intersecting angle so it resembles a basic 90 degree intersection. Add geometry nodes to make the branch road leave the main road at close to 90 degrees, then gradually curve the road to match the true departure angle. This will produce a junction that logically works like a basic 90 degree junction, but it also fits the reality of the physical world.

Here is a completed real world example which provides the expected turn instructions and "catches" turns from all directions avoiding automatic problems for missing road when they are "too far apart."

Steep angles with exits and keep right or left

Jct ramp no geo.png Jct ramp no geo arrow.png

A ramp from a highway is another good example where additional geometry nodes are helpful. Especially since most ramps diverge at a very small angle from the road. The drawback in this case is it may be hard to see and click on the turn restriction arrows in the editor.

Jct ramp w geo.png Jct ramp w geo arrow.png

Therefore add one more geometry node to make the departure angle at the junction closer to 10 or 20 degrees. See the discussion on controlling turn instructions for details on those angles. Now the arrows are visible and accessible. Note that also pressing s in the editor will spread or separate the arrows at a junction, if a arrow is still difficult to reach. See the keyboard shortcuts article for more tips on other keys.

With this adjusted angle, this junction now behaves as expected and the turn restrictions can be easily accessed.

Four-way intersections

Right angles

The second simplest junction category is a "+" or "cross" four-way junction that intersects at 90 degrees. These roads are simple to map as the logical and physical views of the roads match up well. These instructions follow the similar guidelines and solve the same problems as diverging roads.

Odd angles

Similar to diverging roads that intersect at odd angles, crossing roads can do the same thing. When these intersections are mapped as seen here with these odd angles, complications can occur.

Geometry nodes bring the actual junction close to 90 degrees. Zoom in to the intersection and add a single geometry node on each side as close to the junction point as possible. This will give the more desirable 90 degree angle, and it will still be virtually invisible to client app users making it look like the physical world. This image is what is seen when zoomed in as close as possible. Zoomed back out, it looks just like the map image showing the junction without any geometry nodes.

Here is a real world example at a close zoom level where you can still see the geometry adjustment. With that adjustment in place, the junction will produce predictable turn left and right navigation instructions while the roads still appear to meet at the real-world angle in the client app.

Split road intersections

The same principles apply to intersections between split roads.

( To do: insert examples of a split road intersecting an unsplit road, two split roads intersecting each other, and the "Bowtie" )


Template:ReturnJSG