Interactive junction instruction algorithm: Difference between revisions View history

 
(71 intermediate revisions by 8 users 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 [[User:PesachZ/algorithm|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 [[User:PesachZ/algorithm#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 ==
* 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 [[User:PesachZ/algorithm#Definitions|''s-in'']] in the [[User:PesachZ/algorithm#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'''''.
* 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 [[User:PesachZ/algorithm#Definitions|''s-out'']] in the [[User:PesachZ/algorithm#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'''''.
* Any segments other ''the destination'' which leave the junction at an angle less than 44° will be referred to as '''''other branches''''', and corresponds to [[User:PesachZ/algorithm#Definitions|''s-N'', or ''s-1,2,3,4...'']] in the [[User:PesachZ/algorithm#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]].
* 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.'''''
* Any road typed in Waze as a {{Freeway}}, {{Major Highway}}, or {{Minor Highway}}, will be referred to in this page as a '''[[Road_types/USA#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]]'''.
* 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 is 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.
{{NeedInfo|insert turn angle diagram, and illustrations (after determining the absolute threshold between keep and turn instructions in testing now)}}
:{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
{{Anchor|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;
! scope="col" colspan=3 | Turn Angles
** 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.
| [[File:Turn angle.png|200px|center]]
** For more info see the [[Roundabouts/USA#Understanding_navigation_instructions|roundabouts page]]
| [[File:Turn_angle_37.png|200px|center]]
| [[File:Turn_angle_geo_line.png|200px|center]]
|-
| 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.
* {{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 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]]


{| 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 | Roundabouts
! scope="col" colspan=2 | Roundabouts
|-
|-
|Normal||Abnormal
|Normal||Non-Normal
|-
|-
|[[File:Roundabout 3 normal.png|300px]]||
|[[File:Roundabout 3 normal.png|301px]]||
[[File:Roundabout 3 abnormal.png|300px]]
[[File:Roundabout 3 non-normal.png|301px]]
|-
|-
|All other segments are within the allowed ±15° from either 0° or 90°.
|All other segments are within the allowed ±15° from either 0° or 90°.
Line 42: 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.
:* 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''.
:* 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''.
{{Mbox|type=caution|text={{As of|2014|09}} 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;
# Primary name + Type match
# '''Alt name + Type match'''
# Primary name match,''' OR Primary name <=> Alt name Cross-match'''
# '''Alt name match'''
# 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.
{{ForumLink|forum=http://www.waze.com/forum/viewtopic.php?f=276&t=91105&p=894147#p892470}}
~{{User:PesachZ/User}}}}


== 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%; "
| (30)
|}
{{anchor|30}}Is the turn angle from ''the origin'' to the ''the destination'' greater than 170°?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#Make a U-turn|YES => Make a U-turn]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#01|<span style="color:white">NO</span>]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
{| style="float: right; color:lightgray; font-size:65%; "
| (01)
| (01)
Line 56: Line 146:




[[File:Jct 4 90.png|border|x100px|frameless|intersection]] [[File:Jct at grade keep.png|border|x100px|At Grade Connector]] [[File:Turn right AGC no arrow.JPG|border|x100px|At Grade Connector]]
[[File:Jct 4 90.png|border|x100px|frameless|intersection]] [[File:Jct at grade keep.png|border|x100px|At Grade Connector]] [[File:Turn right AGC no arrow.JPG|border|x100px|At Grade Connector]]
[[File:3-way turn junction.png|border|100px]]


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


Line 80: Line 171:
|}
|}


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




Line 98: Line 189:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#02|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#02|<span style="color:white">NO</span>]]'''
|}  
|}  


Line 107: Line 198:
|}
|}


{{anchor|02}}Is the turn angle from ''the origin'' to ''the destination'' between 44.5° and 135°?
{{anchor|02}}Is the turn angle from ''the origin'' to ''the destination'' between {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Turn threshold}} and 150°?




Line 125: Line 216:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#04|NO, the turn angle is less 44.5°]]'''
! scope="col" bgcolor="orangered" | '''[[#04|<span style="color:white">NO, the turn angle is less {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}</span>]]'''
|}  
|}  


Line 131: Line 222:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="lightgray" | '''[[#03|{{red|NO, the turn angle is greater than 135°}}]]'''
! scope="col" bgcolor="lightgray" | '''[[#03|{{red|NO, the turn angle is greater than 150°}}]]'''
|}
|}


:'''NOTE:''' Turns with angles greater than 135° will follow the same instruction path as [[#03|44.5°-135°]], 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 150: 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 157: 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 177: Line 268:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | ''' [[#No_Instruction|NO => No Instruction]]'''
! scope="col" bgcolor="orangered" | ''' [[#No_instruction|<span style="color:white">NO => No instruction</span>]]'''
|}  
|}  


Line 186: Line 277:
|}
|}


{{anchor|13}}Is there more than one (1) ''other branch''?
{{anchor|13}}Is there more than one (1) {{H:title|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|
other branch}}?




Line 197: Line 289:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#14|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#14|<span style="color:white">NO</span>]]'''
|}
|}


Line 211: 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 217: Line 309:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#05|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#05|<span style="color:white">NO</span>]]'''
|}
|}


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


Line 257: Line 349:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#09|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#09|<span style="color:white">NO</span>]]'''
|}
|}


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


Line 286: Line 378:
|}
|}


{{anchor|08}}Is there any ''other branch'' to the left of this branch?
{{anchor|08}}Is there any ''other branch'' to the left of the destination branch?




Line 297: Line 389:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#20|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#20|<span style="color:white">NO</span>]]'''
|}
|}


Line 317: Line 409:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#26|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#26|<span style="color:white">NO</span>]]'''
|}
|}


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


Line 346: Line 438:
|}
|}


{{anchor|21}}Is ''the origin'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{{anchor|21}}Is ''the origin'' a [[Road types#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})




Line 357: Line 449:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#23|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#23|<span style="color:white">NO</span>]]'''
|}
|}


Line 366: Line 458:
|}
|}


{{anchor|22}}Is ''the destination'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{{anchor|22}}Is ''the destination'' a [[Road types#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})




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


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


Line 406: Line 498:
|}
|}


{{anchor|24}}Is ''the destination'' a [[Road_types/USA#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?
{{anchor|24}}Is ''the destination'' a [[Road types#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?




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


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


Line 457: Line 549:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#08|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#08|<span style="color:white">NO</span>]]'''
|}
|}


Line 477: Line 569:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#12|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#12|<span style="color:white">NO</span>]]'''
|}
|}


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


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


Line 526: Line 618:
|}
|}


{{anchor|15}}Is ''the origin'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{{anchor|15}}Is ''the origin'' a [[Road types#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})




Line 537: Line 629:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#17|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#17|<span style="color:white">NO</span>]]'''
|}
|}


Line 546: Line 638:
|}
|}


{{anchor|16}}Is ''the destination'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{{anchor|16}}Is ''the destination'' a [[Road types#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})




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


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


Line 586: Line 678:
|}
|}


{{anchor|18}}Is ''the destination'' a [[Road_types/USA#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?
{{anchor|18}}Is ''the destination'' a [[Road types#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?




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


Line 608: Line 700:
{{anchor|27}}Are there five (5) or more segments ([[Glossary#Junction|junctions]]) connected to the roundabout?
{{anchor|27}}Are there five (5) or more segments ([[Glossary#Junction|junctions]]) connected to the roundabout?


[[File:Abnormal roundabout 1.JPG|100px|border|more than 4 nodes]]
[[File:Abnormal roundabout 2.JPG|100px|border|not normal angles]]
[[File:Abnormal roundabout 3.JPG|100px|border|more than 4 nodes]]


{| 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]]'''
|}
|}




[[File:Normal roundabout 1.JPG|100px|border|4 nodes]]
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#28|NO]]'''
! scope="col" bgcolor="orangered" | '''[[#28|<span style="color:white">NO</span>]]'''
|}
|}


Line 637: Line 733:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#At the Roundabout Take the #xx Exit|NO => At the Roundabout Take the #xx Exit]]'''
! 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 651: 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 657: 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 663: 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 669: 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 676: 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)


----


=== 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 693: 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 703: 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 725: 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 746: 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 759: 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 45°, because it is assumed no true exit would have a turn sharper than 45°.</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 792: 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 813: 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 825: 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 45°, because it is assumed no true exit would have a turn sharper than 45°.</small>


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


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




Line 861: Line 944:
|}
|}


'''NOTE: In the client app there will be a digit inside the circle representing which number exit you must take (starting from ''the origin'').'''
'''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.
 


<br />
<br />
Line 870: Line 956:
----
----


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




Line 892: Line 978:




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




Line 913: Line 999:
----
----


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




Line 934: Line 1,020:
----
----


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




Line 946: Line 1,032:
| [[File:Nav icon roundabout u turn.jpg|50px]]
| [[File:Nav icon roundabout u turn.jpg|50px]]
|}
|}
'''NOTE:''' Currently this is only displayed in the client, but there is no verbal instruction (due to a bug).




Line 954: Line 1,042:


----
----
=== 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"
! scope="col" colspan=2 | Displayed Icons
|-
| Livemap<br>& WME
| Client App
|-
| [[File:Big direction u.png|50px]]
| [[File:Nav icon u turn.png|50px]]
|}
<br />
<br />
<br />
----
<br />
<br />
<br />
<br />
Line 1,015: Line 1,124:
<br />
<br />
<br />
<br />
[[Category:Waze operations]]

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