[mkgmap-dev] overlays file for POIs
From Felix Hartmann extremecarver at googlemail.com on Mon Jan 18 14:00:06 GMT 2010
On 18.01.2010 14:48, Marko Mäkelä wrote: > Hi Felix, > > On Mon, Jan 18, 2010 at 02:19:45PM +0100, Felix Hartmann wrote: > >> Actually I found two ways how to make it work. Sometimes the mkgmap >> style-file code allows so many nice workarounds. :-) >> >> *a)* the odd way >> rcn_ref=*& rcn_ref=10 { name '${rcn_ref}' } [0x01701 resolution 22 >> continue] >> rcn_ref=10 { name '${rcn_ref}' } [0x01800 >> resolution 22] >> >> *b)* the logic way (which can be used for even more than 2 symbols) - >> > Why couldn't the odd way be used for several symbols? > Well, it will only once be considered as different. example: rcn_ref=* & rcn_ref=10 [0x01 resolution 24 continue] rcn_ref=10 [0x02 resolution 24 continue] rcn_ref=10 [0x03 resolution 24] --- is identical to the line above and will not work. > Would having multiple rcn_ref=*& at the start of the rule help? > That could well be possible. I have not tried it. > Why do you need the rcn_ref=*& anyway? Shouldn't the continue > do the trick already? > No, the trick is not working, as the you cannot run "continue" for asking the same value twice. The idea of continue was more that if you have a single node tagged amenity=restaurant & amenity=hotel that neither is dropped (so you find both via the search function), or that if a line is tagged higwhay=residential & railway=rail both will be rendered/included in the map. > Ultimately, I would like to see something like this: > > (rcn_ref % 100 / 100) = 1 [symbol for '1__' continue] > (rcn_ref % 10 / 10) = 1 [ symbol for '_1_' continue] > (rcn_ref % 10) = 1 [ symbol for '__1' ] > > You might need to prefix these rules with rcn_ref=*. > Well that would be nicer. If you integrate these regex operators, maybe you could come up with a conversion for units (mph --> kph) too. It would be enough if: distance=125miles could be seperated into distance=125 distance:unit=miles for further processing. > Removing leading zeros would take some further conditions, something > like this: > > rcn_ref> 9& (rcn_ref % 10 / 10) = 0 [ symbol for '_0_' continue] > > and (if we are to support rcn_ref> 999) > > rcn_ref> 99& (rcn_ref % 100 / 100) = 0 [ symbol for '0__' continue] > > Currently, the parser does not support arithmetic operators such > as /, %, *, +, -. Integer arithmetics should be easy implement. > Currently I have the following in my style-file for this (I will change it around a bit, for better searchability, and effectively create 3 POI out of each node (by set mkgmap:rcn_ref=...; set mkgmap:1rcn_ref=....; name...} I just have to search for matching IDs). I will experiment a bit with deleting the name key too. rcn_ref=* & rcn_ref > 89 & rcn_ref < 100 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}'} [0x01709 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 79 & rcn_ref < 90 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01708 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 69 & rcn_ref < 80 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01707 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 59 & rcn_ref < 70 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01706 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 49 & rcn_ref < 60 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01705 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 39 & rcn_ref < 50 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01704 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 29 & rcn_ref < 40 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01703 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 19 & rcn_ref < 30 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01702 resolution 21 continue with_actions] rcn_ref=* & rcn_ref > 9 & rcn_ref < 20 { set mkgmap:rcn_ref='${rcn_ref}'; name '${rcn_ref}' } [0x01701 resolution 21 continue with_actions] mkgmap:rcn_ref=10 | mkgmap:rcn_ref=20 | mkgmap:rcn_ref=30 | mkgmap:rcn_ref=40 | mkgmap:rcn_ref=50 | mkgmap:rcn_ref=60 | mkgmap:rcn_ref=70 | mkgmap:rcn_ref=80 | mkgmap:rcn_ref=90 { name '${rcn_ref}' } [0x01800 resolution 21] mkgmap:rcn_ref=11 | mkgmap:rcn_ref=21 | mkgmap:rcn_ref=31 | mkgmap:rcn_ref=41 | mkgmap:rcn_ref=51 | mkgmap:rcn_ref=61 | mkgmap:rcn_ref=71 | mkgmap:rcn_ref=81 | mkgmap:rcn_ref=91 { name '${rcn_ref}' } [0x01801 resolution 21] mkgmap:rcn_ref=12 | mkgmap:rcn_ref=22 | mkgmap:rcn_ref=32 | mkgmap:rcn_ref=42 | mkgmap:rcn_ref=52 | mkgmap:rcn_ref=62 | mkgmap:rcn_ref=72 | mkgmap:rcn_ref=82 | mkgmap:rcn_ref=92 { name '${rcn_ref}' } [0x01802 resolution 21] mkgmap:rcn_ref=13 | mkgmap:rcn_ref=23 | mkgmap:rcn_ref=33 | mkgmap:rcn_ref=43 | mkgmap:rcn_ref=53 | mkgmap:rcn_ref=63 | mkgmap:rcn_ref=73 | mkgmap:rcn_ref=83 | mkgmap:rcn_ref=93 { name '${rcn_ref}' } [0x01803 resolution 21] mkgmap:rcn_ref=14 | mkgmap:rcn_ref=24 | mkgmap:rcn_ref=34 | mkgmap:rcn_ref=44 | mkgmap:rcn_ref=54 | mkgmap:rcn_ref=64 | mkgmap:rcn_ref=74 | mkgmap:rcn_ref=84 | mkgmap:rcn_ref=94 { name '${rcn_ref}' } [0x01804 resolution 21] mkgmap:rcn_ref=15 | mkgmap:rcn_ref=25 | mkgmap:rcn_ref=35 | mkgmap:rcn_ref=45 | mkgmap:rcn_ref=55 | mkgmap:rcn_ref=65 | mkgmap:rcn_ref=75 | mkgmap:rcn_ref=85 | mkgmap:rcn_ref=95 { name '${rcn_ref}' } [0x01805 resolution 21] mkgmap:rcn_ref=16 | mkgmap:rcn_ref=26 | mkgmap:rcn_ref=36 | mkgmap:rcn_ref=46 | mkgmap:rcn_ref=56 | mkgmap:rcn_ref=66 | mkgmap:rcn_ref=76 | mkgmap:rcn_ref=86 | mkgmap:rcn_ref=96 { name '${rcn_ref}' } [0x01806 resolution 21] mkgmap:rcn_ref=17 | mkgmap:rcn_ref=27 | mkgmap:rcn_ref=37 | mkgmap:rcn_ref=47 | mkgmap:rcn_ref=57 | mkgmap:rcn_ref=67 | mkgmap:rcn_ref=77 | mkgmap:rcn_ref=87 | mkgmap:rcn_ref=97 { name '${rcn_ref}' } [0x01807 resolution 21] mkgmap:rcn_ref=18 | mkgmap:rcn_ref=28 | mkgmap:rcn_ref=38 | mkgmap:rcn_ref=48 | mkgmap:rcn_ref=58 | mkgmap:rcn_ref=68 | mkgmap:rcn_ref=78 | mkgmap:rcn_ref=88 | mkgmap:rcn_ref=98 { name '${rcn_ref}' } [0x01808 resolution 21] mkgmap:rcn_ref=19 | mkgmap:rcn_ref=29 | mkgmap:rcn_ref=39 | mkgmap:rcn_ref=49 | mkgmap:rcn_ref=59 | mkgmap:rcn_ref=69 | mkgmap:rcn_ref=79 | mkgmap:rcn_ref=89 | mkgmap:rcn_ref=99 { name '${rcn_ref}' } [0x01809 resolution 21] > Marko > _______________________________________________ > mkgmap-dev mailing list > mkgmap-dev at lists.mkgmap.org.uk > http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev >
- Previous message: [mkgmap-dev] overlays file for POIs
- Next message: [mkgmap-dev] overlays file for POIs
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the mkgmap-dev mailing list