
Am 30.11.2013 02:14, schrieb Greg Troxel:
WanMil <wmgcnfg@web.de> writes:
I am comparing differences between the mergeroads branch running the compatibility mode and the trunk.
Having the following way: access = destination highway = path
The access bits are set as: trunk | branch no_car | 0 | 1 no_bus | 0 | 1 no_taxi | 0 | 1 no_foot | 0 | 0 no_bike | 0 | 1 no_truck | 0 | 1 no_throughrt | 1 | 1 delivery | 0 | 1 emergency | 0 | 1
0 = bit is not set 1 = bit is set
For delivery and emergency I am not sure if delivery/emergency is allowed if the bit is set or unset.
At the moment the trunk allows all type of vehicles to use the given way. I think that's not good. The branch allows only foot to use the way. What do you think should be the correct access bit mask for the given way?
I see multiple interlinked questions here.
One is if a given vehicle can physically use the way. For highway=path, I would say that car, bus, taxi, truck, delivery, emergency cannot. If they could, it would be highway=track instead. So some of these bits should not be set even for highway=path with access=yes (default case). Or perhaps I'm confused and there is some other mechanism for this.
I think the access tagging in OSM is confusing. The wiki page tells highway=path implies motor_vehicle=no and emergency=destination. For highway=footway the wiki tells that foot=designated is implied and several more country based access-Restrictions and maxspeeds. So to be accurate we have to implement 19 country specific rules just for highway=footway! I think we should use reasonable values in the default style which use the default access mappings documented in the wiki: http://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Access-Restrictions#.... So highway=path is by default access=no and foot=yes, bicyle=yes, horse=yes.
The other question is access=destination. That's supposed to encode a legal notion that one may traverse the way only if it's necessary to get someplace that you can legally go. My understanding of the Garmin routing behavior is that it will not use disallowed ways in a route, except at the ends.
There is a no_throughroute flag. So for access=destination the no_throughroute flag is set which tells Garmin not to use the way for a route that doesn't end on this way (as far as I understand).
So what this leaves me failing to grasp (and which I think is at the heart of deciding the right answer to your query) is how these no_* bits relate to a) physical feasibility, which can not be overridden by 'necessary to get to destination' and b) permission, which seems to be overriden.