logo separator

[mkgmap-dev] access=no//access=private on short lines vs long lines

From WanMil wmgcnfg at web.de on Thu Aug 30 10:03:55 BST 2012

> Mkgmap has some filters that allow for example not putting small areas
> into the map.
>
> It would be great, to have a very simple filter for highways too, called
> via the style-file. I would imagine the following command to be very useful:
>
> highway=service & ( access=private | access=no ) &
> mkgmap:filter:length<100m {delete highway; delete oneway; delete tunnel;
> delete bridge}
>
>
> It does not need to be meters, it can be Garmin units,  so one can
> quickly experiment with it. This would come very handy so one could make
> clean maps without showing the private garden micromapping that is
> getting more and more common. Excluding all highways with
> access=no/access=private, however often runs into problems with faulty
> tagging. Having a length check should get rid of annoying for general
> use not usable micromapping. As the mkgmap filter would only be called
> upon request from the style-file, it should not harm performance
> (checking length of every way would of course).
>

Two things come into my mind:

1. Highways are often divided into several parts due to tagging bridges, 
maxspeed, lanes etc. So in your example all bridges tagged with 
access=private|no will disappear although they might belong to mucher 
longer highways. Is that ok for you? Do you have an idea for a solution 
how to avoid that?

2. You want to introduce some kind of functions in the style system. 
mkgmap:filter:length is no tag but would call a function that calculates 
the length on request. That sounds good to me but we should plan 
carefully how to implement functions.
- Do we need a special notation in the style files? e.g. functions start 
with two colons ::length.km<100
- Do we have to avoid that functions are called more than once so the 
result is cached? e.g. the result might be stored in a tag or a seperate 
data structure
- Functions might require some tags. So their implementation must signal 
the style system which ones these are so that the loader of the input 
file does not ignore these tags.
- The results of a function might be numeric or a text.
- ...?

WanMil





More information about the mkgmap-dev mailing list