[Page Update] How Waze determines turn/keep/exit maneuvers

Moderator: Unholy

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Fri Jun 13, 2014 8:43 pm

PesachZ wrote:
PesachZ wrote:
PesachZ wrote:This ramp split junction was brought to my attention. It is ramp to ramp, 22 degrees left, and 44 degrees right. It is giving a "Turn right" for the right branch, and nothing for the left branch (treating it as Best Continuation). All connecting segments have different names.

I'm wondering if one of these might be the cause, I'm leaning toward the first option. These are my own theories.

A) There is discrepancy between the precise angle displayed by the Junction Angle script, and the angle the server uses to determine instructions. I believe after looking around a bit (HT:dbraughlr in WME chat) that this is a function of the script and server employing different methods determining the turn angle and therefore rounding in opposite directions. So a 44.5 degree turn in JAI script shown as 44 degrees
Code: Select all
JAI
180-(135.5 rounded)136=44
may be seen by the router as 45 degrees.
Code: Select all
SERVER
starting from 0+(44.5 rounded)45=45
To support this theory there are junctions in which all the angles sum to 359 degrees or 361 degrees, showing that the rounding is not precise.


B) The threshold for keep vs. turn has become more narrow, and is now less than 45.5 degrees.

If anyone can take a look, and/or has any information on this, please chime in.

EDIT: Added theory to A)
Adjusted geometry of ramp to be a smaller angle but still displaying as 45 degrees so theoretically if it was 44.5 deg, it should now be less, and work properly. Will test after a tile update to prove theory A. 5/25/14 23:38 UTC

After adjusting the geometry if the right branch to be ever so slightly smaller, closer to 43° while JAI still displaying 44°, the fork now gives keep left/right instructions for both sides. This lend credence to the theory that there are different calculations being employed by the JAI script and by the server. Therefore an angle of exactly 44.5° will be treated by the server as 45°, and displayed by JAI as 44° (as described in my original post on this subject).

The easy solution here is when editing a junction avoid saying a turn angle of 44°, and to be safe stick to either 0-43°, or 45-90° in either direction.

Sent using Tapatalk for Android 4.4.2

I did some more testing with a tweaked version of the JAI script showing 2 decimal places. The angle described above giving a KEEP instruction ["closer to 43° while JAI still displaying 44°"] was actually 43.68°.

I then tested at exactly 44.00° and got a TURN instruction without editing anything else in the junction.

I am now testing at 43.96° to determine if the actual exact threshold used by the server is not 44.5° as previously believed but 44°.

I will hopefully have an answer to this after the next time update. It can then be confirmed by testing on other junctions. I am now leading towards theory B and don't believe this to be a rounding issue. I believe the issue is caused by the fact that any angle between 43.5 and 44.5 well display in JAI as 44, making that angle carry two possible instructions. If this is true we should update the geometry wiki to avoid using 44° angles, as it would be impossible to know what instruction they will provide without a tweaked JAI script.

Sent using Tapatalk for Android 4.4.2

After more testing this junction is giving a turn right at 43.69°
and this one is stay right at 43.59°.

We can safely say the threshold is as far as I can tell somewhere between 43.59° and 43.69°. at these angles its hard to narrow further, but the average editor will not have access to decimal points anyway.

I think we can edit the wiki to say
  • 45° or higher = turn
  • 43° and lower = stay
  • 44° is a gray area which usually will be turn, but can be stay in very few cases (the first 1/5th°).

Sent using Tapatalk for Android 4.4.2
Last edited by PesachZ on Sun Jun 15, 2014 1:57 am, edited 2 times in total.
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Sun Jun 15, 2014 1:58 am

kentsmith9 wrote:
PesachZ wrote:44° is a great area which usually will be turn...

I assume that is a "gray area", yes?

thanks, yes, edited above.

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Sun Jun 15, 2014 10:37 am

PesachZ wrote:
PesachZ wrote:
PesachZ wrote:[quote="PesachZ"]This ramp split junction was brought to my attention. It is ramp to ramp, 22 degrees left, and 44 degrees right. It is giving a "Turn right" for the right branch, and nothing for the left branch (treating it as Best Continuation). All connecting segments have different names.

I'm wondering if one of these might be the cause, I'm leaning toward the first option. These are my own theories.

A) There is discrepancy between the precise angle displayed by the Junction Angle script, and the angle the server uses to determine instructions. I believe after looking around a bit (HT:dbraughlr in WME chat) that this is a function of the script and server employing different methods determining the turn angle and therefore rounding in opposite directions. So a 44.5 degree turn in JAI script shown as 44 degrees
Code: Select all
JAI
180-(135.5 rounded)136=44
may be seen by the router as 45 degrees.
Code: Select all
SERVER
starting from 0+(44.5 rounded)45=45
To support this theory there are junctions in which all the angles sum to 359 degrees or 361 degrees, showing that the rounding is not precise.


B) The threshold for keep vs. turn has become more narrow, and is now less than 45.5 degrees.

If anyone can take a look, and/or has any information on this, please chime in.

EDIT: Added theory to A)
Adjusted geometry of ramp to be a smaller angle but still displaying as 45 degrees so theoretically if it was 44.5 deg, it should now be less, and work properly. Will test after a tile update to prove theory A. 5/25/14 23:38 UTC

After adjusting the geometry if the right branch to be ever so slightly smaller, closer to 43° while JAI still displaying 44°, the fork now gives keep left/right instructions for both sides. This lend credence to the theory that there are different calculations being employed by the JAI script and by the server. Therefore an angle of exactly 44.5° will be treated by the server as 45°, and displayed by JAI as 44° (as described in my original post on this subject).

The easy solution here is when editing a junction avoid saying a turn angle of 44°, and to be safe stick to either 0-43°, or 45-90° in either direction.

Sent using Tapatalk for Android 4.4.2

I did some more testing with a tweaked version of the JAI script showing 2 decimal places. The angle described above giving a KEEP instruction ["closer to 43° while JAI still displaying 44°"] was actually 43.68°.

I then tested at exactly 44.00° and got a TURN instruction without editing anything else in the junction.

I am now testing at 43.96° to determine if the actual exact threshold used by the server is not 44.5° as previously believed but 44°.

I will hopefully have an answer to this after the next time update. It can then be confirmed by testing on other junctions. I am now leading towards theory B and don't believe this to be a rounding issue. I believe the issue is caused by the fact that any angle between 43.5 and 44.5 well display in JAI as 44, making that angle carry two possible instructions. If this is true we should update the geometry wiki to avoid using 44° angles, as it would be impossible to know what instruction they will provide without a tweaked JAI script.

Sent using Tapatalk for Android 4.4.2

After more testing this junction is giving a turn right at 43.69°
and this one is stay right at 43.59°.

We can safely say the threshold is as far as I can tell somewhere between 43.59° and 43.69°. at these angles its hard to narrow further, but the average editor will not have access to decimal points anyway.

I think we can edit the wiki to say
  • 45° or higher = turn
  • 43° and lower = stay
  • 44° is a gray area which usually will be turn, but can be stay in very few cases (the first 1/5th°).

Sent using Tapatalk for Android 4.4.2[/quote]
I have further narrowed the gray area to be between 43.63° - 43.69°.
43.69°+ = turn
43.63°+ = stay/keep

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Sun Jun 15, 2014 12:54 pm

PesachZ wrote:I have further narrowed the gray area to be between 43.63° - 43.69°.
43.69°+ = turn
43.63°+ = stay/keep

Sent using Tapatalk for Android 4.4.2


I created two templates in the wiki to reflect these angles on the pages, and be easily updatable when there is better testing and results, or info.

Code: Select all
{{:User:PesachZ/algorithm/Stay threshold}} = 43.63°


Code: Select all
{{:User:PesachZ/algorithm/Turn threshold}} = 43.69°


Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Thu Jun 19, 2014 2:37 pm

kentsmith9 wrote:I found some conflicting information from Ianhouse in the UK in this thread. His study on Time-based tolls indicated he was getting (undesired) turn instructions when all road types and names were the same with one S-in and two S-out, UNLESS they overlapped exactly at the two S-out points. The testing was in December on the World server. Any chance they would have different routing than we have?

I briefly looked at his post on my phone, didn't look at the construction in WME. it appears his results are consistent with my charts, with the only caveat to very careful of how the partial (timed) restrictions will affect flow through the chart.

If you see a specific conflict please enlighten me.

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Thu Jun 19, 2014 3:03 pm

CBenson wrote:
kentsmith9 wrote:I found some conflicting information from Ianhouse in the UK in this thread. His study on Time-based tolls indicated he was getting (undesired) turn instructions when all road types and names were the same with one S-in and two S-out, UNLESS they overlapped exactly at the two S-out points. The testing was in December on the World server. Any chance they would have different routing than we have?

I posted over on the other thread as well. I was looking back at some notes for instruction testing that I did awhile ago (before last December) which confirmed that I did get instructions when all segments at a split were identical. So I don't think this is different in the infrastructures.

I agree with PesachZ that the chart is consistent with Ianhouse results. You would go through the chart as follows for a freeway split with all segments having the same name where you take the right branch: 01 19 02 04 13 05 06 07 08 20 25 15 16 - Keep Right. If you didn't have the overlap on the CCZ segments then if the time restriction is the segment to the right and you are routed through when the restriction is not in place then you would go through the chart as 01 19 02 04 13 05 06 07 08 25 - Keep Right.

So I'm now concluding that the overlaps are necessary for the CCZ segments and are consistent with the revisions to the turn instructions page.


Thanks I'm mobile now but I posted briefly on the other thread similar to what you just said here.

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Thu Jun 19, 2014 5:44 pm

qwaletee wrote:Pesach,

I remember we had advice not to fine tune the angles too much, since people make mistakes visually, many don't use JAF, and even when you do, in some odd geometries or selections, it may be easy to make a mistake.

if we stick with that old advice, we may want to keep it at <=40 and >=50, or something like that. I can even see <=35 and >=60. With visual representations of course, for those who don't know what an angle is :-)

This page is just to display the technical workings of the server, not the guidance for implementation. It is important to unrestrained the 'how it works', and confess in handy for troubleshooting.

It will be in the technical information section of the wiki.

The associated guidance for usage belongs in the table in the JSG, where the recommended angles should be something like <40° keep, 40°-50° don't use, 50°-130° turn, >130° only for restricted turns. I can link to that at the top once it is updated.

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Thu Jun 19, 2014 7:00 pm

qwaletee wrote:OK, got it, don't fudge the numbers. But I would footnote this particular issue, even here.

sure will try to figure out how to

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Thu Jun 19, 2014 8:34 pm

From UK time restricted tolls threads

kentsmith9 wrote:... the subject of this page on turn instructions. We have reviewed this logic and now Waze is confirming it is accurate....


Does this mean Waze already verified these two pages? Can we go live with them?

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

Re: [Page Update] How Waze determines turn/keep/exit maneuve

Postby PesachZ » Sun Jun 22, 2014 2:59 am

sketch wrote:
PesachZ wrote:The associated guidance for usage belongs in the table in the JSG, where the recommended angles should be something like <40° keep, 40°-50° don't use, 50°-130° turn, >130° only for restricted turns. I can link to that at the top once it is updated.

Sent using Tapatalk for Android 4.4.2

You said exactly what I wanted to. Indeed, in the JSG I would like to recommend 10-20° angles for interchange ramps and 60°+ for "turn" instructions.

My only suggestion to this is that guidance for ramps and wayfinders be set to a minimum of 15°, dogleg if necessary, to assist in selection of the turn arrows in WME and more importantly the closure arrows in the client. There are many complaints about not being able to select the correct arrow when the angle is too low, which is confounded when trying to do it while figuring out your next step as you have to reroute while driving.

Sent using Tapatalk for Android 4.4.2
PesachZ
Wiki Master
Wiki Master
 
Posts: 4512
Joined: Mon Jul 01, 2013 12:51 am
Location: NY, USA (also NJ sometimes) {GC}
Has thanked: 1998 times
Been thanked: 2374 times

PreviousNext

Return to Wiki Updates and Discussion

Who is online

Users browsing this forum: No registered users