Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Turn lane assist oddity #3052

Closed
skylerbunny opened this issue Sep 9, 2016 · 9 comments
Closed

Turn lane assist oddity #3052

skylerbunny opened this issue Sep 9, 2016 · 9 comments
Assignees
Milestone

Comments

@skylerbunny
Copy link

Consider the following, routing from (47.3978387, -122.2920164) to (47.3958035, -122.2985595).

The calculated route will take you off of the freeway to the first exit, and then make a right turn onto Kent Des Moines Road. Here's the problem. When lane assist is on, when going through the intersection at Pacific Highway South, the lane calculation assumes that you are making a left turn, and voice instructions confirm that. So despite the fact that the navigation clearly shows going straight through the intersection, the voice instruction is to 'Turn left onto Kent Des Moines Road' (the road you are to continue straight onto).

As best I can tell, the lanes specifications and turn:lanes are reasonable, so I think this may be an Osmand bug, so logging it here. If something's wrong with the tagging, I'm not sure what it is.

@xmd5a2
Copy link
Contributor

xmd5a2 commented Sep 16, 2016

Turn lanes test added

@skylerbunny
Copy link
Author

I think it is because https://www.openstreetmap.org/way/265002602 should not contain 'left' instructions.

I think I get it. I do see cases where other tagged properties may change in the space of the length of a turn:lanes declaration, such as route relations, road surface, speed limits, etc. This is only of course because turn:lanes (as on the wiki) indicates that turn lanes should be declared for their entire length, and not the last segment for which they have relevance.

http://wiki.openstreetmap.org/wiki/Key:turn#Turning_indications_per_lane

"It is used on the way segment from the first indication via road markings, signposts or similar indications to the junction or completion of merge. "

@xmd5a2
Copy link
Contributor

xmd5a2 commented Sep 16, 2016

@skylerbunny I was wrong. Osmand should handle these situations correctly.

@vshcherb
Copy link
Member

@xmd5a2
Because usually OSM follows the practice "truth on the ground" especially in these cases, we try to support all these cases and we collect all of them. Though it is still very hard to do but so far we managed to fulfill all tests. We will try to fix this as well.

@vshcherb
Copy link
Member

It turned out in the end that's it is still a map issue. So the program assigns 2 lanes to go forward and 2 lanes to turn right to https://www.openstreetmap.org/way/295752198 from https://www.openstreetmap.org/way/265002602. Which i guess obviously a mistake cause you can't turn right there.

So adding restriction no turn right from 265002602 to 295752198, will fix the test and the issue. @xmd5a2 please correct the test.

@skylerbunny
Copy link
Author

I understand that this is a map error now and not a problem with how Osmand is calculating lane assistance. That being said, since it is probably not easily obvious to the average editor that 'the reason a turn:lanes instruction doesn't work properly is because of the lack of a restrictions relation', I've added a caution box to its wiki page so this is less likely to come up in the future.

'At intersections where turn=* and turn:lanes=* keys are used, legal turning restrictions are expected to be correctly specified to allow navigation programs to calculate driver lane assistance properly. These turning restrictions are explained in the restriction relation article.'

@skylerbunny
Copy link
Author

Added no right turn restriction as requested. https://www.openstreetmap.org/relation/6596913

@xmd5a2
Copy link
Contributor

xmd5a2 commented Sep 19, 2016

@vshcherb Adding restriction no turn right from 265002602 to 295752198 does not fixes issue

    <segment id="265002600" oid="16960166461" start="1" end="2" time = "1.2481261" rtime = "1.4242814" name = "South Kent Des Moines Road (WA 516) " distance = "22.027115" turn = "Go ahead" turn_angle = "0.0" start_bearing = "-19.983107" end_bearing = "-37.635254" description = "Go ahead and go 22,03 meters" />
    <segment id="265002602" oid="16960166583" start="0" end="2" time = "19.540812" rtime = "0.0" name = "South Kent Des Moines Road" distance = "80.13692" turn = "Go ahead(+TL|+TL|C|C|TSLR)" turn_angle = "-1.4178848" lanes = "[5, 5, 2, 2, 12]" start_bearing = "-39.05314" end_bearing = "-38.97247" description = "-*Go ahead(+TL|+TL|C|C|TSLR) and go 80,14 meters" />
    <point  crossing="traffic_signals" highway="crossing"/>
    <segment id="362433819" oid="23195764433" start="0" end="1" time = "31.380737" rtime = "1.5739987" name = "South Kent Des Moines Road" distance = "24.36745" turn = "Turn left(+TL|+TL|C|C)" turn_angle = "-0.07342148" lanes = "[5, 5, 2, 2]" start_bearing = "-39.04589" end_bearing = "-39.04589" description = "Turn left(+TL|+TL|C|C) and go 24,37 meters" />
    <point  highway="traffic_signals"/>
    <segment id="295752196" oid="18928140581" start="0" end="2" time = "48.67099" rtime = "3.6973188" name = "South Kent Des Moines Road" maxspeed = "55.999996" primary distance = "56.83236" turn = "Go ahead(TL|TL|+C|+C)" turn_angle = "0.14175415" lanes = "[4, 4, 3, 3]" start_bearing = "-38.904137" end_bearing = "-41.68222" description = "-*Go ahead(TL|TL|+C|+C) and go 56,83 meters" />

@vshcherb vshcherb reopened this Sep 19, 2016
@vshcherb
Copy link
Member

That's true, I didn't run full test (just deleted that road from the graph), though please keep that test updated. Now it is OsmAnd issue which we need to fix.

@vshcherb vshcherb assigned vshcherb and unassigned xmd5a2 Sep 19, 2016
@vshcherb vshcherb added this to the 2.5 milestone Oct 20, 2016
vshcherb added a commit that referenced this issue Nov 7, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants