view style-templates/distance_marks_geoserver.sld-template @ 5615:f6179b31e0a9 erdms2

Use a type alias on date type to not loose XML serialisation.
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 10 Nov 2022 19:19:21 +0100
parents 3c68d1572cab
children
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8"?>
<sld:StyledLayerDescriptor xmlns="http://www.opengis.net/sld" xmlns:sld="http://www.opengis.net/sld" xmlns:gml="http://www.opengis.net/gml" xmlns:ogc="http://www.opengis.net/ogc" version="1.0.0">
  <sld:NamedLayer>
    <sld:Name>distance_marks_geoserver</sld:Name>
    <sld:UserStyle>
      <sld:Name>distance_marks_geoserver</sld:Name>
      <sld:FeatureTypeStyle>
         <sld:Rule>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>1000</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>1000</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>8500000</sld:MinScaleDenominator>
            <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
              </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
            </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
         <sld:Rule>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>500</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>500</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>1100000</sld:MinScaleDenominator>
          <sld:MaxScaleDenominator>8500000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
              </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
             </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
        <sld:Rule>
          <sld:Name>100</sld:Name>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>100</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>100</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>800000</sld:MinScaleDenominator>
          <sld:MaxScaleDenominator>1100000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
              </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
            </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
        <sld:Rule>
          <sld:Name>50</sld:Name>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>50</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>50</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>200000</sld:MinScaleDenominator>
          <sld:MaxScaleDenominator>800000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
              </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
             </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
        <sld:Rule>
          <sld:Name>20</sld:Name>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>20</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>20</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>60000</sld:MinScaleDenominator>
          <sld:MaxScaleDenominator>200000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
                </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
            </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
        <sld:Rule>
          <sld:Name>10</sld:Name>
          <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc">
            <ogc:PropertyIsEqualTo>
              <ogc:Sub>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Mul>
                  <ogc:Literal>10</ogc:Literal>
                  <ogc:Function name="round">
                    <ogc:Div>
                      <ogc:PropertyName>hectometre</ogc:PropertyName>
                      <ogc:Literal>10</ogc:Literal>
                    </ogc:Div>
                  </ogc:Function>
                </ogc:Mul>
              </ogc:Sub>
              <ogc:Literal>0</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <sld:MinScaleDenominator>10000</sld:MinScaleDenominator>
          <sld:MaxScaleDenominator>60000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Function name="round">
                <ogc:Div>
                  <ogc:PropertyName>hectometre</ogc:PropertyName>
                  <ogc:Literal>10</ogc:Literal>
                </ogc:Div>
                </ogc:Function>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
            </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
        <sld:Rule>
          <sld:Name>1</sld:Name>
          <sld:MaxScaleDenominator>10000</sld:MaxScaleDenominator>
           <sld:TextSymbolizer>
            <sld:Label>
              <ogc:Div>
                <ogc:PropertyName>hectometre</ogc:PropertyName>
                <ogc:Literal>10</ogc:Literal>
              </ogc:Div>
            </sld:Label>
            <sld:Font>
              <sld:CssParameter name="font-family">Sans Serif</sld:CssParameter>
              <sld:CssParameter name="font-size">10</sld:CssParameter>
              <sld:CssParameter name="font-weight">bold</sld:CssParameter>
            </sld:Font>
            <sld:LabelPlacement>
              <sld:PointPlacement>
                <sld:AnchorPoint>
                  <sld:AnchorPointX>0</sld:AnchorPointX>
                  <sld:AnchorPointY>-0.5</sld:AnchorPointY>
                </sld:AnchorPoint>
              </sld:PointPlacement>
            </sld:LabelPlacement>
            <sld:Fill>
              <sld:CssParameter name="fill">#000000</sld:CssParameter>
            </sld:Fill>
            <sld:Halo>
            </sld:Halo>
          </sld:TextSymbolizer>
          <sld:PointSymbolizer>
            <sld:Graphic>
              <sld:Mark>
                <sld:WellKnownName>circle</sld:WellKnownName>
                <sld:Fill>
                  <sld:CssParameter name="fill">{{ .distance_marks_fill }}</sld:CssParameter>
                  <sld:CssParameter name="fill-opacity">{{ .distance_marks_fill_opacity }}</sld:CssParameter>
                </sld:Fill>
                <sld:Stroke>
                  <sld:CssParameter name="stroke">{{ .distance_marks_stroke }}</sld:CssParameter>
                  <sld:CssParameter name="stroke-width">1</sld:CssParameter>
                </sld:Stroke>
              </sld:Mark>
              <sld:Size>10</sld:Size>
            </sld:Graphic>
          </sld:PointSymbolizer>
        </sld:Rule>
      </sld:FeatureTypeStyle>
    </sld:UserStyle>
  </sld:NamedLayer>
</sld:StyledLayerDescriptor>