# Changes

## Junction Style Guide

, 4 months ago
m
{{NeedImage}}<!--Editorial Reminders--><!--To Do - Bow Tie intersections --><!--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.
== Simple is better ==
: == The basics ==This guide requires a complete understanding of editing the maps with [[Image:Jct_4_45_ex1.pngWaze Map Editor]] [[Image:Jct_4_45(WME).png]]
We want to use geometry nodes === Map editing 101 ===Although it is highly recommended to bring read the actual junction close to 90 degrees. You can zoom in and add a single geometry node on each side. This will give [[editing manual]] before touching the proper angle but make it virtually invisible to users so map, it looks just like is required that you do not continue with this guide until you have read the physical world.following:* [[Map Editing Quick-start Guide|Map Editing Quick-start Guide]]* [[Creating and editing road segments#Junctions|Moving and removing junctions]]
=== Junction definition ==={| class="Wikitable floatright"| [[Image:Junction_selected.png|50px|border]]| [[Image: Uneditable_junction.png|50px|border]]| [[Image:Jct_4_45_curvejunction_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.
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 A 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 addedmade up of three things: # Two or more road [[Image:Jct_4_45_ex.pngCreating and editing road segments|segments]] With that adjustment in place, the junction will produce predictable turn left/right navigation instructions while # One point where all the roads still appear to segments meet at (the real[[junction point]] itself)# [[Map Editing Quick-world anglestart Guide#Turn restrictions .28allowed turns.29|Turns allowed or restricted]] when traveling from one segment to another through that junction point{{clear}}
== 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.
== 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=== Intersections ==={| class="Wikitable floatright"| [[File:Jct 3 90.png|x100px|border]]| [[File:Jct 4 90.png|x100px|border]]| [[File:Jct ramp no geo. As the png|x100px|border]]|-| colspan="3"|[[How_Waze_determines_turn_/_keep_/_exit_maneuversFile:4waysplitsplit.png|border|center|How Waze Determines turn/keep/exit maneuvers169x169px]] page explains, segment names and geometry are very important in determining what navigation instructions are given|}Basic intersections involve three or four road segments meeting at a single point. Some more complex variations resemble H or # shapes.
In the example below, the multi-lane surface street all cases it is known as Main Street important to configure these intersections properly. Detailed information is covered in the west and Atlantic Ave to the east. The name change occurs when Main St branches off as a regular surface street[[Junction Style Guide/Intersections|Intersections]] article.{{clear}}
: [[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.

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:

: [[Image:Jct_Y_ex_map.png‎]]

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.
: [[Image:Jct_dead_endWithin 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.png]]
This final junction node must be located near the [[File:Jct dead end of the road but it should located where .png|left|border]]Make sure that there is still pavement as a junction indicator (the small blue dot, not to negatively impact client routes. Waze only considers the road fully traversed if junctions at both ends are crossed. If the final junction happens to be just a geometry node) at the edge very end of the pavement (or off of the road surface if aerials are segment. While this one segment does not exactly aligned) it will be very difficult for actually constitute a driver to cross that junction. A good rule of thumb , the small blue dot is a visual indicator to have the end junction the same distance from editor that the end of the pavement as it this segment is properly set up. This is from each side necessary to ensure proper routing out of the roadsegment. See the Cul-de-sac section below on when and how to fix this.
: [[ImageFile:Jct_dead_end_exJct 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.
With such a placement, the driver is given a chance to cross that final junctionindicator 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 ====
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 node 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 diamond dot displayed at the tip (when not editing or selecting the segment).) If there is no blue diamonddot, please correct it by following the steps for [[Creating_and_Editing_street_segmentsCreating and editing road segments#Fix_the_endFix the end-node_on_culnode on cul-de-sacs_and_deadsacs and dead-ends|fixing dead ends]]. : [[Image:Jct_cul-de-sac_ex.png]] The junction node should be located close to the middle of the bulb and NOT near the outer edges. If the junction is located along the perimeter of the bulb, there may be difficulty in processing client routes. Waze only considers the road fully traversed if junctions at both ends are crossed. If the final junction 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 that junction. With the junction in the middle, we give a driver a good chance to cross the junction no matter where they drive within the bulb. The exception to this guidance is given in the next example. 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.png]] As for placement of the final junction node, 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 final junction.
: [[Image:Jct_cul-de-sac_island_ex_roadsac_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}}
However, if the {| class="Wikitable floatright"| [[Image:Jct_cul-de-sac_island_ex.png|200px|border]]| [[Image:Jct_cul-de-sac_island_ex_road.png|border|200px]]|}This cul-de-sac has a very large bulb , with a large small island in the middle, it may better should be treated as a [[#Loops|Loop]]basic dead end with no loop. A good rule of thumb The island can be ignored, as there is if you were standing at no significant routing question for the end of driver once they get to 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 then add a Loop.
==== Loops ====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}}
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 are |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 that ? If you can entersee an island, and without reversing coursebut are not sure if it is significant, end up at leave the Loop out. If "Missing Road" errors occur on the same place you startedroad, then add a Loop.
An important Map Editor rule is=== Loops ===<gallery mode="packed-hover">File: '''a U-shaped Road.jpg|U-shaped road segment must ''not'' start and File:Jct loop bulb.png|terminal or dead-end on loop</gallery>Road segments form a loop when you can trace a path from a starting point around to the same junction node'''point without retracing any portion of the traced path.
If ==== 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 is not followed, can cause problems for the Waze routing server will have difficulty in providing routes into and out of . If there is no side-street, you must [[Map Editing Quick-start Guide#Splitting a segment|insert an extra junction node]] along the loop. Any loop broken into two segments by a Many new editors will see the extra junction will node(s), assume they are not have this problemneeded, and delete them. Please educate new editors.
Hopefully there will be ====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 roadway along 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 loop road which app needs to tell you can map, which will break the loop into two piecessegments to drive on. If there are no interruptions two ways to get from one node to the loop and next without going through any other nodes, then the entire loop is represented by one road segment that connects with itself, we must [[Map_Editing_Quick-start_Guide#Splitting_a_segment|insert Waze app might just have to guess. It might guess a superfluous junction node]] along detour off the loop segmenthighway through a service road or scenic overlook. Please save Waze from this silliness. The specific location does not matter, but most people put it near the halfCorrect two-way point of the segmentloops.
: ====One-segment loops===={{anchor|Loop_save_errors}}[[ImageFile:Jct_loop_bulbDead 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 [[Image:Jct_loop_square.pngCul-de-sac#Cul-de-sacs|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:
Please ===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 for a full discussion of this special type of junction.
DonWith exceptions, don't set these segments as ramps! Watch out for all of the turns you need to restrict. For a full more detailed discussion, see the full [[At-Grade_Connectors|At-Grade Connectorsgrade connectors]] pagearticle.
== Ramps Interchanges and ramps ==
Ramps have An '''interchange''' is a very specific purpose in Waze. They road junction where two roads are intended to connect segments of Minor Highwaysconnected by dedicated roadways, Major Highwayscalled '''ramps'''. The roads connected by an interchange do not intersect one another directly, and Freeways to roads where there are no atif they cross, the crossing is grade-grade crossingsseparated.
=== When to use ramps ===
With those conditions met, the junction will present "Keep Left" === Ramp and "Keep Right" navigation instructions using the name of the appropriate exiting segment.interchange style ===
== Special Cases ==
=== 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.

: [[Image:Jct_transition.png]] [[Image:Jct_transition_90.png]]
Valid examples of where to use a Transition node include:
# Part of a [[#Loops|Loop Road]]
# Speed Limit Change
There may be existing Transition nodes on Before the map for other reasons (left after a connecting road was deletedcurrent house numbering system came into use, inherited from transition nodes were used to the original base map import when things such as rivers and streams created junctionsaid in house numbering, etc.)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 we you are '''certain''' it is not a valid Transition transition node, a superfluous junction node may be [[Map_Editing_QuickMap Editing Quick-start_Guidestart Guide#Delete_a_JunctionDelete 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_segmentsCreating and editing road segments#Adjusting_road_geometry_Adjusting road geometry .28nodes.29|geometry node]] which will replace the junction node you delete, if that geometry node is not needed.
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 turns turn off of a freewaysfreeway.
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.

==== Fake ====
''(coming soon)''