Interactive junction instruction algorithm: Difference between revisions View history

m (added that continue only occurs when TIO added in WME)
 
(9 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Construction | contact=http://www.waze.com/forum/ucp.php?i=pm&mode=compose&u=PesachZ | contacttype=user | open=no | draft=no}}
This is a clickable interactive guide to determine what instruction, if any, will be given at the junction between any 2 segments.
This is a clickable interactive guide to determine what instruction, if any, will be given at the junction between any 2 segments.


A text version of this information is [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|available here]].
A text version of this information is [[How_Waze_determines_turn_/_keep_/_exit_maneuvers|available here]].
There will eventually be encyclopedia style illustrations for all the various configurations to visually describe the setup.


== Introduction ==
== Introduction ==
Understanding how and which instructions are provided requires first understanding a few concepts.
Understanding how and which instructions are provided requires first understanding a few concepts.
* This page is discussing the instruction which will be provided by the Waze server (or not provided) when traveling from one segment, through a [[Glossary#Junction_or_Junction_Point|junction]], and onto a second segment.
* This page discusses the instruction which will be provided (or not provided) by the Waze server when traveling from one segment, through a [[Glossary#Junction_or_Junction_Point|junction]], and onto a second segment.
* How [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Best Continuation|''Best Continuations'']] work. Any time the destination segment is the ''Best Continuation'' there will not be an instruction provided.
* How [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Best Continuation|''best continuations'']] work. Any time the destination segment is the ''best continuation'' no instruction will be provided by default.
* The lack of an instruction to the best continuation, as well as other default behaviors, can be overridden by the use of [[turn instruction override]]s.


While the illustrations displayed by each question may not represent every possible variation, they do represent the difference between the two options in that question. Please choose the most appropriate answer.
While the illustrations displayed by each question may not represent every possible variation, they do represent the difference between the two options in that question. Please choose the most appropriate answer.


== Definitions ==
== Definitions ==
* '''ORIGIN:''' The segment you are on before going through the junction, in other words the segment you are coming from will be referred to as '''''the origin''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-in'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_of_conditions|the algorithm text provided by Waze staff]].
* '''Origin:''' The segment you are on before going through the junction, in other words the segment you are coming from will be referred to as '''''the origin''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-in'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_of_conditions|the algorithm text provided by Waze staff]].
** In terms of navigation, the segment you are being routed <u>from</u> is '''''the origin'''''.
** In terms of navigation, the segment you are being routed <u>from</u> is '''''the origin'''''.
* '''DESTINATION:''' The segment you will be on after the junction, in other words the segment you are going to will be referred to as '''''the destination''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-out'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_of_conditions|the algorithm text provided by Waze staff]].
* '''Destination:''' The segment you will be on after the junction, in other words the segment you are going to will be referred to as '''''the destination''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-out'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_of_conditions|the algorithm text provided by Waze staff]].
** In terms of navigation, the segment you are being routed <u>on to</u> is '''''the destination'''''.
** In terms of navigation, the segment you are being routed <u>on to</u> is '''''the destination'''''.
* '''BRANCH:''' Any segments other than ''the destination'' which leave the junction at an angle less than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}} will be referred to as '''''other branches''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-N'', or ''s-1,2,3,4...'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_o,f_conditions|the algorithm text provided by Waze staff]].
* '''Branch:''' Any segments other than ''the destination'' which leave the junction at an angle less than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}} will be referred to as '''''other branches''''', and corresponds to [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#Definitions|''s-N'', or ''s-1,2,3,4...'']] in the [[How_Waze_determines_turn_/_keep_/_exit_maneuvers#The_algorithm_.2F_list_o,f_conditions|the algorithm text provided by Waze staff]].
* '''OVERLAPPING:''' When the beginning portion two segments are directly on top of each other, meaning they both leave the junction at the exact same angle as each other, they will be referred to as an '''''overlapping segment'''''.
* '''Overlapping:''' When the beginning portion two segments are directly on top of each other, meaning they both leave the junction at the exact same angle as each other, they will be referred to as '''''overlapping segments.'''''
* '''HIGHWAY:''' Any road typed in Waze as a {{Freeway}}, {{Major Highway}}, or {{Minor Highway}}, will be referred to in this page as a '''[[Road types#Highways|highway]]'''.
* '''Highway:''' Any road typed in Waze as a {{Freeway}}, {{Major Highway}}, or {{Minor Highway}}, will be referred to in this page as a '''[[Road types#Highways|highway]]'''.
* {{anchor|Turn angle}}'''TURN ANGLE:''' The '''''turn angle''''' is the angle from ''the origin'' to ''the destination''. A perfectly straight road with a junction in the middle would have a turn angle of 0°. The angle then gets wider as you turn to either side. A perfect left or right turn would be 90°. A U-turn at a junction between two segments would represent a 180° turn.
* {{anchor|Turn angle}}'''Turn angle:''' The '''''turn angle''''' is the angle from ''the origin'' to ''the destination''. A perfectly straight road with a junction in the middle would have a turn angle of 0°. The angle then gets wider as you turn to either side. A perfect left or right turn would be 90°. A U-turn at a junction between two segments would represent a 180° turn.
:{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
:{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=3 | Turn Angles
! scope="col" colspan=3 | Turn Angles
Line 29: Line 27:
| [[File:Turn_angle_geo_line.png|200px|center]]
| [[File:Turn_angle_geo_line.png|200px|center]]
|-
|-
| Standard Turn Angle
| Standard turn angle
| 37° Angle
| 37° angle
| 90° Dogleg Geometry Node
| 90° dogleg
|}
|}
*'''NO-NAME Segments:''' A segment with no name (the "none" check-box for street name is checked) is considered to have "no-name" as a name for the Best Continuation algorithm. So two segments with no name, will be considered to have identical names, even if they would inherit different names for TTS.
*'''No-name segments:''' A segment with no name (the "none" check-box for street name is checked) is considered to have "no-name" as a name for the Best Continuation algorithm. So two segments with no name, will be considered to have identical names, even if they would inherit different names for TTS.
* {{Anchor|roundabout angle}}'''ROUNDABOUT ANGLE:''' The '''''Roundabout angle''''' is the angle of any segment connected to the roundabout from the perspective of ''the origin''. The actual ''turn angle'' of the segments is irrelevant.<br>To explain;
* {{Anchor|roundabout angle}}'''Roundabout angle:''' The '''''roundabout angle''''' is the angle of any segment connected to the roundabout from the perspective of ''the origin''. The actual ''turn angle'' of the segments is irrelevant.<br>To explain;
** Draw an imaginary line straight through the roundabout to the other side of the roundabout from junction node where ''the origin'' joins the roundabout. This will represent a 0° '''''Roundabout angle''''', any deviation to the right or left will increase the angle.
** Draw an imaginary line straight through the roundabout to the other side of the roundabout from junction node where ''the origin'' joins the roundabout. This will represent a 0° '''''roundabout angle''''', any deviation to the right or left will increase the angle.
** Draw another imaginary line across the roundabout exactly perpendicular to the first imaginary line. This will represent a 90° '''''Roundabout angle''''' to either side.
** Draw another imaginary line across the roundabout exactly perpendicular to the first imaginary line. This will represent a 90° '''''roundabout angle''''' to either side.
** For more info see the [[Roundabouts#Understanding_navigation_instructions|roundabouts page]]
** For more info see the [[Roundabouts#Understanding_navigation_instructions|roundabouts page]]


Line 53: Line 51:
== Directions ==
== Directions ==
To use this interactive flowchart;
To use this interactive flowchart;
:* Start with the [[#01|first question]] in [[#The_interactive_algorithm|The Interactive Algorithm]].
:* Start with the [[#01|first question]] in [[#The_interactive_algorithm|the interactive algorithm]].
:* Click on the appropriate answer which best matches your situation. A new question will jump to the top of the screen
:* Click on the appropriate answer which best matches your situation. A new question will jump to the top of the screen
:* Continue answering the questions until an [[#The_instructions|instruction]] is displayed at the top of the screen.
:* Continue answering the questions until an [[#The_instructions|instruction]] is displayed at the top of the screen.
Line 78: Line 76:


== The interactive algorithm ==
== The interactive algorithm ==
{| style="float: right; color:lightgray; font-size:65%; "
| (31)
|}
{{anchor|31}}Is voice prompt set to '''Waze Selected'''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#32|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#The_navigation_instructions|<span style="color:white">NO: A turn instruction override is set. See the navigation instructions</span>]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (32)
|}
{{anchor|32}}Is the origin completely inside a [[junction box]]?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[Junction box#Voice prompt|YES => Junction box routes with turn instruction overrides suppress further instructions inside the junction box.]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#30|<span style="color:white">NO</span>]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
{| style="float: right; color:lightgray; font-size:65%; "
| (30)
| (30)
|}
|}


{{anchor|30}}Is the Turn angle from ''the origin'' to the ''the destination'' greater than 170°?
{{anchor|30}}Is the turn angle from ''the origin'' to the ''the destination'' greater than 170°?




Line 122: Line 162:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|<span style="color:white">NO => No Instruction</span>]]
! scope="col" bgcolor="orangered" | '''[[#No_instruction|<span style="color:white">NO => No instruction</span>]]
|}
|}


Line 131: Line 171:
|}
|}


{{anchor|19}}Do ''the origin'' and ''the destination'' meet at a [[Roundabouts|Roundabout]]?
{{anchor|19}}Do ''the origin'' and ''the destination'' meet at a [[Roundabouts|roundabout]]?




Line 185: Line 225:
|}
|}


{{mbox|type=speculation|text='''SPECULATION NOTE:''' ''This is unconfirmed'' Turns with angles greater than 150° will follow the same instruction path as [[#03|{{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Turn threshold}}-150°]], but the Waze routing server will penalize this turn, and avoid routing through it.}}
{{mbox|type=speculation|text='''Speculation note:''' ''This is unconfirmed'' Turns with angles greater than 150° will follow the same instruction path as [[#03|{{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Turn threshold}}-150°]], but the Waze routing server will penalize this turn, and avoid routing through it.}}




Line 201: Line 241:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#Turn_Left|Left => Turn Left]]'''
! scope="col" | '''[[#Turn_left|Left => Turn left]]'''
|}
|}


Line 208: Line 248:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#Turn_Right|Right => Turn Right]]'''
! scope="col" | '''[[#Turn_right|Right => Turn right]]'''
|}  
|}  


Line 228: Line 268:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | ''' [[#No_Instruction|<span style="color:white">NO => No Instruction</span>]]'''
! scope="col" bgcolor="orangered" | ''' [[#No_instruction|<span style="color:white">NO => No instruction</span>]]'''
|}  
|}  


Line 263: Line 303:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#No_Instruction|YES => No Instruction]]'''
! scope="col" bgcolor="lawngreen" | '''[[#No_instruction|YES => No instruction]]'''
|}
|}


Line 329: Line 369:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|<span style="color:white">NO => No Instruction</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#No_instruction|<span style="color:white">NO => No instruction</span>]]'''
|}
|}


Line 389: Line 429:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Right|<span style="color:white">NO => Keep/Stay Right</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Keep.2Fstay_right|<span style="color:white">NO => Keep/stay right</span>]]'''
|}
|}


Line 423: Line 463:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Left|YES => Keep/Stay Left]]'''
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2Fstay_left|YES => Keep/stay left]]'''
|}
|}


Line 429: Line 469:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Left|<span style="color:white">NO => Exit Left</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Exit_left|<span style="color:white">NO => Exit left</span>]]'''
|}
|}


Line 449: Line 489:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Left|<span style="color:white">NO => Keep/Stay Left</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Keep.2Fstay_left|<span style="color:white">NO => Keep/stay left</span>]]'''
|}
|}


Line 463: Line 503:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Left|YES => Keep/Stay Left]]'''
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2Fstay_left|YES => Keep/stay left]]'''
|}
|}


Line 469: Line 509:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Left|<span style="color:white">NO => Exit Left</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Exit_left|<span style="color:white">NO => Exit left</span>]]'''
|}
|}


Line 489: Line 529:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|<span style="color:white">NO => No Instruction</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#No_instruction|<span style="color:white">NO => No instruction</span>]]'''
|}
|}


Line 549: Line 589:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|<span style="color:white">NO => No Instruction</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#No_instruction|<span style="color:white">NO => No instruction</span>]]'''
|}
|}


Line 569: Line 609:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Left|<span style="color:white">NO => Keep/Stay Left</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Keep.2Fstay_left|<span style="color:white">NO => Keep/stay left</span>]]'''
|}
|}


Line 603: Line 643:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Right|YES => Keep/Stay Right]]'''
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2Fstay_right|YES => Keep/stay right]]'''
|}
|}


Line 609: Line 649:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Right|<span style="color:white">NO => Exit Right</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Exit_right|<span style="color:white">NO => Exit right</span>]]'''
|}
|}


Line 629: Line 669:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Right|<span style="color:white">NO => Keep/Stay Right</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Keep.2Fstay_right|<span style="color:white">NO => Keep/stay right</span>]]'''
|}
|}


Line 643: Line 683:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Right|YES => Keep/Stay Right]]'''
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2Fstay_right|YES => Keep/stay right]]'''
|}
|}


Line 649: Line 689:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Right|<span style="color:white">NO => Exit Right</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#Exit_right|<span style="color:white">NO => Exit right</span>]]'''
|}
|}


Line 666: Line 706:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lawngreen" | '''[[#At the Roundabout Take the #xx Exit|YES => At the Roundabout Take the #xx Exit]]'''
! scope="col" bgcolor="lawngreen" | '''[[#At the roundabout take the #xx exit|YES => At the roundabout take the #xx exit]]'''
|}
|}


Line 693: Line 733:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#At the Roundabout Take the #xx Exit|<span style="color:white">NO => At the Roundabout Take the #xx Exit</span>]]'''
! scope="col" bgcolor="orangered" | '''[[#At the roundabout take the #xx exit|<span style="color:white">NO => At the roundabout take the #xx exit</span>]]'''
|}
|}


Line 707: Line 747:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#At the Roundabout Turn Left|Left => At the Roundabout Turn Left]]'''
! scope="col" | '''[[#At the roundabout turn left|Left => At the roundabout turn left]]'''
|}
|}


Line 713: Line 753:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#At the Roundabout Continue Straight|Straight => At the Roundabout Continue Straight]]'''
! scope="col" | '''[[#At the roundabout continue straight|Straight => At the roundabout continue straight]]'''
|}
|}


Line 719: Line 759:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#At the Roundabout Turn Right|Right => At the Roundabout Turn Right]]'''
! scope="col" | '''[[#At the roundabout turn right|Right => At the roundabout turn right]]'''
|}
|}


Line 725: Line 765:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" | '''[[#At the Roundabout Make a U-Turn|U Turn, Back => At the Roundabout Make a U Turn]]'''
! scope="col" | '''[[#At the roundabout make a U-turn|U Turn, Back => At the roundabout make a U-turn]]'''
|}  
|}  


Line 732: Line 772:


== The navigation instructions ==
== The navigation instructions ==
=== No Instruction ===
=== No instruction ===
There will be '''no instruction''' given passing through this junction.
This can be caused by the ''best continuation'' or certain cases with an ''overlapping segment''.
It may also be set using the [[turn instruction override]] '''None'''.


<br />
<br />
<br />


There will be '''No instruction''' given passing through this junction.
This can be caused by several factors including
* ''Best Continuation''
* Certain cases with an ''overlapping segment''
* The instruction would be Continue Straight (this doesn't yet exist in the client application - unless added in WME as a Turn instruction override)


----


=== Continue straight===
This must be set manually by the turn instruction override '''Continue''' and is never automatically selected.
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 749: Line 793:
|-
|-
| [[File:Big_direction_forward.png|50px]]
| [[File:Big_direction_forward.png|50px]]
| Not<br/>Available<br/>in Client<br/>App
| [[File:Nav icon continue straight.jpg|50px]]
|}
|}


Line 759: Line 803:
----
----


=== Turn Right ===
=== Turn right ===
 
This may be set manually by a turn instruction override.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 780: Line 823:




=== Keep/Stay Right ===
=== Keep/stay right ===
 
This may be set manually by the turn instruction override '''Keep right'''.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 801: Line 843:




=== Exit Right ===
=== Exit right ===
 
This may be set manually by a turn instruction override and is never automatically selected in [[LHT|left hand traffic]] countries.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 814: Line 855:
|}
|}


:::<small>'''NOTE:
:::* In a [[LHT|left hand traffic]] country this instruction does not exist''', and will instead give a [[#Keep/Stay_Right|Keep/Stay_Right]] instruction.
:::* You will only get an Exit instruction on a turn angle less than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}, because it is assumed no true exit would have a turn sharper than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}.</small>


<br />
<br />
<br />
<br />
<br />
<br />


----
----


 
=== Turn left ===
=== Turn Left ===
This may be set manually by a turn instruction override.
 
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 847: Line 883:




=== Keep/Stay Left ===
=== Keep/stay left ===
 
This may be set manually by the turn instruction override '''Keep left'''.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 868: Line 903:




=== Exit Left ===
=== Exit left ===
 
This may be set manually by a turn instruction override and is never automatically selected in [[RHT|right hand traffic]] countries.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons
Line 880: Line 914:
| [[File:Nav icon keep left.JPG|50px]]
| [[File:Nav icon keep left.JPG|50px]]
|}
|}
:::<small>'''NOTE:
:::* In a [[RHT|right hand traffic]] country this instruction does not exist''', and will instead give a [[#Keep/Stay_Left|Keep/Stay_Left]] instruction.
:::* You will only get an Exit instruction on a turn angle less than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}, because it is assumed no true exit would have a turn sharper than {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}.</small>


<br />
<br />
Line 893: Line 922:
----
----


 
=== At the roundabout take the #xx exit ===
=== At the Roundabout Take the #xx Exit ===




Line 928: Line 956:
----
----


=== At the Roundabout Turn Left ===
=== At the roundabout turn left ===




Line 950: Line 978:




=== At the Roundabout Turn Right ===
=== At the roundabout turn right ===




Line 971: Line 999:
----
----


=== At the Roundabout Continue Straight ===
=== At the roundabout continue straight ===




Line 992: Line 1,020:
----
----


=== At the Roundabout Make a U-Turn ===
=== At the roundabout make a U-turn ===




Line 1,016: Line 1,044:


=== Make a U-turn ===
=== Make a U-turn ===
 
This may be manually set by the turn instruction override '''U-turn'''.
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Displayed Icons
! scope="col" colspan=2 | Displayed Icons

Latest revision as of 17:59, 16 September 2021

This is a clickable interactive guide to determine what instruction, if any, will be given at the junction between any 2 segments.

A text version of this information is available here.

Introduction

Understanding how and which instructions are provided requires first understanding a few concepts.

  • This page discusses the instruction which will be provided (or not provided) by the Waze server when traveling from one segment, through a junction, and onto a second segment.
  • How best continuations work. Any time the destination segment is the best continuation no instruction will be provided by default.
  • The lack of an instruction to the best continuation, as well as other default behaviors, can be overridden by the use of turn instruction overrides.

While the illustrations displayed by each question may not represent every possible variation, they do represent the difference between the two options in that question. Please choose the most appropriate answer.

Definitions

  • Origin: The segment you are on before going through the junction, in other words the segment you are coming from will be referred to as the origin, and corresponds to s-in in the the algorithm text provided by Waze staff.
    • In terms of navigation, the segment you are being routed from is the origin.
  • Destination: The segment you will be on after the junction, in other words the segment you are going to will be referred to as the destination, and corresponds to s-out in the the algorithm text provided by Waze staff.
    • In terms of navigation, the segment you are being routed on to is the destination.
  • Branch: Any segments other than the destination which leave the junction at an angle less than 45.04° will be referred to as other branches, and corresponds to s-N, or s-1,2,3,4... in the the algorithm text provided by Waze staff.
  • Overlapping: When the beginning portion two segments are directly on top of each other, meaning they both leave the junction at the exact same angle as each other, they will be referred to as overlapping segments.
  • Highway: Any road typed in Waze as a  Freeway ,  Major Highway , or  Minor Highway , will be referred to in this page as a highway.
  • Turn angle: The turn angle is the angle from the origin to the destination. A perfectly straight road with a junction in the middle would have a turn angle of 0°. The angle then gets wider as you turn to either side. A perfect left or right turn would be 90°. A U-turn at a junction between two segments would represent a 180° turn.
Turn Angles
Standard turn angle 37° angle 90° dogleg
  • No-name segments: A segment with no name (the "none" check-box for street name is checked) is considered to have "no-name" as a name for the Best Continuation algorithm. So two segments with no name, will be considered to have identical names, even if they would inherit different names for TTS.
  • Roundabout angle: The roundabout angle is the angle of any segment connected to the roundabout from the perspective of the origin. The actual turn angle of the segments is irrelevant.
    To explain;
    • Draw an imaginary line straight through the roundabout to the other side of the roundabout from junction node where the origin joins the roundabout. This will represent a 0° roundabout angle, any deviation to the right or left will increase the angle.
    • Draw another imaginary line across the roundabout exactly perpendicular to the first imaginary line. This will represent a 90° roundabout angle to either side.
    • For more info see the roundabouts page
Roundabouts
Normal Non-Normal

All other segments are within the allowed ±15° from either 0° or 90°. Not all other segments are within the allowed ±15° from either 0° or 90°.

Directions

To use this interactive flowchart;

  • Start with the first question in the interactive algorithm.
  • Click on the appropriate answer which best matches your situation. A new question will jump to the top of the screen
  • Continue answering the questions until an instruction is displayed at the top of the screen.
  • This is the instruction that the Waze server should give when transversing this junction between the two segments you described as the origin and the destination.
As of September 2014 This algorithm was changed to also factor in alternate names. This algorithm is still correct when none of the segments have alternate names. If there are alternate names on any of the segments there are a few modifications (in bold).
  • The order of preference for Best Continuation is;
  1. Primary name + Type match
  2. Alt name + Type match
  3. Primary name match, OR Primary name <=> Alt name Cross-match
  4. Alt name match
  5. Type match
  • City names have no affect on matches.

A Cross-match is when the primary name of one segment is identical to the alternate name of an adjacent segment. It had the same priory as a Primary name match.

  • In order for a Cross match to work there must be at least one alt name on both involved segments (even though they don't necessarily match each other).
  • It will work even if the are no Primary names on those segments.
  • It will not work if all three segments at a split have a matching Primary name or a matching Alternate name.

An Alt match is when two adjacent segments have an identical alternate name (regardless of city name).

  • It will not work if all three segments at a split have a matching Primary name.
  • It will work even the OUT segment (the one leaving the split) has no Primary name.
Bring up comments or questions on this page in this forum .
~PesachZ (PM [Help])  

The interactive algorithm

(31)

Is voice prompt set to Waze Selected?


YES


NO: A turn instruction override is set. See the navigation instructions



(32)

Is the origin completely inside a junction box?


YES => Junction box routes with turn instruction overrides suppress further instructions inside the junction box.


NO



(30)

Is the turn angle from the origin to the the destination greater than 170°?


YES => Make a U-turn


NO



(01)

Other than the origin and the destination, are there any other segments connected to this junction?


intersection At Grade Connector At Grade Connector

YES


dead end cul-de-sac dead end continue junction turn junction


NO => No instruction



(19)

Do the origin and the destination meet at a roundabout?


Round about street round about MH mH round about ramps

YES


intersection bowtie

NO



(02)

Is the turn angle from the origin to the destination between 45.14° and 150°?


YES


NO, the turn angle is less 45.04°


NO, the turn angle is greater than 150°
Speculation note: This is unconfirmed Turns with angles greater than 150° will follow the same instruction path as 45.14°-150°, but the Waze routing server will penalize this turn, and avoid routing through it.



(03)

Which direction is the turn?


Left => Turn left


Right => Turn right



(04)

Are there any other branches with unrestricted turns from the origin?


YES


NO => No instruction



(13)

Is there more than one (1) other branch?


YES


NO



(14)

Are the two branches (the destination and the other branch) overlapping?


YES => No instruction


NO



(05)

Is the name of the origin and the destination identical?


YES


NO



(06)

Are the origin and the destination the same road type?


YES


NO



(07)

Are both the name AND the road type of any of the other branches identical to the origin?


YES


NO => No instruction



(08)

Is there any other branch to the left of the destination branch?


YES


NO



(20)

Is this an overlapping segment, is it overlapped by any other branch?


YES


NO



(25)

Are the segments in a right hand traffic country (such as the USA)?


YES


NO => Keep/stay right



(21)

Is the origin a highway? ( Freeway ,  Major Highway , or  Minor Highway )


YES


NO



(22)

Is the destination a highway? ( Freeway ,  Major Highway , or  Minor Highway )


YES => Keep/stay left


NO => Exit left



(23)

Is the origin a  Ramp ?


YES


NO => Keep/stay left



(24)

Is the destination a highway ( Freeway ,  Major Highway , or  Minor Highway ), or a  Ramp ?


YES => Keep/stay left


NO => Exit left



(09)

Is the name of any of the other branches identical to the origin?


YES


NO => No instruction



(10)

Are the origin and the destination the same road type?


YES


NO



(11)

Is the name of any of the other branches identical to the origin?


YES


NO



(12)

Is the road type of any of the other branches identical to the origin?


YES


NO => No instruction



(26)

Are the segments in a left hand traffic country (like the UK)?


YES


NO => Keep/stay left



(15)

Is the origin a highway? ( Freeway ,  Major Highway , or  Minor Highway )


YES


NO



(16)

Is the destination a highway? ( Freeway ,  Major Highway , or  Minor Highway )


YES => Keep/stay right


NO => Exit right



(17)

Is the origin a  Ramp ?

YES


NO => Keep/stay right



(18)

Is the destination a highway ( Freeway ,  Major Highway , or  Minor Highway ), or a  Ramp ?


YES => Keep/stay right


NO => Exit right



(27)

Are there five (5) or more segments (junctions) connected to the roundabout?

more than 4 nodes not normal angles more than 4 nodes

YES => At the roundabout take the #xx exit


4 nodes

NO



(28)

From the perspective of the origin, are the roundabout angles to all the other segments between 0°-15°, or 75°-105°?


YES


NO => At the roundabout take the #xx exit



(29)

What direction is the destination relative to the origin?


Left => At the roundabout turn left


Straight => At the roundabout continue straight


Right => At the roundabout turn right


U Turn, Back => At the roundabout make a U-turn



The navigation instructions

No instruction

There will be no instruction given passing through this junction. This can be caused by the best continuation or certain cases with an overlapping segment. It may also be set using the turn instruction override None.






Continue straight

This must be set manually by the turn instruction override Continue and is never automatically selected.

Displayed Icons
Livemap
& WME
Client App






Turn right

This may be set manually by a turn instruction override.

Displayed Icons
Livemap
& WME
Client App







Keep/stay right

This may be set manually by the turn instruction override Keep right.

Displayed Icons
Livemap
& WME
Client App







Exit right

This may be set manually by a turn instruction override and is never automatically selected in left hand traffic countries.

Displayed Icons
Livemap
& WME
Client App







Turn left

This may be set manually by a turn instruction override.

Displayed Icons
Livemap
& WME
Client App







Keep/stay left

This may be set manually by the turn instruction override Keep left.

Displayed Icons
Livemap
& WME
Client App







Exit left

This may be set manually by a turn instruction override and is never automatically selected in right hand traffic countries.

Displayed Icons
Livemap
& WME
Client App






At the roundabout take the #xx exit

The "#xx" will be 1st, 2nd, 3rd, etc.. The counting starts from the origin.


Displayed Icons
Livemap
& WME
Client App

NOTE: In the client app there will be a digit inside the circle representing which number exit you must take (starting from the origin).

If the roundabout is not formed correctly (more than one entering/exiting segment connected to same roundabout node), you may get an instruction "at the roundabout, exit number 0" with a partial verbal instruction.







At the roundabout turn left

Displayed Icons
Livemap
& WME
Client App








At the roundabout turn right

Displayed Icons
Livemap
& WME
Client App







At the roundabout continue straight

Displayed Icons
Livemap
& WME
Client App







At the roundabout make a U-turn

Displayed Icons
Livemap
& WME
Client App

NOTE: Currently this is only displayed in the client, but there is no verbal instruction (due to a bug).







Make a U-turn

This may be manually set by the turn instruction override U-turn.

Displayed Icons
Livemap
& WME
Client App
























this space intentionally left blank