
On 22.01.2010 16:20, Torsten Leistikow wrote:
Felix Hartmann schrieb am 21.01.2010 22:14:
keya=123& highway=primary[continue] output keya=123& higwhay=*& highway!=primary [continue] no output keya=123 [final] output
So you have to build a quite an extensive !=abc list to not output the same lines several times. This now needs a lot of code if you for example want to have 4 different designs for bridges, depending on the width of the way it goes with.
I use auxiliary tags for such tasks:
keya=123& highway= primary {set keya_done=true} [continue] output keya=123& highway=*& keya_done!=true [continue] no output keya=123 [final] output
So you do have only one !=abc tag for each key, if you want to suppress the output.
I know one related bug in the style branch, the following does not work (but it also does not work reliable in the trunk):
highway=primary& keya=123 {set highway=deleted} [continue] highway=primary [final]
Both rules will result in an output. My understanding is, that you can not change the first (or perhaps the main) expression of a rule in the action part. I think it is related to the rule matching done via a hash table, but I am not really familiar with the source, so this is just an educated guess.
See below for an example that does not work. It works with 1497, but 1498 breaks it. highway=* & copy=99 & mtb:scale:uphill!=5 & mtb:scale:uphill!=4 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10711 resolution 21 continue with_actions] *output* highway=* & copy=98 & mtb:scale:uphill!=5 & mtb:scale:uphill!=4 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10713 resolution 21 continue with_actions] *output* highway=* & copy=99 & mtb:scale:uphill=4 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10711 resolution 21 continue with_actions] *output* highway=* & copy=98 & mtb:scale:uphill=4 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10713 resolution 21 continue with_actions] *output* highway=* & copy=99 & mtb:scale:uphill=5 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10710 resolution 21 continue with_actions] *output* highway=* & copy=98 & mtb:scale:uphill=5 { set dontadd=yes; set taxi=no; set dontadd=oneway; set mkgmap:unpaved=1 } [0x10712 resolution 21 continue with_actions] *output* highway=* & dontadd=oneway & copy=99 & mtb:scale:uphill=4 { set oneway=-1; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* highway=* & dontadd=oneway & copy=98 & mtb:scale:uphill=4 { set oneway=yes; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* highway=* & dontadd=oneway & copy=99 & mtb:scale:uphill=5 { set oneway=-1; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* highway=* & dontadd=oneway & copy=98 & mtb:scale:uphill=5 { set oneway=yes; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* highway=* & dontadd=oneway & copy=99 & mtb:scale:uphill!=5 & mtb:scale:uphill!=4 { set oneway=-1; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* highway=* & dontadd=oneway & copy=98 & mtb:scale:uphill!=5 & mtb:scale:uphill!=4 { set oneway=yes; set taxi=no; set mkgmap:unpaved=1 } [0x01 road_class=0 road_speed=0 resolution 21 continue] *output* dontadd=yes [0x04 resolution 16 continue] *no output*
Gruss Torsten _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev