Rev 3647 | Blame | Compare with Previous | Last modification | View Log | RSS feed
# Define the access restrictions
# The following tags define the restrictions:
# mkgmap:bicycle
# mkgmap:foot
# mkgmap:car
# mkgmap:truck
# mkgmap:taxi
# mkgmap:bus
# mkgmap:emergency
# mkgmap:delivery
# A class is not allowed to use the way if its tag is set to 'no'
# First set access settings with high priority.
#
# In case a way is tagged with
# highway=motorway;access=yes
# we assume that foot and bikes are not allowed anyhow.
highway=* & motorroad=yes { add bicycle=no; add foot=no; }
highway=motorway | highway=motorway_link { add bicycle=no; add foot=no; }
(access=agricultural | access=forestry) { set access=no; add foot=yes }
# Now fill the access tree (http://wiki.openstreetmap.org/wiki/Key:access)
# This is required so that subsequent rules do not add a tag (bicycle) which is already defined by a higher tag (vehicle)
access=* { add foot='${access}'; add vehicle='${access}'; }
vehicle=* { add bicycle='${vehicle}'; add motor_vehicle='${vehicle}'; }
motor_vehicle=* { add motorcar='${motor_vehicle}'; add goods='${motor_vehicle}'; add hgv='${motor_vehicle}'; add psv='${motor_vehicle}'; add emergency='${motor_vehicle}'; }
psv=* { add taxi='${psv}'; add bus='${psv}'; }
# Include country specific access rules that are derived from the highway type
include 'inc/access_country';
# Add common access rules that are derived from the highway type
highway=steps { add foot=yes; add access=no }
highway=pedestrian & area!=yes { add foot=yes; add access=no }
highway=path { add foot=yes; add bicycle=yes; add access=no }
highway=bridleway { add access=no }
highway=cycleway { add bicycle=yes; add access=no }
highway=footway { add foot=yes; add access=no }
railway=platform { add foot=yes; add access=no }
# throughroute cannot be handled differently for different vehicle types
# Therefore we have to choose one vehicle type - and the winner is: motorcar
motorcar=destination | motorcar=delivery { set mkgmap:throughroute=no; set motorcar=yes }
access=destination | access=delivery { set mkgmap:throughroute=no; set access=yes }
# Normalize all values that indicate a restriction to 'no'
foot=private | foot=agricultural | foot=forestry { set foot=no }
bicycle=private | bicycle=agricultural | bicycle=forestry { set bicycle=no }
motorcar=private | motorcar=agricultural | motorcar=forestry { set motorcar=no }
goods=private | goods=agricultural | goods=forestry { set goods=no }
hgv=private | hgv=agricultural | hgv=forestry { set hgv=no }
bus=private | bus=agricultural | bus=forestry { set bus=no }
taxi=private | taxi=agricultural | taxi=forestry { set taxi=no }
emergency=private | emergency=agricultural | emergency=forestry { set emergency=no }
# Copy the OSM access tags to the mkgmap internal tags
foot=* { set mkgmap:foot='${foot}' }
bicycle=* { set mkgmap:bicycle='${bicycle}' }
motorcar=* { set mkgmap:car='${motorcar}' }
goods=* { set mkgmap:delivery='${goods}' }
hgv=* { set mkgmap:truck='${hgv}' }
bus=* { set mkgmap:bus='${bus}' }
taxi=* { set mkgmap:taxi='${taxi}' }
emergency=* { set mkgmap:emergency='${emergency}' }
# The access tag defines all restrictions that are not already set
access=* { addaccess '${access}' }
# Check for carpool lane (they are not really supported yet so these lines are commented)
# hov=* { add carpool='${hov}' }
# (carpool=yes | carpool=designated | carpool=permissive | carpool=official) { set mkgmap:carpool=yes }
# Don't route through highway=construction, they are considered unusable
highway=construction {setaccess no}