Junction Style Guide/Controlling turn instructions 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.

Keep Right Keep Left
Turn Right Turn Left
Exit Right Exit Left

Before going further, make sure to understand the mechanics of turn restrictions in the Waze Map Editor. If turns are not correctly enabled or restricted, the proper navigation instructions will never be produced for the client app.

This article covers a summary of how navigation instructions are set by controlling the angle of the junctions. This is briefly covered in the Diverging roads article noted above. Much more detailed mechanics behind this function can be found in the article How Waze determines turn / keep / exit maneuvers, and its companion Interactive junction instruction algorithm.


Information on Turn instruction override needs to be added.

All junctions should be laid out to follow a few basic forms to ensure better prediction of navigation behavior. The table below provides guidance for how to set the angles of junctions between segments to achieve the desired navigation instruction listed.

Departure Angle Range Road Type Traffic Side Navigation Instruction
22° 0°-43° All except Ramps, Highways, Freeways All Keep Left and Keep Right
Ramps, Highways, Freeways LHT Exit Left and Keep Right
RHT Keep Left and Exit Right
90° 45° - 150° All All Turn Left and Turn Right
  • Departure Angle = The deviation from straight ahead (0) in degrees.
  • Range = The range of angles that will result in that condition.
  • Road Type = The road type connected to the junction. Higher road types take precedence.
  • Traffic Side = Left-hand Traffic, Right-hand Traffic, or both
  • Navigation Instruction = The instruction to be given through the client app.

Stay away from the ends of the ranges (44°) as those are tipping points between the settings that are hard to determine visually on the map. Instead stick with the centerpoints (22°, 90°) shown in the departure angles column for better predictability.


Jct ramp w geo.png
  • Avoid having the angle between any two diverging segments be less 10°, this makes it very difficult to select the turn arrows in WME, as well as in the client 'Report>Road Closure'. Make the departure angle at the junction closer to 10°-20°. See the section on diverging roads, and Ramp geometry for more details.
  • Turn instruction override can be used to control the turn instruction in cases where a (more or less) true-to-life angle will not give the appropriate instruction.


Jct at grade keep.png

For road splits at a Y or at-grade connectors, it is important to identify which road is "straight" and which bears off to the side. It is not good to have one at zero degrees and the other branch at 5 degrees. Instead show the branch at 30 degrees to be sure the Keep Right (or Left) instruction is given. For this case, adjust the geometry node of the branching road near the junction to control that angle.

In these two examples of at-grade connectors, if the departure angle is set for 30 degrees, a "Keep Right" instruction is provided to follow the curved one-way connector. But if a "Turn Right" instruction is appropriate, simply use a Turn instruction override.

Segment name and type

In addition to the geometry of the road segments, the road names and types of the attached segments affect the routing algorithms as well.


Generally, differences in road names at junctions will improve the chances (but not guarantee) that it will happen. In the case of the at-grade connector example above, the connector should either have a different name than the road it is leaving, or no name at all. See the road name section of the at-grade connector article.


Although road type is a factor in determining navigation instructions, road names and angles are much more important. If multiple roads meet at a junction and one segment transitions to another at close to zero degrees and they both have the same name, that direction is considered straight no matter what road types are used. An example demonstrating this is shown in the discussion on Y-intersections in the Junction Style Guide.

Need image of Ramp to Ramp with Freeway branch.

Road type will be the determining factor when all names are different. For example, a Ramp segment leads to a Freeway segment and another Ramp segment. The Ramp segment will be considered the "straight" continuation and there will be no announcement while a navigation instruction will be given to proceed to the Freeway segment. This is true even if the initial Ramp and the Freeway align at close to 0 degrees and the second Ramp departs at a 20 to 30 degree angle.