The idea is to create a style that will define different styles for certain groups of polygons using the element, and for all other polygons for which no style has been defined, generate a special style using .
Polygons are displayed on the map at a scale of 1:250000.
This part works correctly, but there is a problem when I add the label. The label must be displayed for ALL polygons on a scale of 1:5000.
At a scale of 1:5000, the polygons for which the style is defined in are no longer displayed on the map. Polygons that are defined in the block are correctly displayed with labels.
It seems like the style defined in overrides the style defined in
1:10000
1: 5000
Here is my code:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0"
xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"
xmlns="http://www.opengis.net/sld"
xmlns:ogc="http://www.opengis.net/ogc"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<NamedLayer>
<Name>Test</Name>
<UserStyle>
<Title>Test</Title>
<FeatureTypeStyle>
<Rule>
<Title>Group 1</Title>
<MaxScaleDenominator>250000</MaxScaleDenominator>
<ogc:Filter>
<PropertyIsEqualTo>
<PropertyName>attr1</PropertyName>
<Literal>1</Literal>
</PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#99e6ff</CssParameter>
<CssParameter name="fill-opacity">0.6</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#0086b3</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>Group 2</Title>
<MaxScaleDenominator>250000</MaxScaleDenominator>
<ogc:Filter>
<PropertyIsEqualTo>
<PropertyName>attr2</PropertyName>
<Literal>2</Literal>
</PropertyIsEqualTo>
</ogc:Filter>
<PolygonSymbolizer>
<Fill>
<CssParameter name="fill">#71da71</CssParameter>
<CssParameter name="fill-opacity">0.6</CssParameter>
</Fill>
<Stroke>
<CssParameter name="stroke">#258e25</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<Title>Group undefined</Title>
<MaxScaleDenominator>250000</MaxScaleDenominator>
<ogc:ElseFilter/>
<PolygonSymbolizer>
<Fill>
<GraphicFill>
<Graphic>
<Mark>
<WellKnownName>shape://times</WellKnownName>
<Stroke>
<CssParameter name="stroke">#eb4034</CssParameter>
<CssParameter name="stroke-width">2</CssParameter>
</Stroke>
</Mark>
<Size>10</Size>
</Graphic>
</GraphicFill>
</Fill>
<Stroke>
<CssParameter name="stroke">#eb4034</CssParameter>
<CssParameter name="stroke-width">1</CssParameter>
</Stroke>
</PolygonSymbolizer>
</Rule>
<Rule>
<MaxScaleDenominator>5000</MaxScaleDenominator>
<TextSymbolizer>
<Label>
<ogc:PropertyName>attr_label</ogc:PropertyName>
</Label>
<Font>
<CssParameter name="font-family">arial</CssParameter>
<CssParameter name="font-weight">Bold</CssParameter>
<CssParameter name="font-size">10</CssParameter>
</Font>
<LabelPlacement>
<PointPlacement>
<AnchorPoint>
<AnchorPointX>0.5</AnchorPointX>
<AnchorPointY>0.5</AnchorPointY>
</AnchorPoint>
<Displacement>
<DisplacementX>0</DisplacementX>
<DisplacementY>0</DisplacementY>
</Displacement>
</PointPlacement>
</LabelPlacement>
<Fill>
<CssParameter name="fill">#000000</CssParameter>
</Fill>
</TextSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
What am I doing wrong?