Interactive junction instruction algorithm: Difference between revisions Discussion View history

(40 intermediate revisions by 7 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 [[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/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]]'''.
* '''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 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.
:{| 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/USA#Understanding_navigation_instructions|roundabouts page]]
** 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"
Line 50: Line 48:
|Not 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°.
|}
|}
{{mbox|type=important|text=The allowed range for roundabouts may actually be less than ±15°, this is currently being tested.}}


== 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#Turn instruction override on a junction box exit|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 84: 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 93: 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 111: 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 138: Line 216:
{| border="1" cellpadding="10"
{| border="1" cellpadding="10"
|-
|-
! scope="col" bgcolor="orangered" | '''[[#04|NO, the turn angle is less {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}]]'''
! 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 147: 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 163: 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 170: 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 190: 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 211: 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 225: 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 231: 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 251: 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 271: 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 291: 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 300: 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 311: 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 331: 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 351: 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 360: 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 371: 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 380: 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 391: 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 411: 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 420: 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 431: 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 451: 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 471: 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 491: 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 511: 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 531: 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 540: 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 551: 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 560: 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 571: 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 591: 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 600: 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 611: 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 628: 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 635: Line 713:
{| 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 655: 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 669: 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 675: 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 681: 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 687: 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 694: 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 711: 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 721: 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 743: 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 764: 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 777: 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 810: 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 831: 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 843: 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 856: Line 922:
----
----


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




Line 891: Line 956:
----
----


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




Line 913: Line 978:




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




Line 934: Line 999:
----
----


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




Line 955: Line 1,020:
----
----


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




Line 977: 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,038: Line 1,124:
<br />
<br />
<br />
<br />
[[Category:Waze operations]]

Revision as of 15:32, 24 July 2018

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