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

Comments

Projects
None yet
3 participants
@skylerbunny
Copy link

commented Sep 9, 2016

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

This comment has been minimized.

Copy link
Contributor

commented Sep 16, 2016

Turn lanes test added

@skylerbunny

This comment has been minimized.

Copy link
Author

commented Sep 16, 2016

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

This comment has been minimized.

Copy link
Contributor

commented Sep 16, 2016

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

@vshcherb

This comment has been minimized.

Copy link
Member

commented Sep 18, 2016

@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

This comment has been minimized.

Copy link
Member

commented Sep 18, 2016

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.

@vshcherb vshcherb closed this Sep 18, 2016

@skylerbunny

This comment has been minimized.

Copy link
Author

commented Sep 19, 2016

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

This comment has been minimized.

Copy link
Author

commented Sep 19, 2016

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

@xmd5a2

This comment has been minimized.

Copy link
Contributor

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

This comment has been minimized.

Copy link
Member

commented Sep 19, 2016

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 vshcherb closed this in 3078679 Nov 7, 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
You can’t perform that action at this time.