Beware of broken car routing since OsmAnd 3.3

102 views
Skip to first unread message

Aceman444

unread,
Aug 21, 2019, 2:19:49 PM8/21/19
to Osmand
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:

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: 
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

Carles Pina i Estany

unread,
Aug 27, 2019, 10:39:38 AM8/27/19
to osm...@googlegroups.com

Hi,

On Aug/21/2019, Aceman444 wrote:
> 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).

This is worrying. Thanks for bringing this here to be able to be aware.

I'll comment in the ticket... since this is arguable, have the devs
considered a setting so we (users) can decide how to considere unknown
barriers?

Cheers,

--
Carles Pina i Estany
Reply all
Reply to author
Forward
0 new messages