Three-way
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.
Skewed angles
Some roads meet at skewed angles. These intersections should be mapped to reality. Mapping these to reality can result in turn instructions that would not match what the driver expects. Thus, at these intersections it is important to check the geometry, road types, and names to understand what instructions are given. If the default instruction is not desirable then a voice prompt override should be used.
- Depending on the angle, the client may give a "keep right or keep left" instruction to the driver when a "turn right or turn left" 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.
The controlling turn instructions article has more information on the specifics of geometry, road types and names and how they affect turn instructions.
Doglegs
Doglegs can be added to better represent reality or aid in turn instruction timing where the large area of pavement should consider turns from all directions. When doglegs are added the first geometry handle should be placed a minimum of 12m (40ft) from the intersection node.
A deprecated method to control instructions at these intersections involved adding micro-doglegs (geometry handles placed very close to the node) to create geometry that would give the desired turn instruction. These intersections should be updated and micro-doglegs should be removed.
Name changes on straight path
For conditions where the straight through route changes road names, it is important to identify which segment is drawn as the straight route and which is shown as the right turn from the main road. As the How Waze Determines turn/keep/exit maneuvers page explains, segment names and geometry are very important in determining what navigation instructions are given.
In this example to the right, the multi-lane surface street is known as Main Street to the west and Atlantic Ave. to the east. The name change occurs when Main St. branches off as a regular surface street. That is the human description, but a more technical description would be that Main St. travels in a perfectly straight line and Atlantic Ave. branches off of it. But if we map it that way in the editor, we create a major problem.
Since the multi-lane segment of Main St. and the regular street segment of Main St. have the same name, the routing engine automatically considers that to be "straight". If the two sections line up in a straight line the way they appear from the sky, then we are reinforcing the idea that "straight" is Main St. to Main St. But as a typical driver would want, "straight" should be the path that remains on the multi-lane roadway, regardless of what name it uses.
To make sure the routing engine understands the proper treatment of the junction, we have to be deliberate with the segment geometry of all three involved segments. We end up with something like the image on the right. Now the geometric definition of straight is the multi-lane portion of Main St. onto Atlantic Ave., since we have made that transition as close to zero degrees as possible. The regular street portion of Main St. now branches off at an angle close to 90 degrees. The routing engine should recognize that a turn is required. So the result is that Main St. to Atlantic Ave. has no announced turn, and multi-lane Main St. to surface road Main St. has a turn announced. Exactly what most drivers would expect in the real world.
Steep angles with exits and keep right or left
The straight ahead path should be more or less straight, with a smooth transition.
The diverging path should be configured as follows:
- First, place the first geometry handle of the diverging segment at the gore point.
- Next, grab the node itself, where the segments meet, and adjust the geometry of the diverging path as follows:
- If the actual path diverges from the inbound path by less than 20°(??), adjust the node to create a 20°(??) departure angle. This will allow for consistent timing of instructions and make it easier to report closures in the Waze client.
- If the actual path of the road diverges immediately from the inbound path by more than 20°, adjust the node such that the eroad path follows its true natural departure angle.
- Next, ensure that the last geometry handle before the node is at least 40 feet ahead of the node, and that the second geometry handle on the diverging path is at least 40 feet beyond the first geometry handle.
- Finally, check the turn instructions for both paths according to controlling turn instructions and if necessary add voice prompt overrides for the desired instruction.
Four-way
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.
Skewed angles
Similar to diverging roads that intersect at skewed angles, crossing roads can do the same thing. When these intersections are mapped as seen here with these skewed 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.
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." https://waze.com/en-US/editor?env=usa&lat=39.47841&lon=-76.19863&s=413947901399&zoomLevel=20
Divided road intersections
Many of the principles stated above apply to intersections between divided roads. Usually, divided road intersections should look like the traffic lanes they represent. "Box" shaped intersections are easiest to draw, maintain, and to explain to other editors. Only use variations when they are needed.
Box and partial box intersections
Box and partial box intersections are also referred to as # and H intersections in the Waze editor community. These intersections should be mapped as close to reality as possible. The below style guide addresses some unique circumstances.
When creating three way and four way intersections, if the cross street changes names at the junction, make sure that the median segment(s) have no name. This will cause the segment to inherit the appropriate name depending on the direction of travel. The median segment will not be included when you choose "Select entire street".
Intersection style | Example |
---|---|
A divided road intersecting a divided road. https://waze.com/en-US/editor?env=usa&lat=34.20627&lon=-119.14201&s=1343600087&zoomLevel=19 | |
A divided road intersecting a 2-way road. https://waze.com/en-US/editor?env=usa&lat=34.20620&lon=-119.15132&s=1343600087&zoomLevel=20 | |
A transitioning (divided-2-way) road intersecting a 2-way road. https://waze.com/en-US/editor?env=usa&lat=34.25435&lon=-119.19747&s=1343600087&zoomLevel=18 | |
A transitioning (divided-2-way) road intersecting a divided road. | |
A transitioning (divided-2-way) road intersecting a transitioning (divided-2-way) | |
A divided road T at a 2-way road. | |
A divided road T at a divided road. | |
A divided road T at a 2-way road transitioning to a divided road. | |
A 2-way road T at a 2-way road transitioning to a divided road. | |
Be careful with your geometry – following the center of the actual road too closely can lead to rather high turn angles, and therefore possibly unwanted turn instructions. Keep it smooth. Departure angles on the transitioning segments should be less than 15°. |
Bow tie
The bow tie intersection is no longer the best way to take control of turns and traffic at divided-road intersections. It is an unrealistic representation of an intersection and drivers report map errors based on this appearance. It was necessary before the introduction of the junction box and the 3-segment U-turn prevention mechanism, but now there are better methods to control turns and properly account for queuing.
- Where Waze seems to be doing a poor job of keeping track of traffic queuing, a junction box is recommended.
- To prevent U-turns at box or partial box intersections use a junction box
- In complicated situations, control u-turns prompts using a junction box.
- Do not add new bow ties to the map.
- When you find a bow tie intersection on the map, check if it can be replaced by a realistically drawn intersection using other techniques to control turns and traffic.
- If you think it is necessary to add a bow tie to the map, contact state managers to discuss the intersection. They will most likely recommend a better approach.
- A bowtie intersection may be necessary at 5-point or greater intersections where a junction box cannot be used because of too many connections
Avoiding U-turns in box and partial box intersections
As of December 2021[update] the Waze routing algorithm penalizing some double-left and double-right turns has been disabled in the United States. The routing server will no longer automatically avoid double-left turns. To prevent u-turns on divided roads, use a Junction box.
Historic U-turn routing prevention
The Waze routing algorithm previously had a method of penalizing some double-left and double-right turns. This used to prevent U-turns at H or # style intersections on divided and parallel roads. Here is information on how this used to work.