Opened 4 years ago

Last modified 4 years ago

#1178 new defect/bug

Maptool does not propagate an osm 'bicycle=yes' tag if a 'vehicle' restriction exists.

Reported by: chr Owned by: cp15
Priority: major Milestone: version 0.5.1
Component: mapdrivers/OSM Version: git master
Severity: normal Keywords: routing, bicycle, maptool, patches
Cc:

Description (last modified by usul)

Hello,

in this area (51.207948 N, 6.973401 E), Willbecker Straße, streets are tagged (osm) vehicle=destination and bicycle=yes. Maptool does not propagate the permission for bicycles. Looking at osm.c I find, restrictions by vehicle= and motor_vehicle= tags do dominate any other setting.

My patch in the attachment solves the problem for me and hopefully for others too. It applies the following structure:

  • tags of individual road users dominate 'motor_vehicle' (group) tags
  • 'motor_vehicle' tags dominate 'vehicle' tags
  • 'vehicle' tags dominate 'access' tags

Furthermore if tags occurs twice, once with a permission and once with a restriction:

  • the permission overrules the restriction

(May be this case never happens, but a decision has to be made. This decision is not well rooted.)

Thanks for navit, Christian

Attachments (3)

osm.c.patch (2.7 KB) - added by chr 4 years ago.
patch for flags evaluation, propagate bicycle permission against vehicle restriction
through-traffic_size-weight_psv.patch (8.8 KB) - added by chr 4 years ago.
through-traffic_size-weight_psv.patch2 (8.8 KB) - added by chr 4 years ago.
Extended evaluation of access permissions.

Download all attachments as: .zip

Change History (10)

Changed 4 years ago by chr

patch for flags evaluation, propagate bicycle permission against vehicle restriction

comment:1 Changed 4 years ago by chr

  • Summary changed from Maptool does not propagate an osm 'bicycle=yes' tag if a 'motor_vehicle' or 'vehicle' restriction exists. to Maptool does not propagate an osm 'bicycle=yes' tag if a 'vehicle' restriction exists.

comment:2 Changed 4 years ago by usul

  • Component changed from core to mapdrivers/OSM
  • Description modified (diff)
  • Owner changed from KaZeR to cp15

comment:3 Changed 4 years ago by usul

  • Keywords patches added
  • Milestone set to version 0.5.1

comment:4 Changed 4 years ago by usul

There was a short note of user:Mapmaker towards your patch here: https://forum.navit-project.org/viewtopic.php?p=774#p774 (but please let's focus on discussions about that patch here)

comment:5 Changed 4 years ago by chr

Replying to Mapmapper here. In my opinion the tags are long-winded but correct. The ranking of tags is described by this key hierarchy. Anyhow, the suggested tagging 'motor_vehicle=destination, bicycle=yes' is much more appropriate. And here is what maptool makes from 'motor_vehicle=destination, bicycle=yes'. All motor vehicles are banned from this road.

I did some more reading in the source code:

Maptool evaluates the value 'destination' equal to 'no'. There is one exception, the 'access' key. Maptool applies the AF_THROUGH_TRAFFIC_LIMIT on the 'access=destination' tag only. The AF_THROUGH_TRAFFIC_LIMIT flag operates on all road users that are not banned. Maptool requires a differentiated 'destination' value handling per road user.

Last edited 4 years ago by chr (previous) (diff)

comment:6 Changed 4 years ago by chr

I did some more coding to get a clean bugfix. The attached patch has changes for maptool. The new binary map file contains through traffic flags per roaduser. Navit does a complete evaluation now. Maptool changed anyhow, thus the size-weight limits for truckers as well as the 'psv' key for taxi drivers are added too.

Navit with this patch should be able to read former map files.

Changed 4 years ago by chr

comment:7 Changed 4 years ago by chr

Minor fix of through-traffic_size-weight_psv.patch​. Do not use it. Please use the new patch file through-traffic_size-weight_psv.patch​2.

Changed 4 years ago by chr

Extended evaluation of access permissions.

Note: See TracTickets for help on using tickets.