osmandapp / OsmAnd

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

Car routing on highway=path #1232

Closed ghost closed 9 years ago

ghost commented 9 years ago

Routing [OSMAND] in car mode includes highway=path when also tagged as access=permissive

ghost commented 9 years ago

I'm sorry if I was unclear, this behavior is a bug.

Zahnstocher commented 9 years ago

access=permissive allows all traffic, thus it is a OSM data bug.

xmd5a2 commented 9 years ago

But cars can't drive through paths. I can confirm a bug.

Zahnstocher commented 9 years ago

But cars can't drive through paths. I can confirm a bug.

No, if it is not possible/allowed to drive through this path (which is tagged with access=permissive) with a car, it is clearly an OSM data bug, not an OsmAnd bug! Default (!) access of path does not allow cars on paths, but it is possible to overwrite the default access. In this case the default access is overwritten by access=permissive, which clearly allows all traffic!

I quote the OSM wiki:

Use the access=* key to describe a general access restriction that applies to all transport modes. Note, that, for example, adding access=yes to highway=footway changes default restrictions (which usually are foot=yes and vehicle=no for highway=footway) to yes, highway=footway + access=yes means "road, which is open for all pedestrians and vehicles". Be very careful when adding general permitting tags access=yes and access=permissive, think about adding precise correct tags with concrete transport modes. If you want, for example, distingush footway with open access from footway with closed access, use tags like foot=yes and foot=private instead of access=yes and access=private.

https://wiki.openstreetmap.org/wiki/Key:access#Transport_mode_restrictions

ghost commented 9 years ago

@Zahnstocher I apologize, you are completely correct and I was mistaken.

Although this isn't the right place to discuss OSM tagging the way the access tag is designed to be used goes against common sense. All traffic is a lot!, (snowmobiles, skis, hgv and everything in between). It seems to me there would be very few instances where the access tag would be appropriate. It would make much more sense to use access=* to refine the default values of a way and handle exceptions with their own values.

For example if you wanted to add car routing to a path use motor_vehicle=yes. Although I don't know why highway=track or higher wouldn't be used in that situation.

Thanks for clearing that up.

vshcherb commented 9 years ago

I think we should revert 'my fix' in routing.xml