User:SolSash7/Junction Style Guide View history

m (Text replacement - "Category:Style guide" to "Category:Style guides")
 
(24 intermediate revisions by 3 users not shown)
Line 10: Line 10:
}}
}}


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. This article will briefly cover many topics, and provide links to articles that specialize in each topic.


== Simple is better ==
== Simple is better ==
Line 21: Line 21:
=== Map editing 101 ===
=== 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:
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]]
* [[Map Editing Quick-start Guide|Map editing quick-start guide]]
* [[Creating and editing road segments#Junctions|Moving and removing junctions]]
* [[Creating and editing road segments#Junctions|Moving and removing junctions]]


=== Junction definition ===
=== Junction definition ===
{| class="Wikitable floatright"
{| class="Wikitable floatright"
| [[Image:Junction_selected.png|75px|thumb|border|Selected: Cyan Opaque Highlight]]
| [[Image:Junction_selected.png|75px|thumb|border|Selected: cyan opaque highlight]]
| [[Image:Uneditable_junction.png|75px|thumb|border|Uneditable: Blue Translucent Highlight]]
| [[Image:Uneditable_junction.png|75px|thumb|border|Uneditable: blue translucent highlight]]
| [[Image:junction_unsaved.png|75px|thumb|border|Unsaved: Red Opaque Highlight]]
| [[Image:junction_unsaved.png|75px|thumb|border|Unsaved: red opaque highlight]]
|}
|}
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 (pictured are selected, uneditable, and unsaved junctions).
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 (pictured are selected, uneditable, and unsaved junctions).


A junction is made up of three things:
A junction is made up of three things:
Line 38: Line 38:
{{clear}}
{{clear}}


== Controlling Turn Instructions ==
== Controlling turn instructions ==
{| class="Wikitable floatright" cellpadding="5" border="1" style="text-align:center; border: 1px solid darkgray;"
{| class="Wikitable floatright" cellpadding="5" border="1" style="text-align:center; border: 1px solid darkgray;"
|-
|-
Line 54: Line 54:
Review the article [[Junction Style Guide/Controlling turn instructions|controlling turn instructions]] for a complete understanding of the requirements and issues surrounding this topic.
Review the article [[Junction Style Guide/Controlling turn instructions|controlling turn instructions]] for a complete understanding of the requirements and issues surrounding this topic.


== Surface Streets ==
== Surface streets ==
=== Intersections ===
=== Intersections ===
Basic intersections involve three or four road segments meeting at a single point at 90 degree intersections. Some more complex variations intersection at different angles or resemble H or # shapes.
Basic intersections involve three or four road segments meeting at a single point at right angles. Some more complex variations of intersections include segment at different angles or resemble H or # shapes as shown below.


{| class="Wikitable center"
{| class="Wikitable center"
| [[File:Jct 3 90.png|125x125px|thumb|border|Three Segments]]
| [[File:Jct 3 90.png|125x125px|thumb|border|Three segments]]
| [[File:Jct 4 90.png|125x125px|thumb|border|Four Segments]]
| [[File:Jct 4 90.png|125x125px|thumb|border|Four segments]]
| [[File:Jct ramp no geo.png|x125px|thumb|border|Ramp Split]]
| [[File:Jct ramp no geo.png|x125px|thumb|border|Ramp split]]
| [[File:H-Split.png|border|x125px|thumb|H-Intersection]]
| [[File:H-Split.png|border|x125px|thumb|H-intersection]]
| [[File:4waysplitsplit.png|border|x125px|thumb|#-Intersection]]
| [[File:4waysplitsplit.png|border|x125px|thumb|#-intersection]]
|}
|}


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


=== No Outlet Roads ===
=== 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.
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 ====


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|thumb|border|200x200px|Dead End Junction]]
[[File:Jct dead end.png|left|thumb|border|200x200px|Dead end junction]]
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.


[[File:Jct dead end ex.png|thumb|right|border|200px|Notice the Tiny Circle at the End of the Segment]]
[[File:Jct dead end ex.png|thumb|border|200px|Notice the tiny circle at the end of the segment]]
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.


Line 91: Line 91:
''See also: [http://en.wikipedia.org/wiki/Cul-de-sac Cul-de-sac article on Wikipedia]''
''See also: [http://en.wikipedia.org/wiki/Cul-de-sac 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.
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 road 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|left|border|thumb|cul-de-sac]]
[[Image:Jct_cul-de-sac_ex.png|left|border|thumb|Cul-de-sac]]
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.
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}}
{{clear}}


{| class="Wikitable floatright"
{| class="Wikitable floatright"
| [[Image:Jct_cul-de-sac_island_ex.png|200px|thumb|border|cul-de-sac without segment]]
| [[Image:Jct_cul-de-sac_island_ex.png|200px|thumb|border|Cul-de-sac without segment]]
| [[Image:Jct_cul-de-sac_island_ex_road.png|200px|thumb|border|cul-de-sac with extendend segment]]
| [[Image:Jct_cul-de-sac_island_ex_road.png|200px|thumb|border|Cul-de-sac with extended segment]]
|}
|}
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.
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.
Line 108: Line 108:
{{clear}}
{{clear}}


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 the "Missing Road" map error occurs on the road, then add segments to create a loop.


=== Loops ===
=== Loops ===
{| class="Wikitable floatright"
{| class="Wikitable floatright"
| [[File:U-shaped Road.jpg|125px|border|thumb|U-shaped road]]
| [[File:U-shaped Road.jpg|125px|border|thumb|U-shaped road]]
| [[File:Jct loop bulb 3seg.png|125px|border|thumb|terminal or dead-end loop]]
| [[File:Jct loop bulb 3seg.png|125px|border|thumb|Terminal or dead-end loop]]
| [[File:Jct_loop_square_3seg.png|125px|border|thumb|Three-Segment Square Loop]]
| [[File:Jct_loop_square_3seg.png|125px|border|thumb|Three-segment square loop]]
| [[File:Normal roundabout 1.JPG|125px|border|thumb|A Special Loop: A Roundabout]]
|}
|}
Road segments form a loop when you can trace a path from a starting point around to the same point without retracing or backtracking any portion of the traced path. A roundabout is a special kind of loop that should only be used to represent roundabouts or traffic circles as discussed later.
Road segments form a loop when you can trace a path along segments from a starting point around to the same point without retracing or backtracking any portion of the traced path.  


==== Every loop must be made up of three or more segments ====
==== Every loop must be made up of three or more segments ====
[[File:Loop_3-part_6.jpg|right|thumb|275px|Two- and Three-Segment Examples]]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.
[[File:Loop_3-part_6.jpg|right|thumb|275px|Two- and three-segment examples]]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, and help them understand why the junction is necessary.


====Two-segment loops====
====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.
Two-segment loops create a situation called "same endpoint drivable segments" or "same connection segments", or in other words, there are two or more ways to get from one junction node to another without going through any other junctions. 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 helpful tool that helps you spot these, among other problems, is the [[Scripts#WME_Validator WME_Validator|WME Validator]]. Many savvy editors in the Waze community put together many [[Scripts|scripts]] to aid you in the editing process.


====One-segment loops====
====One-segment loops====
{{anchor|Loop_save_errors}}
{{anchor|Loop_save_errors}}
[[File:Dead end loop.png|thumb|right|One-Segment Loop]] 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.
[[File:Dead end loop.png|thumb|right|One-segment loop]] 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.
===== Fixing one-segment loops=====
===== 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 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:
Line 153: Line 152:
===Roundabouts and traffic circles===
===Roundabouts and traffic circles===
{| class="Wikitable floatright"
{| class="Wikitable floatright"
|[[Image:Jct_roundabout.png|thumb|100px|border|right|Typical Roundabout]]
|[[Image:Jct_roundabout.png|thumb|175px|border|right|Typical roundabout]]
|[[File:Abnormal_roundabout_1.JPG|thumb|100px|border|right|Abnormal Roundabout]]
|[[File:Abnormal_roundabout_1.JPG|thumb|125px|border|right|Abnormal roundabout - many nodes]]
|[[File:Abnormal_roundabout_3.JPG|thumb|100px|border|right|Abnormal Roundabout]]
|[[File:Abnormal Roundabout 4.PNG|thumb|125px|border|right|Abnormal roundabout - figure 8]]
|}
|}


Roundabouts, rotaries, or traffic circles, are unique segments of roadway in the Waze routing system. 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 are designed to give special routing instructions, and must not be used for other purposes. Manually creating a circular road will not produce these instructions.  To learn more, please see the [[Roundabout]] page.
Roundabouts, rotaries, or traffic circles, are unique segments of roadway in Waze's routing system. 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 are designed as special intersections that give special routing instructions, and must not be used for other purposes. Manually creating a circular road will not produce these instructions.  To learn more, please see the [[Roundabout|roundabout]] page.


=== At-grade connectors ===
=== At-grade connectors ===
{| class="Wikitable floatright"
{| class="Wikitable floatright"
|[[Image:Jct_at_grade_keep.png|thumb|50px|border|right|At-Grade Connector]]
|[[Image:Jct_at_grade_keep.png|thumb|100px|border|right|At-grade connector]]
|[[File:Jct at grade turn.png|thumb|75px|border|right|At-Grade Connector]]
|[[File:Jct at grade turn.png|thumb|75px|border|right|At-grade connector with geometry modification]]
|}
|}


When traffic moves between two roads that are at the same [[Glossary#Grade|grade]], these connecting segments are not technically [[Road types#Ramps|ramps]] to Waze (with exceptions, don't set these segments as ramps!). How to handle these connectors depends on the exact situation. Watch out for all of the turns you need to restrict. When in doubt, leave it out. Each connector complicates the map and adds to your workload when the time comes to check connectivity, direction, name, etc. For a more detailed discussion, see the full [[At-grade connectors]] article.
When traffic moves between two roads that are at the same [[Glossary#Grade|grade]], these connecting segments are not technically [[Road types#Ramps|ramps]] to Waze (with exceptions, don't set these segments as ramps!). How to handle these connectors depends on the exact situation. Be sure to watch out for all of the turns you need to restrict. When in doubt, leave it out. Each connector complicates the map and adds to your workload when the time comes to check connectivity, direction, name, etc. For a more detailed discussion, see the full [[At-grade connectors|at-grade connectors]] article.


== Interchanges and ramps ==
== Interchanges and ramps ==
Line 180: Line 179:
=== Ramp and interchange style ===
=== Ramp and interchange style ===


For guidance on the proper configuration of ramps, interchanges and wayfinders, see [[Junction Style Guide/Interchange]].
For guidance on the proper configuration of ramps, interchanges, and wayfinders: see [[Junction Style Guide/Interchange|junction style guide for interchanges]].
 
== Special cases ==
== Special Cases ==
=== Transitions ===
=== Transitions ===
{| class="Wikitable floatright"
{| class="Wikitable floatright"
| [[Image:Jct_transition.png|x150px|thumb|border|Junction Transition]]
| [[Image:Jct_transition.png|x150px|thumb|border|Junction transition]]
| [[Image:Jct_transition_90.png|x150px|thumb|border|90 Degree Junction Transition]]
| [[Image:Jct_transition_90.png|x150px|thumb|border|90 degree junction transition]]
|}
|}
A transition is a non-junction depicted using a junction node.
A transition is a non-junction depicted using a junction node.


Valid examples of where to use a Transition node include:
Valid examples of where to use a transition node include:
# Road name changes
# Road name changes
# City Limits
# City limits
# Road Direction changes
# Road direction changes
# Part of a [[#Loops|Loop Road]]
# Part of a [[#Loops|loop road]]
# Speed Limit Change
# 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.
Before the current house numbering system came into use, transition nodes were used to aid in house numbering, but that is no longer required.
Line 201: Line 199:
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.
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 [[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.
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.


Line 213: Line 211:
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.


=== Offset Roads ===
=== Offset roads ===
[[Image:Jct_4_offset.png|left|thumb|x150px|border|Offset Roads]]
{| class="Wikitable floatright"
|[[Image:Jct_4_offset.png|left|thumb|x150px|border|Offset roads]]
|[[Image:Jct_4_offset_ex.png|right|x150px|border|thumb|Offset roads]]
|}
{| class="Wikitable floatright"
|[[Image:Jct_4_offset_align.png|x150px|border|thumb|test|Aligned offset roads]]
|[[Image:Jct_4_offset_align_ex.png|x150px|border|thumb|Aligned offset roads]]
|}
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.
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.
:* 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"
:* 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 center-line 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 center-lines of the roads. In practice, this can be much more gradual and/or done while zoomed in very close.
|[[Image:Jct_4_offset_align.png|x150px|border|thumb|test|Aligned Offset 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.
|[[Image:Jct_4_offset_align_ex.png|x150px|border|thumb|Aligned Offset Roads]]
|}
:* 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|thumb|Offset 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.
{{clear}}
{{clear}}


[[Image:Jct_4_offset_sep_ex.png|left|x150px|border|thumb|Seperated Offset Roads]]
[[Image:Jct_4_offset_sep_ex.png|left|x150px|border|thumb|Seperated offset roads]]
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.
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.


[[Category:Style Guide]]
[[Category:Style guides]]
[[Category:Table examples]]
[[Category:Table examples]]

Latest revision as of 16:05, 14 August 2022

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. This article will briefly cover many topics, and provide links to articles that specialize in each topic.

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

Selected: cyan opaque highlight
Uneditable: blue translucent highlight
Unsaved: red opaque highlight

The glossary on junctions provides details on how junctions can appear differently in the editor depending on its state or condition (pictured are selected, uneditable, and unsaved junctions).

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 at right angles. Some more complex variations of intersections include segment at different angles or resemble H or # shapes as shown below.

Three segments
Four segments
Ramp split
H-intersection
#-intersection

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.

Dead end junction

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.

Notice the tiny circle at the end of the segment

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.

Cul-de-sac

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.

Cul-de-sac without segment
Cul-de-sac with extended segment

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 the "Missing Road" map error occurs on the road, then add segments to create a loop.

Loops

U-shaped road
Terminal or dead-end loop
Three-segment square loop

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

Every loop must be made up of three or more segments

Two- and three-segment examples

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, and help them understand why the junction is necessary.

Two-segment loops

Two-segment loops create a situation called "same endpoint drivable segments" or "same connection segments", or in other words, there are two or more ways to get from one junction node to another without going through any other junctions. 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 helpful tool that helps you spot these, among other problems, is the WME Validator. Many savvy editors in the Waze community put together many scripts to aid you in the editing process.

One-segment loops

One-segment loop

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

Typical roundabout
Abnormal roundabout - many nodes
Abnormal roundabout - figure 8

Roundabouts, rotaries, or traffic circles, are unique segments of roadway in Waze's routing system. 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 are designed as special intersections that give special routing instructions, and must not be used for other purposes. Manually creating a circular road will not produce these instructions. To learn more, please see the roundabout page.

At-grade connectors

At-grade connector
At-grade connector with geometry modification

When traffic moves between two roads that are at the same grade, these connecting segments are not technically ramps to Waze (with exceptions, don't set these segments as ramps!). How to handle these connectors depends on the exact situation. Be sure to watch out for all of the turns you need to restrict. When in doubt, leave it out. Each connector complicates the map and adds to your workload when the time comes to check connectivity, direction, name, etc. 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 for interchanges.

Special cases

Transitions

Junction transition
90 degree junction transition

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

Offset roads
Offset roads
Aligned offset roads
Aligned 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 center-line 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 center-lines 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.
Seperated offset roads

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.