Junction Style Guide: Difference between revisions Discussion View history

(fixed at-grade connectors links)
m (fixed forum link :/ double posted to forum and had deleted link)
(57 intermediate revisions by 19 users not shown)
Line 1: Line 1:
<!--Editorial Reminders-->
{{NeedImage}}
<!--To Do - Bow Tie intersections -->
<!--Editorial Reminders--><!--To Do - U-Turn Solutions for "Road not connected" error -->
<!--To Do - U-Turn Solutions for "Road not connected" error -->
{{construction
| contact    = https://www.waze.com/forum/viewtopic.php?f=1636&t=283510
| contacttype = forum
| draft      = no
| open        = no
| revision    = yes
| talk        = yes
}}
 
The following article contains key information on properly creating junctions and the roadways between them. Be sure to review it in its entirety before editing the map.
The following article contains key information on properly creating junctions and the roadways between them. Be sure to review it in its entirety before editing the map.


== Simple is better ==
== Simple is better ==


When representing junctions (a.k.a. intersections, cross roads, corners, etc.) between roads, we sometimes have to blur the lines between the physical and logical worlds. The primary goal should be to represent things as simply as possible and only introduce complexity to deal with an issue.
When representing junctions, intersections, interchanges, cross roads, corners, etc., the Waze map does not need to perfectly match the road layouts it represents. The primary goal is to represent the real world as simply as possible in the maps and only introduce complexity in the maps to address complex issues.
 
== The Basics &larr; START HERE ==
=== What is a Junction? ===
A junction  is made up of three things:
# Two or more road segments
# One point where all the segments meet (the junction itself)
# Turns allowed or restricted when traveling from one segment to another through that junction point
 
If you do not know how to create and modify roads, junctions, or turns, please read [[Map_Editing_Quick-start_Guide|the Map Editing Quick-start Guide]]. Then review the specific article on [[Creating_and_Editing_street_segments#Junctions|moving and removing junctions]]. Also refer to the glossary under [[Glossary#Junction_or_Junction_Point|Junction]] to see images of the different junctions depending on their state or condition.
 
=== Diverging Roads ===
Let's start with the basic case of a road branching off. 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.
 
: [[Image:Jct_3_90_ex.png]] [[Image:Jct_3_90.png]]
 
You will find roads that meet at odd angles as well. Even in urban areas with rigid grids, you will often find a road that existed prior to the establishment of the grid, which cuts through town at strange 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.
 
: [[Image:Jct_3_45_ex1.png]] [[Image:Jct_3_45.png]]


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 [[How_Waze_calculates_routes|routing engine]] 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). Finally, 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).
== The basics ==
This guide requires a complete understanding of editing the maps with [[Waze Map Editor]] (WME).


To eliminate ambiguity, we need to map the junction from a logical point of view. Since we want to be given basic "Turn Left" and "Turn Right" instructions, we have to tweak it so it resembles a basic 90 degree intersection. But how do we do that when the roads don't actually diverge at 90 degrees? We add some [[Glossary#Geometry node|geometry nodes]] to make the branch road leave the main road at close to 90 degrees, then we gradually curve the road to match the true departure angle.
=== Map editing 101 ===
Although it is highly recommended to read the [[editing manual]] before touching the map, it is required that you do not continue with this guide until you have read the following:
* [[Map Editing Quick-start Guide|Map Editing Quick-start Guide]]
* [[Creating and editing road segments#Junctions|Moving and removing junctions]]


: [[Image:Jct_3_45_curve.png]]
=== Junction definition ===
{| class="Wikitable floatright"
| [[Image:Junction_selected.png|50px|border]]
| [[Image:Uneditable_junction.png|50px|border]]
| [[Image:junction_unsaved.png|50px|border]]
|}
The [[Glossary#Junction or Junction Point|Glossary on Junctions]] provides details on how junctions can appear differently in the editor depending on its state or condition.


Now we have 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 "roads are too far apart" problems:
A junction is made up of three things:
 
# Two or more road [[Creating and editing road segments|segments]]
: [[Image:Jct_3_45_ex.png]]
# One point where all the segments meet (the [[junction point]] itself)
 
# [[Map Editing Quick-start Guide#Turn restrictions .28allowed turns.29|Turns allowed or restricted]] when traveling from one segment to another through that junction point
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.
{{clear}}
 
: [[Image:Jct_ramp_no_geo_ex.png]] [[Image:Jct_ramp_no_geo.png]]
 
The drawback in this case (which also exists for the side road example above) is it may be hard to see and click on the turn restriction arrows in the editor.
 
: [[Image:Jct_ramp_no_geo_arrow.png]]
 
But if we add one more geometry node to make the departure angle at the junction closer to 20 or 30 degrees. See the [[#Geometry|discussion on Geometry and turn instructions]] later in the page for details on those angles.
 
: [[Image:Jct_ramp_w_geo_ex.png]] [[Image:Jct_ramp_w_geo.png]]
 
Now the arrows are visible and accessible. Note that you can also press '''s''' in the editor to '''s'''pread or '''s'''eparate the arrows at a junction, if you still have difficulty clicking on an arrow. See the [[Keyboard_shortcut|keyboard shortcuts]] article for more tips.
 
: [[Image:Jct_ramp_w_geo_arrow.png]]
 
Now we have made sure this junction behaves as we would expect. Because we have used a specific angle, we can clearly see and access the turn restriction arrows, and we have fidelity with the layout of the road system.
 
=== Crossing Roads ===
We can apply the above approaches to a four-way junction.  Again we can expect to see angles close to 90 degrees.
 
: [[Image:Jct_4_90_ex.png]] [[Image:Jct_4_90.png‎ ]]
 
And if we have that street cutting across town at an odd angle, we want to avoid the odd angle at the junction.
 
: [[Image:Jct_4_45_ex1.png]] [[Image:Jct_4_45.png]]
 
We want to use geometry nodes to bring the actual junction close to 90 degrees.  You can zoom in and add a single geometry node on each side.  This will give the proper angle but make it virtually invisible to users so it looks just like the physical world.
 
: [[Image:Jct_4_45_curve.png]]
 
The above image is what you would see zoomed in as close as possible.  Zoomed back out, it looks just like the image showing the junction without any geometry nodes.
 
And here is a real world example at a zoom level where you can still see the geometry adjustment we added:
 
: [[Image:Jct_4_45_ex.png]]
 
With that adjustment in place, the junction will produce predictable turn left/right navigation instructions while the roads still appear to meet at the real-world angle.


== Controlling Turn Instructions ==
== Controlling Turn Instructions ==
{| class="Wikitable floatright" cellpadding="5" border="1" style="text-align:center; border: 1px solid darkgray;"
|-
| Keep Right || Keep Left
|-
| Turn Right || Turn Left
|-
| Exit Right || Exit Left
|}
Turn instructions are critical for proper client navigation. They are controlled by:
* The angle set between segments at junctions.
* The road names.
* The road types.


Before going further, make sure you understand the mechanics of [[Map_Editing_Quick-start_Guide#Turn_restrictions_.28allowed_turns.29|turn restrictions]] in the Map Editor.  If turns are not properly enabled and restricted, you will never get the proper navigation instructions.
Review the article [[Junction Style Guide/Controlling turn instructions|controlling turn instructions]] for a complete understanding of the requirements and issues surrounding this topic.
 
In the [[#Diverging_Roads|Basics]] section above, we touched on how to ensure a "Turn left/right" instruction would be given over a "Keep left/right" instruction.  Details of the mechanics behind this can be found on the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|How Waze determines turn / keep / exit maneuvers]] page, but a summary is provided in the sections below.
=== Geometry ===
 
If all junctions you edit follow a few basic forms, it will be much easier to predict the navigation behavior of an individual junction without getting into the details of the back-end algorithms.
 
* Approximately '''90''' degree departure angle = '''Turn''' instruction
* Between '''20 and 30''' degree departure angle:
** when only Primary Street and below are involved = '''Keep Right / Keep Left''' instruction
** when Ramps and/or Minor Highway and above are involved = '''Exit Right / Keep Left''' instruction for right-hand drive countries, '''Keep Right / Exit Left''' instruction for left-hand drive countries
* Approximately '''0''' degree departure angle = '''no navigation instruction'''
 
'''NOTE:''' There are exceptions to these rules since geometry is not the only factor which determines instructions.  See later sections for how [[#Segment_Naming_and_Type|Segment Naming and Type]] can impact instructions.
 
These angles allow us to clearly depict the desired result (turn vs. keep) while staying away from the angles that cause uncertain decisions from the routing  algorithms.  For example, since 45 degrees is a tipping point for the algorithms, a 44.5 degree angle will behave very differently than a 45.5 degree angle, although they will look identical to the eye.
 
Similarly, if we have a [[#Y_Intersections|road split at a Y]] and we want to be clear about which is "straight" and which bears off to the side, having one branch at zero degrees and the other branch at 5 degrees isn't clear and obvious; but "straight" would be much more apparent if the angles were zero degrees vs. 20 degrees.  Since most of us will not have a protractor handy when we are editing, it is best to simply avoid situations where exactness matters.
 
This knowledge allows us to control how a junction behaves by modifying a single geometry node in most cases.  This is often useful for [[at-grade_connectors]] where sometimes we prefer a "Keep right/left" and other times a "Turn right/left" would be more appropriate.
 
If we keep the departure angle in the 20 to 30 degree range, we would get a "Keep Right" to follow the curved one-way connector:
 
: [[Image:Jct_at_grade_keep.png]]
 
But if we move one geometry node to create a 90 degree angle, we would receive a "Turn Right" instruction.
 
: [[Image:Jct_at_grade_turn.png]]
 
Similar rules apply for the end of that segment as well.  If we have a 20 to 30 degree angle as pictured above, there will be no turn instruction, as traffic just smoothly slides into the cross street.  But if we make the end of the segment close to a 90 degree angle, then there would be a turn right instruction for the driver.
 
Furthermore, if the North-South road in that last example were a Minor Highway or a Major Highway, the 20 to 30 degree angle at the start of the connector would produce an "Exit" instruction which may be more confusing than a "Keep" instruction would have been.  So unless this connector is signed with an actual exit sign, a 90 degree start to the connector to produce a "Turn" instruction is most likely preferred.
 
=== Segment Naming and Type ===
 
The names and road types of the attached segments affect the routing algorithms, in addition to the geometry of the road segments,
 
A rule of thumb is if you want a turn to be announced, having a name difference between segments 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 [[At-grade connectors#Road name]].)
 
Road type is a factor in determining navigation instructions as well, but names and angles are much more important.  If you have multiple roads meeting at a junction and two of those road segments line up at close to zero degrees and they have the same name, that will be considered straight no matter what road types are used.  An example demonstrating this is shown in the discussion on [[#Y_Intersections|Y-intersections]] in a later section.
 
Road type will be the determining factor when all names are different.  For example imagine you have a Ramp segment leading 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.


== Surface Streets ==
== Surface Streets ==
=== Y Intersections ===
When surface streets meet in a Y formation and we must carefully consider how they are mapped to provide useful navigation instructions.  As the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|How Waze Determines turn/keep/exit maneuvers]] page explains, segment names and geometry are very important in determining what navigation instructions are given.
In the example below, 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.
: [[Image:Jct_Y_ex_aerial.png]]
The description above is how a human would probably describe the situation, but as you can see in the image above, 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.
: [[Image:Jct_Y_ex_map_bad.png]]
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 the name is. 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 this:
=== Intersections ===
{| class="Wikitable floatright"
| [[File:Jct 3 90.png|x100px|border]]
| [[File:Jct 4 90.png|x100px|border]]
| [[File:Jct ramp no geo.png|x100px|border]]
|-
| colspan="3"|[[File:4waysplitsplit.png|border|center|169x169px]]
|}
Basic intersections involve three or four road segments meeting at a single point. Some more complex variations resemble H or # shapes.


: [[Image:Jct_Y_ex_map.png‎]]
In all cases it is important to configure these intersections properly. Detailed information is covered in the [[Junction Style Guide/Intersections|Intersections]] article.
{{clear}}


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.


=== No Outlet Roads ===
=== No Outlet Roads ===
Line 147: Line 76:
==== Dead Ends ====
==== Dead Ends ====


Dead Ends (a.k.a. No Exit, Closed, No Through Road, No Outlet) are road segments that simply end, with no continuation or connections at one end. In some areas, a Dead End may be synonymous with a [[#Cul-de-sacs|Cul-de-sac]]. In the US, a "No Outlet" sign may be used to indicate a road which itself is not a dead end, but it only connects to other dead end roads. It can also be used as a "friendlier" alternative to the typical Dead End sign.
Dead Ends (a.k.a. No Exit, Closed, No Through Road, No Outlet) are road segments that simply end, with no continuation or connections at one end. In some areas, a Dead End may be synonymous with a [[#Cul-de-sacs|Cul-de-sac]]. In the US, a "No Outlet" sign may be used to indicate a road which itself is not a dead end, but it only connects to other dead end roads. It can also be used as a "friendlier" alternative to the typical Dead End sign.


Within the Map Editor it is possible to represent a dead end road with multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, only the very last segment is considered the dead end segment.
Within the Map Editor it is possible to represent a dead end road with multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, only the very last segment is considered the dead end segment.


[[File:Jct dead end.png|left|border]]
Make sure that there is a junction indicator (the small blue dot, not just a geometry node) at the very end of the segment. While this one segment does not actually constitute a junction, the small blue dot is a visual indicator to the editor that the end of this segment is properly set up. This is necessary to ensure proper routing out of the segment. See the Cul-de-sac section below on when and how to fix this.
Make sure that there is a junction indicator (the small blue dot, not just a geometry node) at the very end of the segment. While this one segment does not actually constitute a junction, the small blue dot is a visual indicator to the editor that the end of this segment is properly set up. This is necessary to ensure proper routing out of the segment. See the Cul-de-sac section below on when and how to fix this.


: [[Image:Jct_dead_end.png]]
[[File:Jct dead end ex.png|right|border|200px]]
 
This final junction indicator must be located near the end of the road, but it should be located where there is still pavement as not to negatively impact client routes. Waze only considers the road fully traversed if both ends of the segment are fully crossed. If the junction indicator at the end of the segment happens to be at the edge of the pavement (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross that junction. A good rule of thumb is to have the end of the segment the same distance from the end of the pavement as it is from each side of the road.
This final junction indicator must be located near the end of the road, but it should be located where there is still pavement as not to negatively impact client routes. Waze only considers the road fully traversed if both ends of the segment are fully crossed. If the junction indicator at the end of the segment happens to be at the edge of the pavement (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross that junction. A good rule of thumb is to have the end of the segment the same distance from the end of the pavement as it is from each side of the road.
 
: [[Image:Jct_dead_end_ex.png]]


With such a placement, the driver is given a chance to cross that junction indicator for that segment.
With such a placement, the driver is given a chance to cross that junction indicator for that segment. Also check for the proper u-turn setting as covered in the [[Map Editing Quick-start Guide#U-Turns at the end of dead-end-streets|best practices article on u-turns]].


==== Cul-de-sacs ====
==== Cul-de-sacs ====
Line 167: Line 94:
A Cul-de-sac (a.k.a. Court in the US) is a common treatment of a dead end street in a residential neighborhood.
A Cul-de-sac (a.k.a. Court in the US) is a common treatment of a dead end street in a residential neighborhood.


In almost every situation, a cul-de-sac should be treated exactly as a dead end street, with the final junction indicator in the center of the bulb of the cul-de-sac. Be sure the free end of the final road segment has small blue dot displayed at the tip (when not editing or selecting the segment). If there is no blue dot, please correct it by following the steps for  [[Creating_and_Editing_street_segments#Fix_the_end-node_on_cul-de-sacs_and_dead-ends|fixing dead ends]].
In almost every situation, a cul-de-sac should be treated exactly as a dead end street, with the final junction indicator in the center of the bulb of the cul-de-sac. Be sure the free end of the final road segment has small blue dot displayed at the tip (when not editing or selecting the segment). If there is no blue dot, please correct it by following the steps for  [[Creating and editing road segments#Fix the end-node on cul-de-sacs and dead-ends|fixing dead ends]].


: [[Image:Jct_cul-de-sac_ex.png]]
[[Image:Jct_cul-de-sac_ex.png|left|border]]
The junction indicator should be located close to the middle of the bulb and NOT near the outer edges. If the end of the segment is positioned along the perimeter of the bulb, there may be difficulty in processing client routes. Waze only considers the road fully traversed if both ends of a segment are crossed. If the end of the segment happens to be on the curb (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross the end of the road segment. With the junction in the middle of the visual road, we give a driver a good chance to cross the end of the segment no matter where they drive within the bulb.  The exception to this guidance is given in the next example.
{{clear}}


The junction indicator should be located close to the middle of the bulb and NOT near the outer edges. If the end of the segment is positioned along the perimeter of the bulb, there may be difficulty in processing client routes. Waze only considers the road fully traversed if both ends of a segment are crossed. If the end of the segment happens to be on the curb (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross end end of the road segment. With the junction in the middle of the visual road, we give a driver a good chance to cross the end of the segment no matter where they drive within the bulb.  The exception to this guidance is given in the next example.
{| class="Wikitable floatright"
 
| [[Image:Jct_cul-de-sac_island_ex.png|200px|border]]
The cul-de-sac below, with a small island, should be treated as a basic dead end with no loop. The island can be ignored, as there is no significant routing question for the driver once they get to the cul-de-sac.
| [[Image:Jct_cul-de-sac_island_ex_road.png|border|200px]]
 
|}
: [[Image:Jct_cul-de-sac_island_ex.png]]
This cul-de-sac, with a small island, should be treated as a basic dead end with no loop. The island can be ignored, as there is no significant routing question for the driver once they get to the cul-de-sac.


As for placement of the final junction indicator, here we may get better results by moving the junction out from the true center and over to the outer perimeter of the central island. The shift ensures that the driver has a good opportunity to cross the end of the segment.
As for placement of the final junction indicator, here we may get better results by moving the junction out from the true center and over to the outer perimeter of the central island. The shift ensures that the driver has a good opportunity to cross the end of the segment.
 
{{clear}}
: [[Image:Jct_cul-de-sac_island_ex_road.png]]


However, if the cul-de-sac has a very large bulb with a large island in the middle, it may better be treated as a [[#Loops|Loop]]. A good rule of thumb is if you were standing at the end of the cul-de-sac, can you tell that it is just a cul-de-sac?  Or does it look like two different roads?  If you see an island, but are not sure if it is significant, leave the Loop out. If "Missing Road" errors occur on the road, then add a Loop.
However, if the cul-de-sac has a very large bulb with a large island in the middle, it may better be treated as a [[#Loops|Loop]]. A good rule of thumb is if you were standing at the end of the cul-de-sac, can you tell that it is just a cul-de-sac?  Or does it look like two different roads?  If you see an island, but are not sure if it is significant, leave the Loop out. If "Missing Road" errors occur on the road, then add a Loop.


==== Loops ====
=== Loops ===
 
<gallery mode="packed-hover">
Loops are roads that you can enter, and without reversing course, end up at the same place you started.
File:U-shaped Road.jpg|U-shaped road
 
File:Jct loop bulb.png|terminal or dead-end loop
An important Map Editor rule is: '''a road segment must ''not'' start and end on the same junction node'''.
</gallery>
 
Road segments form a loop when you can trace a path from a starting point around to the same point without retracing any portion of the traced path.
If this rule is not followed, the routing server will have difficulty in providing routes into and out of the loop. Any loop broken into two segments by a junction will not have this problem.
 
Hopefully there will be another roadway along the loop road which you can map, which will break the loop into two pieces.  If there are no interruptions to the loop and the entire loop is represented by one road segment that connects with itself, we must [[Map_Editing_Quick-start_Guide#Splitting_a_segment|insert a superfluous junction node]] along the loop segment.  The specific location does not matter, but most people put it near the half-way point of the segment.
 
: [[Image:Jct_loop_bulb.png]] [[Image:Jct_loop_square.png]]


'''NOTE:''' It is very easy for an editor to find the extra junction node, assume it is truly superfluous, and delete it!  This problem is magnified if the loop road is large or shaped so it is not obvious that it is a loop. One solution is to identify a path or driveway branching from the loop road and add it to the map, forcing a 3-way junction that would be less likely to be deleted.
==== Every loop must be made up of three or more segments ====
[[File:Loop_3-part_6.jpg|right|150px]]Any loop that does not follow this rule can cause problems for the Waze routing server. If there is no side-street, you must [[Map Editing Quick-start Guide#Splitting a segment|insert an extra junction node]] along the loop. Many new editors will see the extra junction node(s), assume they are not needed, and delete them. Please educate new editors.


'''NOTE:''' The Map Editor may be resistant in editing a loop that does not already follow the rule that it must be broken in two. If you run into saving errors, try one of the following approaches:
====Two-segment loops====
Two-segment loops create a situation called "same endpoint drivable segments" or "same connection segments". There are two or more ways to get from one junction node to another without going through any other nodes. They can cause a problem for the Waze app regardless of the direction, or other attributes of the segments. This is because the routing server gives your mobile app a list of node IDs only, but the app needs to tell you which segments to drive on. If there are two ways to get from one node to the next without going through any other nodes, then the Waze app might just have to guess. It might guess a detour off the highway through a service road or scenic overlook. Please save Waze from this silliness. Correct two-segment loops.


If the loop and the road leading to it have the same name:
====One-segment loops====
* Select the loop and the road
{{anchor|Loop_save_errors}}
* click the bridge icon that appears (one end of the loop will disconnect from the other)
[[File:Dead end loop.png|thumb|right]] One-segment or self-connected loops are often found in basemap areas. It is difficult for Waze editors to create one-segment loops. Depending on the situation, these should be converted to three-segment loops or simple dead-end roads. For more on loops on dead-end roads, please see [[Cul-de-sac#Cul-de-sacs|cul-de-sac]].  It is important to preserve house number data on these segments.
* split the loop
===== Fixing one-segment loops=====
* reconnect the disconnected end of the loop
If you try to edit a one-segment loop, but then cannot save the changes, undo your changes and then try one of the following to fix it:
* confirm turns


If the loop and the road leading to it have different names:
*If the loop and the road leading to it have the '''same''' name
* draw a new road segment that connect to the loop/road junction
*#Select the loop and the road.
* give that new road the same exact name as the loop
*#Click the bridge icon that appears (one end of the loop will disconnect from the other)
* select the loop and the new road segment
*#Move the now free end of the loop so it is slightly separated
* click the bridge icon that appears (one end of the loop will disconnect from the other)
*#Save
* split the loop
*If the loop and the road leading to it have '''different''' names
* reconnect the disconnected end of the loop
*#Draw a new road segment that connects to the loop/road junction
* confirm turns
*#Give that new road the same exact name as the loop
*#Select the loop and the new road segment
*#Click the bridge icon that appears (one end of the loop will disconnect from the other)
*#Move the now free end of the loop so it is slightly separated
*#Save
*Create a dead end road or a three-segment dead-end loop as appropriate.
*Fix elevations.
*Confirm turns.


Here is a [http://www.youtube.com/watch?v=a7yAzG7HElw video on YouTube showing the second method].
Here is a [http://www.youtube.com/watch?v=a7yAzG7HElw video on YouTube showing the second method].
{{#widget:YouTube|id=a7yAzG7HElw}}


=== Roundabouts and Traffic Circles ===
[[Image:Jct_roundabout.png|frameless|right]]
 
: [[Image:Jct_roundabout.png]]


Please see the [[Roundabout]] page for a full discussion of this special type of junction.
===Roundabouts and traffic circles===
It may be tempting to use the roundabout feature to create a loop shape. Do not do this unless the loop is a roundabout or traffic circle. Roundabouts give special routing instructions, and must not be used for other purposes. To learn more, please see the [[Roundabout]] page.


=== At-grade connectors ===
=== At-grade connectors ===
Line 227: Line 158:
: [[Image:Jct_at_grade_keep.png]]
: [[Image:Jct_at_grade_keep.png]]


With exceptions, don't set these segments as ramps!  Watch out for all of the turns you need to restrict.  For a full discussion, see [[at-grade connectors]].
With exceptions, don't set these segments as ramps!  Watch out for all of the turns you need to restrict.  For a more detailed discussion, see the full [[At-grade connectors]] article.
 
=== Bow tie intersections ===
{{Anchor|Bowtie}}
The "bow tie" form of an intersection both simplifies and provides enhanced control when a dual carriageway road and a single carriageway road intersect.
: [[File:Jct_bowtie.png]]
By reducing the intersection to a single point, we gain control over U-turns and avoid short segments which may introduce complexity and routing issues.
 
The first instinct may be to map the intersection as the road is physically constructed -- using an "H" (a sideways H in this case) where each one-way roadway intersects the cross street.  But if that method is used, there is no way to restrict the U-Turn movement from one one-way direction to the other since the center of the "H" carries both U-Turn traffic ''and'' traffic turning from the cross street.  But mapped as a bow tie, there is a specific turn arrow that can allow or disallow the U-turn as needed.


Additionally, the center segment of the H may introduce complexity to the map.  If the cross street changes names at the junction, care must be taken to make the center segment have no name assigned.  This will cause the segment to inherit the appropriate name depending on the direction of travel.  This center segment is then different from either side so future "select all segments" operations in the editor will not capture this segment which may complicate editing.
== Interchanges and ramps ==


Finally, the Waze systems also have difficulty in capturing average speeds for short segments, especially when traffic does not travel across a majority of the segment which may happen in a wide intersection.  The center of the H would be totally vertical in the example above, but turning traffic would be traveling in more of a 45 degree angle.  Add in the inaccuracy of many consumer GPS chips and wide intersections and you may have traffic never actually driving over the segment for certain movements.
An '''interchange''' is a road junction where two roads are connected by dedicated roadways, called '''ramps'''. The roads connected by an interchange do not intersect one another directly, and if they cross, the crossing is grade-separated.
 
'''NOTE:''' Be aware of the geometry used in the bow tie.  If the angles are too steep (45 degrees or greater) a driver traveling along one of the one-way segments may be told to "turn" or "stay" at the intersection instead of receiving no instruction.
 
'''NOTE:''' If the center of the physical "H" is long and/or allows traffic to stop and queue within the median of the divided roadway, a bow tie may not be appropriate.  In these cases the segment may be long enough to justify being mapped especially if the one-way roads would have to deviate greatly from their physical location to meet in a single point.
 
== Ramps ==
 
Ramps have a very specific purpose in Waze. They are intended to connect segments of Minor Highways, Major Highways, and Freeways to roads where there are no at-grade crossings.


=== When to use ramps ===
=== When to use ramps ===


The following conditions must be met for the use of ramps to be appropriate:
Use of the {{Ramp}} type is governed by the following rules:
# Two roads cross over/under each other with no at-grade junction
* [[Road types]]
# At least one of the roads are of these types
* [[At-grade connectors]]
## Minor Highway
## Major Highway
## Freeway
## Ramp
 
If the above requirements are not satisfied, you may be dealing with an [[#At-Grade_Connectors|at-grade connector]], which typically does not use the ramp type. However, there are [[At-grade_connectors#Exceptions|some at-grade connectors]] which do use the ramp type.
 
=== How complex should ramps be? ===
 
Rule #1 is still simpler is better. If there is no large distance between paths at the end of a ramp (either into or out of the ramp), a single segment connecting to a single junction node is all that is needed. The existence of a painted, concrete, or grass island is '''NOT''' enough of a reason to split a ramp into multiple ramps.
 
: [[Image:Jct_ramp_no_split.png]]
 
When paths at the end of the ramp deviate significantly in distance, regardless of the existence of any type of island, then multiple ramps should be used.
 
: [[Image:Jct_ramp_split.png]]
 
== Highway/Freeway Junctions ==
These are junctions involving the three Highway/Freeway road types - {{Minor Highway}}, {{Major Highway}}, and {{Freeway}} -- as well as their {{Ramp|Ramps}}.
 
Specific examples of how to handle common junction types are provided in later sections.  All of those examples use the basic building blocks provided here.
 
If you are unsure what road type you should use, refer to the following pages for more information.
*[[Road_Types_(USA)|United States]]
*[[How_to_label_and_name_roads_%28United_Kingdom%29#Road_types|United Kingdom]]
 
==== Highway/Freeway Exits ====
It is a basic Exit situation when a "straight" direction is obvious to a driver and navigation instructions are only needed for the non-straight direction (the exit.)  If navigation instructions are required for both directions, see the [[#Wayfinder_Segments|Wayfinder Segments]] section below.
===== Structure =====
: [[Image:Jct_fwy_exit.png]] [[Image:Jct_maj_exit.png]] [[Image:Jct_min_exit.png]]
 
To be treated as a basic Exit, the following must be true:
# The entering segment and one exiting segment must be one of the three Highway/Freeway types
# The Highway/Freeway exiting segment must have close to a zero degree departure angle from the entering segment
# The other exiting segment must be of the type Ramp
# The Ramp exiting segment must have a departure angle of between 20 and 30 degrees from the entering segment
 
When those conditions are met, the navigation will present an "Exit Right/Left" instruction when the ramp is to be used, and will remain silent when the exiting  Highway/Freeway segment is to be used.
===== Naming =====
The Highway/Freeway segments before and after the junction should be named the same. The ramp segments should be named in accordance with the best practices in your location.
 
[[Road_Naming_%28USA%29#Exit_ramps_and_Entrance_ramps_.28on-ramps.29|US Specific Ramp Names]]
 
[[How_to_label_and_name_roads_%28United_Kingdom%29#Ramps_.28to.2Ffrom_Motorways_and_Dual_Carriageways.29|UK Specific Ramp Names]]
 
[[How_to_label_and_name_roads|Naming standards for other areas]]
 
Editors covering areas that do not have specific best practices should review the existing guides for other areas, and determine which best matches the roadways of your area.
 
==== Highway/Freeway Splits ====
A Highway/Freeway Split is when a Highway/Freeway segment meets at a junction with two other Highway/Freeway segments and there is no obvious straight through direction to a driver. 
===== Structure =====
: [[Image:Jct_fwy_fwy_split.png]]
 
To receive a navigation instruction for '''both''' branches of a split, the following must be true:
# All segments must be one of the three Highway/Freeway Types
# All segments must have names which are different from each other
# The two exiting segments must have departure angles of 20 to 30 degrees from the entering segment
 
With those conditions met, the junction will present "Keep Left" and "Keep Right" navigation instructions using the name of the appropriate exiting segment.
 
===== Naming =====
 
The primary rule is that all 3 segments at the junction must have different names.  That can be accomplished in one of two ways:
# Using road names alone - It is an easy situation if all three roads which connect have different names.  If "Highway A" splits into "Highway B" and "Highway C", then that is all we need to have a properly functioning split.
# Using signs and [[#Wayfinder_Segments|Wayfinder Segments]] - If one of the branches of the split has the same name as the entering segment, we must create uniqueness at the junction. If "Highway X" splits off from "Highway Y" and "Highway X" continues as the other branch, the preferred approach is to use named [[#Wayfinder_Segments|Wayfinder Segments]].
 
==== Wayfinder Segments ====
 
It may be necessary to provide additional information to a driver for complex or confusing [[#Highway.2FFreeway_Exits|Exits]] and [[#Highway.2FFreeway_Splits|Splits]].  Examples of such situations include:
* '''Lane Drops''' - Highway has been 3 lanes for miles and miles but only 2 lanes continue straight through at a certain point
* '''Inconsistent signage''' - Highway continues as a numbered route, but signs only call it by a name instead
* '''Non-obvious continuations''' - in a right hand drive country, exiting traffic is to the left and continuing traffic is to the right
 
In these cases we need to use short way-finder or path-finder segments which are named with the information displayed on the roadway signs.  There are two methods to accomplish this: using Highway/Freeways or using Ramps.
 
* '''Highway/Freeways'''
** Pro: provide a consistently rendered line on the map with no breaks
** Pro: does not introduce a [[Routing_penalties|routing penalty]] for the transition to Ramp type (although we do not know how much of an impact, if any, this has in actuality)
** Con: the long name of the segment may be displayed on the map creating clutter
** Con: the segment may be hard to see in the editor since it may blend in with the main Freeway
** Note: will provide "Keep Left" and "Keep Right" instructions


* '''Ramps'''
=== Ramp and interchange style ===
** Pro: ensures any long names are hidden from display on the map
** Pro: forces the client to stay zoomed in for the length of the segment to give a close view of the split to the driver
** Con: introduces a [[Routing_penalties|routing penalty]] of the transition to Ramp type (although we do not know how much of an impact, if any, this has in actuality)
** Con: may render as a broken line on the map
** Note: will provide "Keep Left" and "Exit Right" instructions in right-hand drive countries and "Exit Left" and "Keep Right" instructions in left-hand drive countries.


In both cases, the two exiting segments '''MUST''' have identical road types and different names from themselves and the entering segment.
For guidance on the proper configuration of ramps, interchanges and wayfinders, see [[Junction Style Guide/Interchange]].
 
Here we show Highway Y splitting off from Highway X.  By labeling segments with the information available on the road signs at the split, we have achieved uniqueness and provided additional useful information (the destination cities) to the driver.  We can achieve the desired results using either approach.  First as all Freeway segments:
 
[[Image:Jct_fwy_fwy_wayfinder_fwy.png]]
 
And then using Ramps (which are named how they appear in the all Freeway example):
 
[[Image:Jct_fwy_fwy_wayfinder_rmp.png]]
 
At times it is also necessary to use a way-finder at an Exit if a driver needs advance notice that only some lanes of the roadway continue straight through.  Again we can accomplish this using either of the two methods.  First using Freeway segments for the split (the right branch wayfinder is un-named and the ramp segment that follows contains the appropriate name):
 
[[Image:Jct_fwy_rmp_wayfinder_fwy.png]]
 
And then using Ramps (again, named the same as above):
 
[[Image:Jct_fwy_rmp_wayfinder_rmp.png]]
 
A rule of thumb for the way-finder segments is to make them 15 to 20 meters long.  This keeps the segment small so we are less likely to see it in the client, but keeps it long enough to find and manipulate in the map editor. (In the near future, Way-finder segments may need to be greater than 5 meters long to prevent routing issues.)
 
==== Ramp to Ramp Splits ====
A ramp may itself split and branch into two directions.  If this is the case, "Exit Right" and "Exit Left" will be announced using the name of the appropriate exiting segment in all cases.
===== Structure =====
: [[Image:Jct_ramp_ramp_split.png]]
 
===== Naming =====
If ramps are unnamed, the name of a subsequent ramp will propagate backwards.  In the example above, if the two ramps exiting the junction are named, the ramp entering the junction can be left unnamed.  Then any navigation instruction directing you onto the first ramp would use the name of the appropriate exiting ramp.
 
'''Example:''' The two ramps exiting the junction are named "DestinationLeft" and "DestinationRight".  The ramp that enters the junction is unnamed.  If you need to "Exit Right" onto the unnamed ramp.  If you are headed to "DestinationLeft", navigation would tell you:
* Exit Right to Destination Left
* Exit Left to Destination Left
 
Using unnamed ramps is very useful to provide sufficient notification of an approaching decision point, as long as the names of both ramp splits are visible on signs at the start of the initial ramp.
 
'''Example of good use of unnamed ramps:'''
* Initial Exit Sign: to City A and City B
* Destination Left Sign: to City A
* Destination Right Sign: to City B
Result: An unnamed initial ramp will provide accurate and informative navigation instructions to the driver.
 
'''Example of poor use of unnamed ramps:'''
* Initial Exit Sign: to Downtown
* Destination Left Sign: to Downtown
* Destination Right Sign: to Center St
Result: An unnamed ramp may create confusion since both Destination ramp names are NOT listed on the initial exit sign.  In this case the initial ramp should be named.
 
'''Example of modified use of unnamed ramps:'''
 
* Initial Exit Sign: Exit 70A-B to City A and City B
* Destination Left Sign: to City A
* Destination Right Sign: to City B
* Destination Left name in Waze: Exit 70A: City A
* Destination Right name in Waze: Exit 70B: City B
Result: By using a modified name for the destination ramps, we have combined information from two sets of signs to generate the advance notice a driver may need to prepare for a decision point.
 
== Limited Access Interchanges ==
Please see the [[Limited_Access_Interchange_Style_Guide|Limited Access Interchange Style Guide]].


== Special Cases ==
== Special Cases ==
=== Transitions ===
=== Transitions ===
{| class="Wikitable floatright"
| [[Image:Jct_transition.png|x150px|border]]
| [[Image:Jct_transition_90.png|x150px|border]]
|}
A transition is a non-junction depicted using a junction node.
A transition is a non-junction depicted using a junction node.
: [[Image:Jct_transition.png]] [[Image:Jct_transition_90.png]]


Valid examples of where to use a Transition node include:
Valid examples of where to use a Transition node include:
Line 413: Line 187:
# Road Direction changes
# Road Direction changes
# Part of a [[#Loops|Loop Road]]
# Part of a [[#Loops|Loop Road]]
# Speed Limit Change


An old reason to use a transition node was to indicate segments of the road with different house numbering.  With the new point numbering scheme being adopted by Waze, this is no longer a reason to use transition nodes.
Before the current house numbering system came into use, transition nodes were used to aid in house numbering, but that is no longer required.


There may be existing Transition nodes on the map for other reasons (left after a connecting road was deleted, inherited from to the original base map import when things such as rivers and streams created junctions, etc.).
There may be existing transition nodes on the map for other reasons like remaining after a connecting road is deleted, inherited from the original base map import when rivers and streams created junctions, etc.


As long as we are '''certain''' it is not a valid Transition node, a superfluous junction node may be [[Map_Editing_Quick-start_Guide#Delete_a_Junction|deleted]]. Doing so will simplify the map, eliminate turn restrictions to maintain, and reduce computing resource needs. Also consider removing the [[Creating_and_Editing_street_segments#Adjusting_road_geometry_.28nodes.29|geometry node]] which will replace the junction node you delete, if that geometry node is not needed.
As long as you are '''certain''' it is not a valid transition node, a superfluous junction node may be [[Map Editing Quick-start Guide#Delete a Junction|deleted]]. Doing so will simplify the map, eliminate turn restrictions to maintain, and reduce computing resource needs. Also consider removing the [[Creating and editing road segments#Adjusting road geometry .28nodes.29|geometry node]] which will replace the junction node you delete, if that geometry node is not needed.


=== Roads to Nowhere ===
=== Roads to Nowhere ===
In certain situations it may be necessary to add road segments that are un-drivable in order to provide accurate navigation instructions.
In certain situations it may be necessary to add road segments that are un-drivable in order to provide accurate navigation instructions.
==== Actual ====
==== Actual ====
A valid use of this technique is at the temporary end of a freeway. As a freeway is built, it is often opened in sections, up to a certain exit. If we map this as a regular freeway segment leading to a ramp segment, no announcement will be made for that final exit, no matter what we name the exit ramp.
A valid use of this technique is at the temporary end of a freeway. As a freeway is built, it is often opened in sections, up to a certain exit. If we map this as a regular freeway segment leading to a ramp segment, no announcement will be made for that final exit, no matter what we name the exit ramp.


This can be confusing if the ramp is set up as a properly signed and numbered exit, especially if a driver is traveling a long distance on this freeway. Imagine traveling down a freeway and seeing your next instruction is "turn left at Main St." You would probably wonder if there was a map error since you shouldn't be making left turns off of a freeways.
This can be confusing if the ramp is set up as a properly signed and numbered exit, especially if a driver is traveling a long distance on this freeway. Imagine traveling down a freeway and seeing your next instruction is "turn left at Main St." You would probably wonder if there was a map error since you shouldn't be making a left turn off of a freeway.


If we map even just a little of the future path of the freeway, this gives the routing engine a junction which will generate an "exit" instruction at the end of the freeway, thus eliminating any confusion.
If we map even just a little of the future path of the freeway, this gives the routing engine a junction which will generate an "exit" instruction at the end of the freeway, thus eliminating any confusion.


Conversely, if we do NOT want an exit instruction at the end of a freeway, ensure there are no road segments extending past the final exit, to ensure the final exit is the only path out of the final freeway segment.
Conversely, if we do NOT want an exit instruction at the end of a freeway, ensure there are no road segments extending past the final exit, to ensure the final exit is the only path out of the final freeway segment.
==== Fake ====
''(coming soon)''


=== Offset Roads ===
=== Offset Roads ===
[[Image:Jct_4_offset.png|left|x150px|border]]
Sometimes you will find two roads which cross, where one does not quite line up with the other.
Sometimes you will find two roads which cross, where one does not quite line up with the other.
: [[Image:Jct_4_offset.png]]


There are a few things we need to look at in this situation.
There are a few things we need to look at in this situation.
{{clear}}
:* Do the roads actually line up in reality? If so we need to modify the junction to be a basic 4-way junction.
{| class="Wikitable floatright"
|[[Image:Jct_4_offset_align.png|x150px|border]]
|[[Image:Jct_4_offset_align_ex.png|x150px|border]]
|}
:* Do the roads ALMOST line up in reality? If you were giving instructions to a person and would tell them to go straight with no mention of any slight turn or jog, then we want to make it into a 4-way junction. You may need to "split the difference" and not follow the centerline of either road to achieve this. The angles are exaggerated in this next example to show how the junction is forced to be close to 90 degrees, then we taper to the true centerlines of the roads. In practice this can be much more gradual and/or done while zoomed in very close.
[[Image:Jct_4_offset_ex.png|right|x150px|border]]
:* Finally, is there a true separation between the roads? Would you need to say for example "turn left then make an immediate right"? If so then we will want to leave the junction such that the two sides do not align.
{{clear}}


# Do the roads actually line up in reality?  If so we need to modify the junction to be a basic 4-way junction.
[[Image:Jct_4_offset_sep_ex.png|left|x150px|border]]
# Do the roads ALMOST line up in reality?  If you were giving instructions to a person and would tell them to go straight with no mention of any slight turn or jog, then we want to make it into a 4-way junction.  You may need to "split the difference" and not follow the centerline of either road to achieve this.  The angles are exaggerated in this next example to show how the junction is forced to be close to 90 degrees, then we taper to the true centerlines of the roads.  In practice this can be much more gradual and/or done while zoomed in very close.<br/>[[Image:Jct_4_offset_align.png]] [[Image:Jct_4_offset_align_ex.png]]<br/>
Since we want to avoid very short segments of road (the GPS chips in consumer devices can be very inaccurate which may make it seem that a driver skipped right over a short segment. This will result in [[Map Problems in Waze Map Editor|automated map errors]] and possible route recalculations in the client,) it may be wise to shift the side roads as far apart from each other as possible with them still in the proper location (along the far curb lines for a residential street for example).  This will maximize the length of the short segment between the side roads.
# Finally, is there a true separation between the roads?  Would you need to say for example "turn left then make an immediate right"?  If so then we will want to leave the junction such that the two sides do not align.<br />[[Image:Jct_4_offset_ex.png]]<br />Since we want to avoid very short segments of road (the GPS chips in consumer devices can be very inaccurate which may make it seem that a driver skipped right over a short segment. This will result in [[Map_Problems_in_Waze_Map_Editor|automated map errors]] and possible route recalculations in the client,) it may be wise to shift the side roads as far apart from each other as possible with them still in the proper location (along the far curb lines for a residential street for example).  This will maximize the length of the short segment between the side roads.<br /> [[Image:Jct_4_offset_sep_ex.png]]


[[Category:Style Guides]]
[[Category:Style Guide]]
[[Category:Convert to Subpages]]
[[Category:Table examples]]

Revision as of 14:57, 23 May 2019

Images are going to be added to clarify these instructions.
This revision of the page is currently undergoing modifications. The information and guidance is currently considered accurate enough to be followed now. Content is being prepared by one or more users. Do not make any changes before you post a message in this forum. Please use the talk page for thoughts and ideas on setting up this content.

The following article contains key information on properly creating junctions and the roadways between them. Be sure to review it in its entirety before editing the map.

Simple is better

When representing junctions, intersections, interchanges, cross roads, corners, etc., the Waze map does not need to perfectly match the road layouts it represents. The primary goal is to represent the real world as simply as possible in the maps and only introduce complexity in the maps to address complex issues.

The basics

This guide requires a complete understanding of editing the maps with Waze Map Editor (WME).

Map editing 101

Although it is highly recommended to read the editing manual before touching the map, it is required that you do not continue with this guide until you have read the following:

Junction definition

The Glossary on Junctions provides details on how junctions can appear differently in the editor depending on its state or condition.

A junction is made up of three things:

  1. Two or more road segments
  2. One point where all the segments meet (the junction point itself)
  3. Turns allowed or restricted when traveling from one segment to another through that junction point

Controlling Turn Instructions

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

Turn instructions are critical for proper client navigation. They are controlled by:

  • The angle set between segments at junctions.
  • The road names.
  • The road types.

Review the article controlling turn instructions for a complete understanding of the requirements and issues surrounding this topic.

Surface Streets

Intersections

Basic intersections involve three or four road segments meeting at a single point. Some more complex variations resemble H or # shapes.

In all cases it is important to configure these intersections properly. Detailed information is covered in the Intersections article.


No Outlet Roads

Roads which only have one way in and one way out can present challenges to the routing server, although they seem simple to our minds.

Dead Ends

Dead Ends (a.k.a. No Exit, Closed, No Through Road, No Outlet) are road segments that simply end, with no continuation or connections at one end. In some areas, a Dead End may be synonymous with a Cul-de-sac. In the US, a "No Outlet" sign may be used to indicate a road which itself is not a dead end, but it only connects to other dead end roads. It can also be used as a "friendlier" alternative to the typical Dead End sign.

Within the Map Editor it is possible to represent a dead end road with multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, only the very last segment is considered the dead end segment.

Make sure that there is a junction indicator (the small blue dot, not just a geometry node) at the very end of the segment. While this one segment does not actually constitute a junction, the small blue dot is a visual indicator to the editor that the end of this segment is properly set up. This is necessary to ensure proper routing out of the segment. See the Cul-de-sac section below on when and how to fix this.

This final junction indicator must be located near the end of the road, but it should be located where there is still pavement as not to negatively impact client routes. Waze only considers the road fully traversed if both ends of the segment are fully crossed. If the junction indicator at the end of the segment happens to be at the edge of the pavement (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross that junction. A good rule of thumb is to have the end of the segment the same distance from the end of the pavement as it is from each side of the road.

With such a placement, the driver is given a chance to cross that junction indicator for that segment. Also check for the proper u-turn setting as covered in the best practices article on u-turns.

Cul-de-sacs

See also: Cul-de-sac article on Wikipedia

A Cul-de-sac (a.k.a. Court in the US) is a common treatment of a dead end street in a residential neighborhood.

In almost every situation, a cul-de-sac should be treated exactly as a dead end street, with the final junction indicator in the center of the bulb of the cul-de-sac. Be sure the free end of the final road segment has small blue dot displayed at the tip (when not editing or selecting the segment). If there is no blue dot, please correct it by following the steps for fixing dead ends.

The junction indicator should be located close to the middle of the bulb and NOT near the outer edges. If the end of the segment is positioned along the perimeter of the bulb, there may be difficulty in processing client routes. Waze only considers the road fully traversed if both ends of a segment are crossed. If the end of the segment happens to be on the curb (or off of the road surface if aerials are not exactly aligned), it will be very difficult for a driver to cross the end of the road segment. With the junction in the middle of the visual road, we give a driver a good chance to cross the end of the segment no matter where they drive within the bulb. The exception to this guidance is given in the next example.

This cul-de-sac, with a small island, should be treated as a basic dead end with no loop. The island can be ignored, as there is no significant routing question for the driver once they get to the cul-de-sac.

As for placement of the final junction indicator, here we may get better results by moving the junction out from the true center and over to the outer perimeter of the central island. The shift ensures that the driver has a good opportunity to cross the end of the segment.

However, if the cul-de-sac has a very large bulb with a large island in the middle, it may better be treated as a Loop. A good rule of thumb is if you were standing at the end of the cul-de-sac, can you tell that it is just a cul-de-sac? Or does it look like two different roads? If you see an island, but are not sure if it is significant, leave the Loop out. If "Missing Road" errors occur on the road, then add a Loop.

Loops

Road segments form a loop when you can trace a path from a starting point around to the same point without retracing any portion of the traced path.

Every loop must be made up of three or more segments

Any loop that does not follow this rule can cause problems for the Waze routing server. If there is no side-street, you must insert an extra junction node along the loop. Many new editors will see the extra junction node(s), assume they are not needed, and delete them. Please educate new editors.

Two-segment loops

Two-segment loops create a situation called "same endpoint drivable segments" or "same connection segments". There are two or more ways to get from one junction node to another without going through any other nodes. They can cause a problem for the Waze app regardless of the direction, or other attributes of the segments. This is because the routing server gives your mobile app a list of node IDs only, but the app needs to tell you which segments to drive on. If there are two ways to get from one node to the next without going through any other nodes, then the Waze app might just have to guess. It might guess a detour off the highway through a service road or scenic overlook. Please save Waze from this silliness. Correct two-segment loops.

One-segment loops

One-segment or self-connected loops are often found in basemap areas. It is difficult for Waze editors to create one-segment loops. Depending on the situation, these should be converted to three-segment loops or simple dead-end roads. For more on loops on dead-end roads, please see cul-de-sac. It is important to preserve house number data on these segments.

Fixing one-segment loops

If you try to edit a one-segment loop, but then cannot save the changes, undo your changes and then try one of the following to fix it:

  • If the loop and the road leading to it have the same name
    1. Select the loop and the road.
    2. Click the bridge icon that appears (one end of the loop will disconnect from the other)
    3. Move the now free end of the loop so it is slightly separated
    4. Save
  • If the loop and the road leading to it have different names
    1. Draw a new road segment that connects to the loop/road junction
    2. Give that new road the same exact name as the loop
    3. Select the loop and the new road segment
    4. Click the bridge icon that appears (one end of the loop will disconnect from the other)
    5. Move the now free end of the loop so it is slightly separated
    6. Save
  • Create a dead end road or a three-segment dead-end loop as appropriate.
  • Fix elevations.
  • Confirm turns.

Here is a video on YouTube showing the second method.

Roundabouts and traffic circles

It may be tempting to use the roundabout feature to create a loop shape. Do not do this unless the loop is a roundabout or traffic circle. Roundabouts give special routing instructions, and must not be used for other purposes. To learn more, please see the Roundabout page.

At-grade connectors

With exceptions, don't set these segments as ramps! Watch out for all of the turns you need to restrict. For a more detailed discussion, see the full At-grade connectors article.

Interchanges and ramps

An interchange is a road junction where two roads are connected by dedicated roadways, called ramps. The roads connected by an interchange do not intersect one another directly, and if they cross, the crossing is grade-separated.

When to use ramps

Use of the  Ramp  type is governed by the following rules:

Ramp and interchange style

For guidance on the proper configuration of ramps, interchanges and wayfinders, see Junction Style Guide/Interchange.

Special Cases

Transitions

A transition is a non-junction depicted using a junction node.

Valid examples of where to use a Transition node include:

  1. Road name changes
  2. City Limits
  3. Road Direction changes
  4. Part of a Loop Road
  5. Speed Limit Change

Before the current house numbering system came into use, transition nodes were used to aid in house numbering, but that is no longer required.

There may be existing transition nodes on the map for other reasons like remaining after a connecting road is deleted, inherited from the original base map import when rivers and streams created junctions, etc.

As long as you are certain it is not a valid transition node, a superfluous junction node may be deleted. Doing so will simplify the map, eliminate turn restrictions to maintain, and reduce computing resource needs. Also consider removing the geometry node which will replace the junction node you delete, if that geometry node is not needed.

Roads to Nowhere

In certain situations it may be necessary to add road segments that are un-drivable in order to provide accurate navigation instructions.

Actual

A valid use of this technique is at the temporary end of a freeway. As a freeway is built, it is often opened in sections, up to a certain exit. If we map this as a regular freeway segment leading to a ramp segment, no announcement will be made for that final exit, no matter what we name the exit ramp.

This can be confusing if the ramp is set up as a properly signed and numbered exit, especially if a driver is traveling a long distance on this freeway. Imagine traveling down a freeway and seeing your next instruction is "turn left at Main St." You would probably wonder if there was a map error since you shouldn't be making a left turn off of a freeway.

If we map even just a little of the future path of the freeway, this gives the routing engine a junction which will generate an "exit" instruction at the end of the freeway, thus eliminating any confusion.

Conversely, if we do NOT want an exit instruction at the end of a freeway, ensure there are no road segments extending past the final exit, to ensure the final exit is the only path out of the final freeway segment.

Offset Roads

Sometimes you will find two roads which cross, where one does not quite line up with the other.

There are a few things we need to look at in this situation.

  • Do the roads actually line up in reality? If so we need to modify the junction to be a basic 4-way junction.
  • Do the roads ALMOST line up in reality? If you were giving instructions to a person and would tell them to go straight with no mention of any slight turn or jog, then we want to make it into a 4-way junction. You may need to "split the difference" and not follow the centerline of either road to achieve this. The angles are exaggerated in this next example to show how the junction is forced to be close to 90 degrees, then we taper to the true centerlines of the roads. In practice this can be much more gradual and/or done while zoomed in very close.
  • Finally, is there a true separation between the roads? Would you need to say for example "turn left then make an immediate right"? If so then we will want to leave the junction such that the two sides do not align.

Since we want to avoid very short segments of road (the GPS chips in consumer devices can be very inaccurate which may make it seem that a driver skipped right over a short segment. This will result in automated map errors and possible route recalculations in the client,) it may be wise to shift the side roads as far apart from each other as possible with them still in the proper location (along the far curb lines for a residential street for example). This will maximize the length of the short segment between the side roads.