# Changes

## Junction Style Guide

, 4 months ago
m
fixed forum link :/ double posted to forum and had deleted link
{{NeedImage}}<!--Editorial Reminders--><!--To Do - U-Turn Solutions for "Road not connected" error -->{{construction| contact =https://www.waze.com/forum/viewtopic.php?f= Simple is better 1636&t=283510| contacttype =forum| draft = no| open = no| revision = yes| talk = yes}}
When representing The following article contains key information on properly creating junctions (a.k.a. intersections, cross roads, corners, etc.) between roads, we sometimes have to blur and the lines roadways between the physical and logical worldsthem. The primary goal should be Be sure to represent things as simply as possible and only introduce complexity to deal with an issuereview it in its entirety before editing the map.
== The Basics &larr; START HERE ===== What Simple is a Junction? better ===A junction is made up of three things:# At least two roads# One or more places these roads meet (a junction node)# Turns allowed or restricted at those junction nodes
If you do not know how to create and modify When representing junctions, intersections, interchanges, cross roads, junctionscorners, or turnsetc., please read [[Map_Editing_Quick-start_Guide|the Map Editing Quick-start Guide]].=== Diverging Roads ===Lets start with Waze map does not need to perfectly match the very basic case of one road branching off from anotherlayouts it represents. Most of the time they will probably meet at close The primary goal is to a 90 degree angle. This is represent the simplest situation to deal with since real world as simply as possible in the physical maps and logical views of only introduce complexity in the roads match up very wellmaps to address complex issues.
: == The basics ==This guide requires a complete understanding of editing the maps with [[Image:Jct_3_90_ex.pngWaze Map Editor]] [[Image:Jct_3_90(WME).png]]
But you will probably find roads that meet at odd angles as well. Even in urban areas with rigid grids, you will often find at least one road that has existed since prior === Map editing 101 ===Although it is highly recommended to read the establishment of [[editing manual]] before touching the grid which cuts through town at strange angles. The initial urge will be to represent the junction as map, it is in 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- two lines running into each other at some angle.start Guide]]* [[Creating and editing road segments#Junctions|Moving and removing junctions]]
=== Junction definition ==={| class="Wikitable floatright"| [[Image: Junction_selected.png|50px|border]]| [[Image:Jct_3_45_ex1Uneditable_junction.png|50px|border]] | [[Image:Jct_3_45junction_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.
== 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 Review the mechanics of article [[Map_Editing_Quick-start_Guide#Turn_restrictions_.28allowed_turns.29|Junction Style Guide/Controlling turn restrictions]] in the Map Editor. If turns are not properly enabled and restricted, you will never get the instructions you desire. 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 controlling turn / keep / exit maneuversinstructions]] page, but a summary is provided in the sections below.=== Geometry === If all junctions you edit follow just for a few basic forms, it will be much easier to predict the behavior of an individual junction without getting into the details complete understanding of the back-end algorithms. * Approximately '''90''' degree departure angle = '''Turn'''* Between '''20 requirements and 30''' degree departure angle = '''Keep''' (or Exit for Ramps)* Approximately '''0''' degree departure angle = '''no navigation instruction''' These angles allow us to clearly depict the desired result (turn vsissues surrounding this topic. keep) while staying away from the angles that the routing algorithms use for decision making. For example, since 45 degrees is a trigger 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 human 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 every time we are editing, it is best to simply avoid situations where exactness would matter. 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|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]]== Surface Streets ==
But if we move one geometry node to create a === Intersections ==={| class="Wikitable floatright"| [[File:Jct 3 90.png|x100px|border]]| [[File:Jct 4 90 degree angle, now we would receive a .png|x100px|border]]| [[File:Jct ramp no geo.png|x100px|border]]|-| colspan="Turn Right3" instruction|[[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.
: In all cases it is important to configure these intersections properly. Detailed information is covered in the [[Image:Jct_at_grade_turn.pngJunction Style Guide/Intersections|Intersections]]article.{{clear}}
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.
=== Segment Naming and Type No Outlet Roads ===
Besides Roads which only have one way in and one way out can present challenges to the geometry of the road segmentsrouting server, the names and types of the segments come into playalthough they seem simple to our minds.
A basic rule of thumb is that if you want a turn to be announced, having a different name will improve the chances (but not guarantee!!!) that it will happen. In the case of the At-Grade Connector example above, the connector should either have a different name than the road it is leaving or no name at all (See the [[At-Grade_Connectors#How_to_name_the_connector|How to name the connector]] section of the At-Grade Connectors page).==== Dead Ends ====
=== Highway/Freeway Junctions ===These are junctions involving Within the three Highway/Freeway Map Editor it is possible to represent a dead end road types - Minor Highwaywith multiple segments if there are private driveways or parking lot roads mapped and connected. In that case, Major Highway, and Freeway -- as well as their Rampsonly the very last segment is considered the dead end segment.
Specific examples of how to handle common [[File:Jct dead end.png|left|border]]Make sure that there is a junction types are provided in later sections. All indicator (the small blue dot, not just a geometry node) at the very end of those examples build upon the basic building blocks provided heresegment.==== Highway/Freeway Exits ====It While this one segment does not actually constitute a junction, the small blue dot is considered a visual indicator to be a basic Exit situation when a "straight" direction the editor that the end of this segment is properly set up. This is obvious necessary to a driver and navigation instructions are only needed for ensure proper routing out of the non-straight direction (the exit)segment. If navigation instructions are required for both directions, see See the [[#Highway/Freeway_Splits|Highway/Freeway Splits]] Cul-de-sac section belowon when and how to fix this.===== 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[[File:Jct dead end ex.png|right|border|200px]]# The entering segment and one exiting segment This final junction indicator must be one located near the end of the three Highway/Freeway types# The Highway/Freeway exiting segment must have close road, but it should be located where there is still pavement as not to a zero degree departure angle from negatively impact client routes. Waze only considers the road fully traversed if both ends of the entering segment# The second exiting are fully crossed. If the junction indicator at the end of the segment must 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 type Ramp# The Ramp exiting the segment must had a departure angle the same distance from the end of between 20 and 30 degrees the pavement as it is from each side of the entering segmentroad.
With those conditions metsuch a placement, the driver is given a chance to cross that junction will present an "Exit Right/Left" navigation instruction when the ramp is used and will remain silent with no navigation instructions at all when using the Highway/Freeway exiting indicator for that segment.===== Naming =====The Highway/Freeway segments before and after Also check for the junction should be proper u-turn setting as covered in the same and the ramp segment should be named in accordance with [[Map Editing Quick-start Guide#U-Turns at the end of dead-end-streets|best practices in your locationarticle on u-turns]].
''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.
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 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]]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}}
{| 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 next cul-de-sac is perfectly fine , with a small island, should be treated as a basic dead endwith no loop. The small island should 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_exAs 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.png]]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|Loop]] . A good rule of thumb is if you were standing at the size end of the cul-de-sac, can you tell that it is truly significant. A Loop should primarily be used if problems with "Missing Road" errors occur. Remember if just a cul-de-sac? Or does it look like two different roads? If you see an island, but question are not sure if it is big enoughsignificant, when in doubt--leave it the Loop out. If "Missing Road" errors occur on the road, then add a Loop.
=== Loops ===
<gallery mode="packed-hover">
File:Jct loop bulb.png|terminal or dead-end loop
</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.
Loops are roads that you can enter and without turing around, end ==== Every loop must be made up at the same place you started.of three or more segments ====The important Map Editor rule we must follow is[[File: '''a road segment must ''Loop_3-part_6.jpg|right|150px]]Any loop that does not'' start and end on the same junction node'''. If follow this rule is not followed, can cause problems for the Waze routing server will have difficulty in providing routes into and out of the loopHopefully If there will be another roadway is no side-street, you must [[Map Editing Quick-start Guide#Splitting a segment|insert an extra junction node]] along the loop road which you can map, which . Many new editors will break see the loop into two pieces extra junction node(s), assume they are not needed, and avoid the problemdelete them. Please educate new editors. But if there are no interruptions to the loop and the entire loop is represented by one road segment that doubles back on itself, we have a problem
To properly handle this situation, we must [[Map_Editing_Quick====Two-segment loops====Two-start_Guide#Splitting_a_segment|insert segment loops create a superfluous situation called "same endpoint drivable segments" or "same connection segments". There are two or more ways to get from one junction node]] along the loop segmentto another without going through any other nodes. The specific location does not matter, but most people put it near They can cause a problem for the half-way point Waze app regardless of the segment and/direction, or opposite other attributes of the true junction 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 nodeto 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===={{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:
Here is a [http://www.youtube.com/watch?v=a7yAzG7HElw video on YouTube showing the second method].{{#widget:YouTube|id= Roundabouts and Traffic Circles ==a7yAzG7HElw}}
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.
Make sure you With exceptions, don't confuse set these segments for as ramps! And watch 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 ===
: [[Image:Jct_SPUI_all_turns.png]]=== Ramp and interchange style ===
'''Note For guidance on Levels:'''The two surface street segments (between the outer proper configuration of ramps , interchanges and connected to the Single Point) and the 4 ramp segments connected to the single point should all be the same levelwayfinders, either one higher or one lower than the level of the freeway segments abovesee [[Junction Style Guide/below the single pointInterchange]].
== 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:
# Road Direction changes
# Part of a [[#Loops|Loop Road]]
# 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 exiting Transition existing transition nodes on the map for other reasons (left over like remaining after a connecting road was is deleted, due to inherited from the original base map import when things such as 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 ease reduce computing resources needed to calculate routes in the arearesource 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.
=== Roads to Nowhere ===
''(coming soon)''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''(coming soon)''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.==== Fake ====''(coming soon)''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 ===
[[Image:Jct_4_offset.png|left|x150px|border]]Sometimes you will find two roads which cross , where one does not quite line up exactly from one side to with the other.
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_offsetJct_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}}
There are [[Image:Jct_4_offset_sep_ex.png|left|x150px|border]]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 few things we need 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 look at shift the side roads as far apart from each other as possible with them still in this situationthe 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.
# 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 only done while zoomed in very close.<br/>[[Image:Jct_4_offset_align.png]] [[ImageCategory:Jct_4_offset_align_ex.pngStyle Guide]]<br/># 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 which 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.<br /> [[ImageCategory:Jct_4_offset_sep_ex.pngTable examples]]