I think I have this right in my head, but I just want to check.

A Layer can have multiple Styles.
A Style can have multiple Rules.

When processing a Layer, all Styles that apply (based on the rules) and 
drawn.
When processing a Style, the first Rule that applies is used.

Is this correct?  So when I look at the osm-template.xml file, I see 
(with some simplification)
  <Layer name="tunnels">
    <StyleName>tunnels-casing</StyleName>
    <StyleName>tunnels-fill</StyleName>
</Layer>

<Style name="tunnels-casing">
    <Rule>
      <Filter>([highway] = 'motorway' or [highway]='motorway_link') and 
([tunnel] = 'yes' or [tunnel] ='true')</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
        <CssParameter name="stroke-width">3</CssParameter>
    </Rule>
</Style>
<Style name="tunnels-fill">
    <Rule>
      <Filter>([highway] = 'motorway' or [highway]='motorway_link') and 
([tunnel] = 'yes' or [tunnel] ='true')</Filter>
      <MaxScaleDenominator>200000</MaxScaleDenominator>
      <MinScaleDenominator>100000</MinScaleDenominator>
        <CssParameter name="stroke-width">2</CssParameter>
    </Rule>
</Style>

So, a feature that is at scale of (say) 50000 with the right conditions 
based on the filter would be drawn twice.  Once with a stroke width of 3 
(the tunnels-casing style) and once with a stroke width of 2 (the 
tunnels-fill style).  And they will be drawn in the order defined by the 
Layer tag?

Do I have this all straight?

- Brian
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users

Reply via email to