osmandapp / OsmAnd

OsmAnd
https://osmand.net
Other
4.63k stars 1.01k forks source link

Navigation routes off and back on a straight shot #9015

Closed dead10ck closed 4 years ago

dead10ck commented 4 years ago

This is with osmAnd 3.6.3 on OxygenOS 10.0.9.HD65AA, using the San Francisco map, with OSM Live enabled.

When routing through North Fair Oaks Ave in Sunnyvale, CA, once you get to the intersection with Kifer Road, the navigation seems to route off of Fair Oaks into Kifer, then right back into Fair Oaks, instead of just continuing straight through Fair Oaks. As an example, routing from 849V9XGH+HX to 849V9XHJ+24 exhibits this behavior.

Screenshot_20200519-165917

My first thought was that there must be something wrong with the map data, like a one way that was accidentally reversed or something. But I've looked at the map data, and I can't find anything that would cause this.

The Open Route Service does not do this: https://maps.openrouteservice.org/directions?n1=37.376729&n2=-122.019959&n3=18&a=37.375931,-122.020179,37.37751,-122.01968&b=0&c=0&k1=en-US&k2=km

naoliv commented 4 years ago

Is it allowed to do a turn from https://www.openstreetmap.org/way/172246143 to https://www.openstreetmap.org/way/805922979?

If not then it's missing a turn restriction there.

Also, it's missing maxspeed in https://www.openstreetmap.org/way/172246143, https://www.openstreetmap.org/way/805922979 and https://www.openstreetmap.org/way/30037115

vshcherb commented 4 years ago

I guess here there are many duplicate issues of OsmAnd deviating a route to skip a traffic:signals. You can find why other routing don't do and OsmAnd still does somewhere on Github. Please consider to map it in a better shape with restrictions, maxspeed, give_way, stop_sign of course if it reflects reality

dead10ck commented 4 years ago

@vshcherb you're right, it looks like avoiding traffic signals causes lots of issues for lots of people. Honestly, that's not really surprising. Avoiding traffic signals for the sake of avoiding traffic signals is a highly questionable thing to do. Is there any work planned to fix this?

dead10ck commented 4 years ago

@naoliv a U turn between those two ways would not be allowed at https://www.openstreetmap.org/node/1831703561, which is is where osmAnd is making the U turn, since that would be going through a double solid yellow lane marker, so I've added a U turn restriction there. However, it would be allowed at https://www.openstreetmap.org/node/65550685, which is a little further down, since there is a break in the double yellow lines there.

I updated the last two ways you posted with max speeds, but looking at Mapillary, https://www.openstreetmap.org/way/172246143 is a link with no signage to indicate a speed limit.

vshcherb commented 4 years ago

I think we need to open meta-issue where will link all other issues related to this question, I'm afraid I'm repeating myself and it doesn't help much cause we're balancing between compromises agree map is not good or fix the map and enjoy better routing possibilities.

scaidermern commented 4 years ago

I think we need to open meta-issue where will link all other issues related to this question, I'm afraid I'm repeating myself and it doesn't help much cause we're balancing between compromises agree map is not good or fix the map and enjoy better routing possibilities.

You need to start creating unit tests. Add a test for each routing issue. Whenever changing routing settings make sure that the number of passed unit tests increases. Without specific test cases your are just rolling a dice. A change will fix one case and breaks two others if you don't use test cases for comparison.