SLD-voorbeelden

Hieronder staan enkele voorbeelden van de mogelijkheden voor opmaak met een SLD (Styled Layer Descriptor) xml. De codevoorbeelden onder de afbeeldingen zijn uitvouwbaar.

Opmaken huisnummers verblijfsobjecten

De laag bag:verblijfsobject uit de PDOK BAG WFS heeft huisnummers, huisletters en toevoegingen, maar die staan in drie losse velden. Je wil deze wel als 1 label tonen in de viewer. Hieronder een voorbeeld-SLD die dit doet waarbij toevoegingen met een streepje aan het huisnummer worden geplakt en huisletters er direct achter worden gezet.

<?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.0.0/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>Adreslabel</Name> <UserStyle> <Name>Adreslabel</Name> <FeatureTypeStyle> <Rule> <!-- Als toevoeging niet NULL of leeg is, maak dan label op als {huisnummer}{huisletter}-{toevoeging} --> <ogc:Filter> <ogc:Not> <ogc:Or> <ogc:PropertyIsNull> <ogc:PropertyName>toevoeging</ogc:PropertyName> </ogc:PropertyIsNull> <ogc:PropertyIsEqualTo> <ogc:PropertyName>toevoeging</ogc:PropertyName> <ogc:Literal></ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Or> </ogc:Not> </ogc:Filter> <TextSymbolizer> <!-- Je kan PropertyName elementen en tekst mixen in een label. Alle losse fragmenten worden van whitespace gestript en aan elkaar geplakt. --> <Label> <ogc:PropertyName>huisnummer</ogc:PropertyName> <ogc:PropertyName>huisletter</ogc:PropertyName> - <ogc:PropertyName>toevoeging</ogc:PropertyName> </Label> <Font> <!-- Let op: gebruik SLD v1.0.0 syntax met CssParameter i.p.v. SvgParameter. De viewer kan beide tonen, maar mapfish print snapt alleen v1.0.0 syntax. --> <CssParameter name="font-family">sans-serif</CssParameter> <CssParameter name="font-size">12</CssParameter> </Font> <Fill> <CssParameter name="fill">#000000</CssParameter> </Fill> </TextSymbolizer> </Rule> <Rule> <!-- In alle andere gevallen, maak label op als {huisnummer}{huisletter}. --> <ElseFilter /> <TextSymbolizer> <Label> <ogc:PropertyName>huisnummer</ogc:PropertyName> <ogc:PropertyName>huisletter</ogc:PropertyName> </Label> <Font> <CssParameter name="font-family">sans-serif</CssParameter> <CssParameter name="font-size">12</CssParameter> </Font> <Fill> <CssParameter name="fill">#000000</CssParameter> </Fill> </TextSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>

 

Tweekleurenstreepjespatroon

Het is in Onemap mogelijk om meerdere symbolizers per rule op te geven, deze worden dan in volgorde van boven naar beneden getekend. Zo kan je een tweekleurenstreepjespatroon maken door een streepjespatroon boven op een gekleurde lijn te laten tekenen.

<?xml version="1.0" encoding="UTF-8"?> <StyledLayerDescriptor xmlns="http://www.opengis.net/se" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xsi:schemaLocation="http://www.opengis.net/sld http://schemas.opengis.net/sld/1.1.0/StyledLayerDescriptor.xsd" xmlns:se="http://www.opengis.net/se" version="1.1.0" xmlns:ogc="http://www.opengis.net/ogc"> <NamedLayer> <Name>Lijnen</Name> <UserStyle> <Name>Tweekleurenstreepjes</Name> <FeatureTypeStyle> <Rule> <LineSymbolizer> <Stroke> <SvgParameter name="stroke">#FFFF00</SvgParameter> <SvgParameter name="stroke-width">4</SvgParameter> </Stroke> </LineSymbolizer> <LineSymbolizer> <Stroke> <SvgParameter name="stroke">#4400AA</SvgParameter> <SvgParameter name="stroke-width">4</SvgParameter> <SvgParameter name="stroke-dasharray">4 10</SvgParameter> </Stroke> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>

 

 

Gebruik van Graphic marks

Met het gebruik van Graphic Marks kunnen eenvoudige symbolen als vulpatroon worden toegevoegd aan de sld. Voorbeelden van eenvoudige symbolen zijn : backslash, square, circle… Op deze manier kan arcering en andere 'hatch' patronen worden toegevoegd.

<?xml version="1.0" encoding="utf-8"?> <StyledLayerDescriptor 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" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/sld StyledLayerDescriptor.xsd"> <NamedLayer> <Name>perceel</Name> <UserStyle> <Title>perceel</Title> <FeatureTypeStyle> <Rule> <Name>0 - 150</Name> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>0</ogc:Literal> </ogc:PropertyIsGreaterThanOrEqualTo> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>150</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <GraphicFill> <Graphic> <Mark> <WellKnownName>backslash</WellKnownName> <Fill> <CssParameter name="fill">#30123b</CssParameter> <CssParameter name="fill-opacity">1.0</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#30123b</CssParameter> <CssParameter name="stroke-width">1.4</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> </Stroke> </Mark> <Opacity/> <Size>4</Size> <Rotation>0</Rotation> </Graphic> </GraphicFill> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#30123b</CssParameter> <CssParameter name="stroke-width">1.6428571428571428</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">square</CssParameter> </Stroke> <PerpendicularOffset>0.0</PerpendicularOffset> </LineSymbolizer> </Rule> <Rule> <Name>150 - 300</Name> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>150</ogc:Literal> </ogc:PropertyIsGreaterThan> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>300</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <GraphicFill> <Graphic> <Mark> <WellKnownName>backslash</WellKnownName> <Fill> <CssParameter name="fill">#28bceb</CssParameter> <CssParameter name="fill-opacity">1.0</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#28bceb</CssParameter> <CssParameter name="stroke-width">1.4</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> </Stroke> </Mark> <Opacity/> <Size>8</Size> <Rotation>0</Rotation> </Graphic> </GraphicFill> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">1.6428571428571428</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">square</CssParameter> </Stroke> <PerpendicularOffset>0.0</PerpendicularOffset> </LineSymbolizer> </Rule> <Rule> <Name>300 - 600</Name> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>300</ogc:Literal> </ogc:PropertyIsGreaterThan> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>600</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <GraphicFill> <Graphic> <Mark> <WellKnownName>backslash</WellKnownName> <Fill> <CssParameter name="fill">#a4fc3c</CssParameter> <CssParameter name="fill-opacity">1.0</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#a4fc3c</CssParameter> <CssParameter name="stroke-width">1.4</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> </Stroke> </Mark> <Opacity/> <Size>12</Size> <Rotation>0</Rotation> </Graphic> </GraphicFill> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">1.6428571428571428</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">square</CssParameter> </Stroke> <PerpendicularOffset>0.0</PerpendicularOffset> </LineSymbolizer> </Rule> <Rule> <Name>600 - 3500</Name> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>600</ogc:Literal> </ogc:PropertyIsGreaterThan> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>3500</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <GraphicFill> <Graphic> <Mark> <WellKnownName>backslash</WellKnownName> <Fill> <CssParameter name="fill">#fb7e21</CssParameter> <CssParameter name="fill-opacity">1.0</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#fb7e21</CssParameter> <CssParameter name="stroke-width">1.4</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> </Stroke> </Mark> <Opacity/> <Size>16</Size> <Rotation>0</Rotation> </Graphic> </GraphicFill> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">1.6428571428571428</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">square</CssParameter> </Stroke> <PerpendicularOffset>0.0</PerpendicularOffset> </LineSymbolizer> </Rule> <Rule> <Name>3500 en groter</Name> <ogc:Filter> <ogc:And> <ogc:PropertyIsGreaterThan> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>3500</ogc:Literal> </ogc:PropertyIsGreaterThan> <ogc:PropertyIsLessThanOrEqualTo> <ogc:PropertyName>kadastraleGrootteWaarde</ogc:PropertyName> <ogc:Literal>1000000</ogc:Literal> </ogc:PropertyIsLessThanOrEqualTo> </ogc:And> </ogc:Filter> <PolygonSymbolizer> <Fill> <GraphicFill> <Graphic> <Mark> <WellKnownName>backslash</WellKnownName> <Fill> <CssParameter name="fill">#ed52c9</CssParameter> <CssParameter name="fill-opacity">1.0</CssParameter> </Fill> <Stroke> <CssParameter name="stroke">#ed40d3</CssParameter> <CssParameter name="stroke-width">1.4</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> </Stroke> </Mark> <Opacity/> <Size>20</Size> <Rotation>0</Rotation> </Graphic> </GraphicFill> </Fill> </PolygonSymbolizer> <LineSymbolizer> <Stroke> <CssParameter name="stroke">#000000</CssParameter> <CssParameter name="stroke-width">1.6428571428571428</CssParameter> <CssParameter name="stroke-opacity">1.0</CssParameter> <CssParameter name="stroke-linejoin">bevel</CssParameter> <CssParameter name="stroke-linecap">square</CssParameter> </Stroke> <PerpendicularOffset>0.0</PerpendicularOffset> </LineSymbolizer> </Rule> </FeatureTypeStyle> </UserStyle> </NamedLayer> </StyledLayerDescriptor>