logo separator

[mkgmap-dev] Simplify setting access tags in the mergeroads branch

From WanMil wmgcnfg at web.de on Sun Oct 6 19:06:55 BST 2013

Hi all,

I am still thinking about how to simplify setting the access tags in the 
mergeroads branch.

Felix posted his concerns that the new handling requires much more style 

At the moment my favourite changes are to add two more actions:
1. addaccess:
This adds the given value to all access fields (only if they are not 
already set)
2. setaccess:
This sets the given value to all access fields (only if they are not 
already set)

The mkgmap:access tag will no longer be evaluated.
@Felix: I don't want to add an option so that you can set which values 
are evaluated as no. I am not convinced that it is required. If you are 
unhappy please post a reasonable example where it is really required and 
feel free to add a patch yourself.


highway=track, tracktype=grade2, access=no, bicycle=yes, foot=private

highway=track & tracktype ~ 'grade[2-5]' { setaccess no; set 
mkgmap:bike=yes; set mkgmap:foot=yes; }
=> Result: access only for bike and foot

highway=* & foot=private { set mkgmap:foot=yes }
highway=* & tracktype=grade2 { addaccess no }
=> Result: access for foot only (addaccess sets the mkgmap:foot value 
only if not already set)

(bicycle=yes| bicycle=private ) { set mkgmap:bike=yes }
(foot=yes | foot=private) { set mkgmap:foot=yes }
access=* ( addaccess '${access}' }
=> Result: no access for all types except bike and foot

I think its clear now, how it works.


The following flags will be set by addaccess and setaccess.

I am not sure if it also makes sense to set the mkgmap:carpool flag.
mkgmap:carpool is handled special: if it is set to 'yes' all access tags 
are set to no except carpool, emergency and bus. This copies the 
behaviour from trunk but I don't know if we should keept this?

What is your opinion about the two new actions? Do they help? Are they 
sufficient? Are any other actions required?


More information about the mkgmap-dev mailing list