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