Interactive junction instruction algorithm: Difference between revisions View history

m (→‎Definitions: typo: is -> of)
 
(148 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This will be a clickable interactive guide to determining what instruction, if any, will be given at the junction between any 2 segments. There will eventually be encyclopedia style illustrations for the various configurations to visually describe the setup. This will formatted as a sequence flow through, to cover (hopefully) all variations.
{{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.
 
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 travelling from one segment, through a [[Glossary#Junction_or_Junction_Point|junction]], and onto a second segment.
* 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.
* 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'' there will not be an instruction provided.
 
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]].
* 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]].
** In terms of navigation, the segment you are being routed <u>from</u> is '''''the origin'''''.
* 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]].
* '''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]].
* 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''.
** 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]].
* '''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'''''.
* '''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]]'''.
* {{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"
! scope="col" colspan=3 | Turn Angles
|-
| [[File:Turn angle.png|200px|center]]
| [[File:Turn_angle_37.png|200px|center]]
| [[File:Turn_angle_geo_line.png|200px|center]]
|-
| Standard Turn Angle
| 37° Angle
| 90° Dogleg Geometry Node
|}
*'''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/USA#Understanding_navigation_instructions|roundabouts page]]
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=2 | Roundabouts
|-
|Normal||Non-Normal
|-
|[[File:Roundabout 3 normal.png|301px]]||
[[File:Roundabout 3 non-normal.png|301px]]
|-
|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 ==
To use this interactive flowchart;
:* 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
:* 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''.
{{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}}
~{{Username|PesachZ}}}}
 
== The interactive algorithm ==
== The interactive algorithm ==
{| style="float: right; color:lightgray; font-size:65%; "
| (01)
|}
{{anchor|01}}Other than ''the origin'' and ''the destination'', are there any other segments connected to this junction?
[[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"
|-
! scope="col" bgcolor="lawngreen" | '''[[#19|YES]]'''
|}
[[File:Jct dead end ex.png|border|100px|dead end]]
[[File:Jct cul-de-sac island ex road.png|border|100px|cul-de-sac dead end]] [[File:Jct transition.png|border|x100px|continue junction]]
[[File:Jct transition 90.png|border|x100px|turn junction]]
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|NO => No Instruction]]
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (19)
|}
{{anchor|19}}Do ''the origin'' and ''the destination'' meet at a [[Roundabouts/USA|Roundabout]]?
[[File:FixRAB-07.png|border|100px|frameless|Round about street]]
[[File:RdAbt MjMj.png|border|100px|frameless|round about MH mH]]
[[File:Roundabout - all ramps.png|border|100px|frameless|round about ramps]]
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#27|YES]]'''
|}
[[File:Jct 4 90.png|border|x100px|frameless|intersection]]
[[File:Jct bowtie.png|border|x100px|frameless|bowtie]]
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#02|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (02)
|}
{{anchor|02}}Is the turn angle from ''the origin'' to ''the destination'' between {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Turn threshold}} and 150°?
[[File:Turn left angle.png|border|100px|frameless]]
[[File:Turn left agc.png|border|100px|frameless]]
[[File:Turn right.png|border|100px|frameless]]
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#03|YES]]'''
|}
[[File:Keep left ps to ps bc.png|border|100px|frameless]] [[File:Keep right ps to ramp.png|border|100px|frameless]] [[File:Exit right ramp to ramp.png|border|100px|frameless]]
[[File:Exit left ramp to ramp.png|border|100px|frameless]]
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#04|NO, the turn angle is less {{:How_Waze_determines_turn_/_keep_/_exit_maneuvers/Stay threshold}}]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lightgray" | '''[[#03|{{red|NO, the turn angle is greater than 150°}}]]'''
|}
{{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.}}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (03)
|}
{{anchor|03}}Which direction is the turn?
[[File:Turn left angle.png|border|100px|frameless]]
[[File:Turn left agc.png|border|100px|frameless]]
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#Turn_Left|Left => Turn Left]]'''
|}
[[File:Turn right.png|border|100px|frameless]]
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#Turn_Right|Right => Turn Right]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (04)
|}
{{anchor|04}}Are there any other ''branches'' with unrestricted turns from ''the origin''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#13|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | ''' [[#No_Instruction|NO => No Instruction]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (13)
|}
{{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}}?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#05|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#14|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (14)
|}
{{anchor|14}}Are the two branches (''the destination'' and the ''other branch'') ''overlapping''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#No_Instruction|YES => No Instruction]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#05|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (05)
|}
{{anchor|05}}Is the name of ''the origin'' and ''the destination'' identical?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#06|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#10|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (06)
|}
{{anchor|06}}Are ''the origin'' and ''the destination'' the same road type?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#07|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#09|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (07)
|}
{{anchor|07}}Are both the name AND the road type of any of the ''other branches'' identical to ''the origin''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#08|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|NO => No Instruction]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (08)
|}
{{anchor|08}}Is there any ''other branch'' to the left of the destination branch?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#25|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#20|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (20)
|}
{{anchor|20}}Is this an ''overlapping segment'', is it overlapped by any ''other branch''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#25|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#26|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (25)
|}
{{anchor|25}}Are the segments in a [[RHT|right hand traffic]] country (such as the USA)?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#15|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Right|NO => Keep/Stay Right]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (21)
|}
{{anchor|21}}Is ''the origin'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#22|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#23|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (22)
|}
{{anchor|22}}Is ''the destination'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Left|YES => Keep/Stay Left]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Left|NO => Exit Left]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (23)
|}
{{anchor|23}}Is ''the origin'' a {{ramp}}?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#24|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Left|NO => Keep/Stay Left]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (24)
|}
{{anchor|24}}Is ''the destination'' a [[Road_types/USA#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Left|YES => Keep/Stay Left]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Left|NO => Exit Left]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (09)
|}
{{anchor|09}}Is the name of any of the ''other branches'' identical to ''the origin''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#08|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|NO => No Instruction]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (10)
|}
{{anchor|10}}Are ''the origin'' and ''the destination'' the same road type?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#11|YES]]'''
|}
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#08|NO]]'''
|}
----
{| style="float: right; color:lightgray; font-size:65%; "
| (11)
|}
{{anchor|11}}Is the name of any of the ''other branches'' identical to ''the origin''?
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#08|YES]]'''
|}


== The instructions ==
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#12|NO]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (12)
|}
 
{{anchor|12}}Is the road type of any of the ''other branches'' identical to ''the origin''?
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#08|YES]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#No_Instruction|NO => No Instruction]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (26)
|}
 
{{anchor|26}}Are the segments in a [[LHT|left hand traffic]] country (like the UK)?
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#21|YES]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Left|NO => Keep/Stay Left]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (15)
|}
 
{{anchor|15}}Is ''the origin'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#16|YES]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#17|NO]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (16)
|}
 
{{anchor|16}}Is ''the destination'' a [[Road_types/USA#Highways|highway]]? ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}})
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Right|YES => Keep/Stay Right]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Right|NO => Exit Right]]'''
|}
 
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (17)
|}
 
{{anchor|17}}Is ''the origin'' a {{ramp}}?
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#18|YES]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Keep.2FStay_Right|NO => Keep/Stay Right]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (18)
|}
 
{{anchor|18}}Is ''the destination'' a [[Road_types/USA#Highways|highway]] ({{Freeway}}, {{Major Highway}}, or {{Minor Highway}}), or a {{ramp}}?
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#Keep.2FStay_Right|YES => Keep/Stay Right]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#Exit_Right|NO => Exit Right]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (27)
|}
 
{{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"
|-
! 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"
|-
! scope="col" bgcolor="orangered" | '''[[#28|NO]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (28)
|}
 
{{anchor|28}}From the perspective of ''the origin'', are the ''roundabout angles'' to all the other segments between 0°-15°, or 75°-105°?
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="lawngreen" | '''[[#29|YES]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" bgcolor="orangered" | '''[[#At the Roundabout Take the #xx Exit|NO => At the Roundabout Take the #xx Exit]]'''
|}
 
 
----
{| style="float: right; color:lightgray; font-size:65%; "
| (29)
|}
 
{{anchor|29}}What direction is ''the destination'' relative to ''the origin''?
 
 
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#At the Roundabout Turn Left|Left => At the Roundabout Turn Left]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#At the Roundabout Continue Straight|Straight => At the Roundabout Continue Straight]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#At the Roundabout Turn Right|Right => At the Roundabout Turn Right]]'''
|}
 
 
{| border="1" cellpadding="10"
|-
! scope="col" | '''[[#At the Roundabout Make a U-Turn|U Turn, Back => At the Roundabout Make a U Turn]]'''
|}
 
 
----
 
== The navigation instructions ==
=== No Instruction ===
=== No Instruction ===
There will be '''No instruction''' given passing through this junction.
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)
{| 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_forward.png|50px]]
| Not<br/>Available<br/>in Client<br/>App
|}
<br />
<br />
<br />
----
=== Turn Right ===
=== Turn Right ===
{| 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_right.png|50px]]
| [[File:Nav icon turn right.JPG|50px]]
|}
<br />
<br />
<br />
----
=== Keep/Stay Right ===
=== Keep/Stay Right ===
{| 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_exit_right.png|50px]]
|[[File:Nav icon keep right.JPG|50px]]
|}
<br />
<br />
<br />
----
=== Exit Right ===
=== Exit Right ===
The instruction ''in a [[RHT|right hand drive]] country'' will be Exit right.<br />
 
In a [[LHT|left hand drive]] country this instruction does not exist, and will instead give a [[User:PesachZ/Interactive_junction_instruction_algorithm#Keep/Stay_Right|Keep/Stay_Right]] instruction. A junction with this exact setup but a left angle turn would give an Exit Left instruction in a [[LHT|left hand drive]] country.
 
{| 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_exit_right.png|50px]]
| [[File:Nav icon keep right.JPG|50px]]
|}
 
 
:::<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 />
 
----
 
 
=== Turn Left ===
=== Turn Left ===
{| 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_left.png|50px]]
| [[File:Nav icon turn left.JPG|50px]]
|}
<br />
<br />
<br />
----
=== Keep/Stay Left ===
=== Keep/Stay Left ===
{| 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_exit_left.png|50px]]
| [[File:Nav icon keep left.JPG|50px]]
|}
<br />
<br />
<br />
----
=== Exit Left ===
=== Exit Left ===
The instruction ''in a [[LHT|left hand drive]] country'' will be Exit left.


In a [[RHT|right hand drive]] country this instruction does not exist, and will instead give a [[User:PesachZ/Interactive_junction_instruction_algorithm#Keep/Stay_Left|Keep/Stay_Left]] instruction. A junction with this exact setup but a right angle turn would give an Exit Right instruction in a [[RHT|right hand drive]] country.
 
{| 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_exit_left.png|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 />
<br />
 
 
----
 
 
=== At the Roundabout Take the #xx Exit ===
 
 
The "#xx" will be 1st, 2nd, 3rd, etc.. The counting starts from ''the origin''.
 
 
{| class="Wikitable" style="text-align:center; border: 1px solid darkgray;" cellpadding="5" border="1"
! scope="col" colspan=8 | Displayed Icons
|-
| Livemap<br>& WME
| colspan=7 | Client App
|-
| [[File:Big_directions_roundabout.png|50px]]
| [[File:Nav icon roundabout x.JPG|50px]]
| [[File:Nav icon roundabout 1.JPG|50px]]
| [[File:Nav icon roundabout 2.JPG|50px]]
| [[File:Nav icon roundabout 3.JPG|50px]]
| [[File:Nav icon roundabout 4.JPG|50px]]
| [[File:Nav icon roundabout 5.JPG|50px]]
| [[File:Nav icon roundabout 6.JPG|50px]]
|}
 
'''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 />
<br />
 
 
----
 
=== At the Roundabout Turn Left ===
 
 
{| 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_directions_roundabout_l.png|50px]]
| [[File:Nav icon roundabout left.JPG|50px]]
|}
 
 
<br />
<br />
<br />
 
 
----
 
 
=== At the Roundabout Turn Right ===
 
 
{| 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_directions_roundabout_r.png|50px]]
| [[File:Nav icon roundabout right.jpg|50px]]
|}
 
 
<br />
<br />
<br />
 
 
----
 
=== At the Roundabout Continue Straight ===
 
 
{| 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_directions_roundabout_s.png|50px]]
| [[File:Nav icon roundabout straight.JPG|50px]]
|}
 
 
<br />
<br />
<br />
 
 
----
 
=== At the Roundabout Make a 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 directions roundabout u.png|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).
 
 
<br />
<br />
<br />
 
 
----
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />this space intentionally left blank
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />

Latest revision as of 18:06, 8 January 2015

This new page is currently undergoing modifications. The information and guidance is currently considered accurate enough to be followed now. Content is being prepared by one or more users. Do not make any changes before you send a private message to this user.

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.

There will eventually be encyclopedia style illustrations for all the various configurations to visually describe the setup.

Introduction

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 junction, and onto a second segment.
  • How Best Continuations work. Any time the destination segment is the Best Continuation there will not be an instruction provided.

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 an overlapping segment.
  • 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 Geometry Node
  • 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°.
The allowed range for roundabouts may actually be less than ±15°, this is currently being tested.

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.
Comments or questions on this page can be brought up in this forum.
~PesachZ (PM)

The interactive algorithm

(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 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)


Displayed Icons
Livemap
& WME
Client App
Not
Available
in Client
App







Turn Right

Displayed Icons
Livemap
& WME
Client App







Keep/Stay Right

Displayed Icons
Livemap
& WME
Client App







Exit Right

Displayed Icons
Livemap
& WME
Client App


NOTE:
  • In a left hand traffic country this instruction does not exist, and will instead give a Keep/Stay_Right instruction.
  • You will only get an Exit instruction on a turn angle less than 45.04°, because it is assumed no true exit would have a turn sharper than 45.04°.






Turn Left

Displayed Icons
Livemap
& WME
Client App







Keep/Stay Left

Displayed Icons
Livemap
& WME
Client App







Exit Left

Displayed Icons
Livemap
& WME
Client App


NOTE:
  • In a right hand traffic country this instruction does not exist, and will instead give a Keep/Stay_Left instruction.
  • You will only get an Exit instruction on a turn angle less than 45.04°, because it is assumed no true exit would have a turn sharper than 45.04°.







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).
























this space intentionally left blank