Hi.

I want to make you all aware of a big problem in car navigation made in 
OsmAnd 3.3 and unfixed since then (still in 3.4).

In a trivial fix for a routing penalty for a height restrictor barrier and 
unintentional change was made to switch routing logic from "all unknown 
barriers are impassable for a car" to "all unknown barriers are passable 
for a car".

You can see the changes and discussion at these links:
https://github.com/osmandapp/Osmand/issues/5170 (main discussion)
https://github.com/osmandapp/Osmand/issues/6530
https://github.com/osmandapp/OsmAnd-resources/commit/a78c3796550ee8ec34b81c2b753c2d65b975b056

The "all unknown barriers are impassable for a car" logic has been in 
OsmAnd for a few years (I have implemented it) and I haven't seen reports 
of any problems with it, needing a revert of it.

The new "all unknown barriers are passable for a car" logic is a problem, 
because it allows routing through obstacles that OsmAnd does not know what 
they are.
There is an explicit rule on OpenStreetMap wiki 
(https://wiki.openstreetmap.org/wiki/Barriers#Routing) saying that unknown 
(undocumented) barriers should he handled as access=no, meaning nothing can 
pass them (not even a pedestrian, not to mention a car).
So people adding OSM data are following this rule.
But OsmAnd developers are now intentionally ignoring this rule and assuming 
the opposite in OsmAnd. Thus, logically, the data and OsmAnd behaviour on 
the data will never match and bad routes will be calculated.
Not only bad, but outright dangerous. OsmAnd will happily navigate a car 
through glass, spikes, jersey barriers, kerb, cycle barriers, whatever.
In the new logic, each barrier that is NOT passable with a car, must 
explicitly be added by the OsmAnd developers to the routing.xml file, 
see 
https://github.com/osmandapp/OsmAnd-resources/blob/master/routing/routing.xml#L790
 
.

You can see I am right by checking these changes since then: 
https://github.com/osmandapp/OsmAnd-resources/commit/7fdb1ea68a3e62d991bc3fec2250d7887fc617d0#diff-dbc3b73746ed4cac0d1b5912f839ca0e
https://github.com/osmandapp/OsmAnd-resources/pull/578
Users are already finding out OsmAnd routes through improper barriers and 
are adding those to the routing file.
But that is an infinite process, which could be avoided.
There are almost 2000 different barrier types used in the OSM database (
https://taginfo.openstreetmap.org/keys/barrier#values). Good luck analyzing 
them, determining which are passable with a car, and adding them to the 
routing file.

Sadly, the developers now claim the change was intentional and does not 
need to be fixed.

Attentive users will see in the routing.xml file that there are still 
multiple errors in the "obstacle" block, which show that the change really 
wasn't done intentionally and properly (while claimed so), so in this case 
OsmAnd devs actually have no idea what is going on.

I tried to discuss this in the linked bug tracker, but nothing helped yet. 
It seems this needs action from more users.

The fix for all this is a single line in routing.xml file, which I can 
easily do locally after each OsmAnd release.
But without the fix, the OsmAnd routing is dangerous and useless so I can't 
recommend OsmAnd app to any users, which I happily did in the past.

Good luck.

aceman

-- 
You received this message because you are subscribed to the Google Groups 
"Osmand" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/osmand/858f20cd-6dda-48d2-8216-399fb0759545%40googlegroups.com.

Reply via email to