1

我正在使用 Geoserver,并且通过 WMS 对点符号进行了一些奇怪的行为。

如果我在 EPSG:27700 中使用 GetMap 请求图像,我会得到这个图像: 在 EPSG 中渲染:27700

但是,如果我使用 EPSG:3857 执行相同的请求。我明白了:在 EPSG 中渲染:3857

这些图像是一个图层组以显示上下文,但变压器符号(互锁圆圈)的 SLD 代码在这里:

<?xml version="1.0" encoding="ISO-8859-1"?>
<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></Name>
    <UserStyle>
      <Title>Transformer</Title>
      <FeatureTypeStyle>
        <Rule> 
          <Title>Transformer</Title>
              <MinScaleDenominator>1</MinScaleDenominator>
          <MaxScaleDenominator>1001</MaxScaleDenominator>
          <PointSymbolizer  uom="http://www.opengeospatial.org/se/units/metre">
            <Graphic>
              <Mark>
                <WellKnownName>wkt://MULTIPOLYGON(((0.75 -0.5, 0.748972 -0.539252, 0.745891 -0.578396, 0.740766 -0.617326, 0.733611 -0.655934, 0.724444 -0.694114, 0.713292 -0.731763, 0.700185 -0.768776, 0.685159 -0.805052, 0.668255 -0.840493, 0.649519 -0.875, 0.629003 -0.908479, 0.606763 -0.940839, 0.582859 -0.97199, 0.557359 -1.001848, 0.53033 -1.03033, 0.501848 -1.057359, 0.47199 -1.082859, 0.440839 -1.106763, 0.408479 -1.129003, 0.375 -1.149519, 0.340493 -1.168255, 0.305052 -1.185159, 0.268776 -1.200185, 0.231763 -1.213292, 0.194114 -1.224444, 0.155934 -1.233611, 0.117326 -1.240766, 0.078396 -1.245891, 0.039252 -1.248972, 0 -1.25, -0.039252 -1.248972, -0.078396 -1.245891, -0.117326 -1.240766, -0.155934 -1.233611, -0.194114 -1.224444, -0.231763 -1.213292, -0.268776 -1.200185, -0.305052 -1.185159, -0.340493 -1.168255, -0.375 -1.149519, -0.408479 -1.129003, -0.440839 -1.106763, -0.47199 -1.082859, -0.501848 -1.057359, -0.53033 -1.03033, -0.557359 -1.001848, -0.582859 -0.97199, -0.606763 -0.940839, -0.629003 -0.908479, -0.649519 -0.875, -0.668255 -0.840493, -0.685159 -0.805052, -0.700185 -0.768776, -0.713292 -0.731763, -0.724444 -0.694114, -0.733611 -0.655934, -0.740766 -0.617326, -0.745891 -0.578396, -0.748972 -0.539252, -0.75 -0.5, -0.748972 -0.460748, -0.745891 -0.421604, -0.740766 -0.382674, -0.733611 -0.344066, -0.724444 -0.305886, -0.713292 -0.268237, -0.700185 -0.231224, -0.685159 -0.194948, -0.668255 -0.159507, -0.649519 -0.125, -0.629003 -0.091521, -0.606763 -0.059161, -0.582859 -0.02801, -0.557359 0.001848, -0.53033 0.03033, -0.501848 0.057359, -0.47199 0.082859, -0.440839 0.106763, -0.408479 0.129003, -0.375 0.149519, -0.340493 0.168255, -0.305052 0.185159, -0.268776 0.200185, -0.231763 0.213292, -0.194114 0.224444, -0.155934 0.233611, -0.117326 0.240766, -0.078396 0.245891, -0.039252 0.248972, 0 0.25, 0.039252 0.248972, 0.078396 0.245891, 0.117326 0.240766, 0.155934 0.233611, 0.194114 0.224444, 0.231763 0.213292, 0.268776 0.200185, 0.305052 0.185159, 0.340493 0.168255, 0.375 0.149519, 0.408479 0.129003, 0.440839 0.106763, 0.47199 0.082859, 0.501848 0.057359, 0.53033 0.03033, 0.557359 0.001848, 0.582859 -0.02801, 0.606763 -0.059161, 0.629003 -0.091521, 0.649519 -0.125, 0.668255 -0.159507, 0.685159 -0.194948, 0.700185 -0.231224, 0.713292 -0.268237, 0.724444 -0.305886, 0.733611 -0.344066, 0.740766 -0.382674, 0.745891 -0.421604, 0.748972 -0.460748, 0.75 -0.5)), ((0.75 0.5, 0.748972 0.460748, 0.745891 0.421604, 0.740766 0.382674, 0.733611 0.344066, 0.724444 0.305886, 0.713292 0.268237, 0.700185 0.231224, 0.685159 0.194948, 0.668255 0.159507, 0.649519 0.125, 0.629003 0.091521, 0.606763 0.059161, 0.582859 0.02801, 0.557359 -0.001848, 0.53033 -0.03033, 0.501848 -0.057359, 0.47199 -0.082859, 0.440839 -0.106763, 0.408479 -0.129003, 0.375 -0.149519, 0.340493 -0.168255, 0.305052 -0.185159, 0.268776 -0.200185, 0.231763 -0.213292, 0.194114 -0.224444, 0.155934 -0.233611, 0.117326 -0.240766, 0.078396 -0.245891, 0.039252 -0.248972, 0 -0.25, -0.039252 -0.248972, -0.078396 -0.245891, -0.117326 -0.240766, -0.155934 -0.233611, -0.194114 -0.224444, -0.231763 -0.213292, -0.268776 -0.200185, -0.305052 -0.185159, -0.340493 -0.168255, -0.375 -0.149519, -0.408479 -0.129003, -0.440839 -0.106763, -0.47199 -0.082859, -0.501848 -0.057359, -0.53033 -0.03033, -0.557359 -0.001848, -0.582859 0.02801, -0.606763 0.059161, -0.629003 0.091521, -0.649519 0.125, -0.668255 0.159507, -0.685159 0.194948, -0.700185 0.231224, -0.713292 0.268237, -0.724444 0.305886, -0.733611 0.344066, -0.740766 0.382674, -0.745891 0.421604, -0.748972 0.460748, -0.75 0.5, -0.748972 0.539252, -0.745891 0.578396, -0.740766 0.617326, -0.733611 0.655934, -0.724444 0.694114, -0.713292 0.731763, -0.700185 0.768776, -0.685159 0.805052, -0.668255 0.840493, -0.649519 0.875, -0.629003 0.908479, -0.606763 0.940839, -0.582859 0.97199, -0.557359 1.001848, -0.53033 1.03033, -0.501848 1.057359, -0.47199 1.082859, -0.440839 1.106763, -0.408479 1.129003, -0.375 1.149519, -0.340493 1.168255, -0.305052 1.185159, -0.268776 1.200185, -0.231763 1.213292, -0.194114 1.224444, -0.155934 1.233611, -0.117326 1.240766, -0.078396 1.245891, -0.039252 1.248972, 0 1.25, 0.039252 1.248972, 0.078396 1.245891, 0.117326 1.240766, 0.155934 1.233611, 0.194114 1.224444, 0.231763 1.213292, 0.268776 1.200185, 0.305052 1.185159, 0.340493 1.168255, 0.375 1.149519, 0.408479 1.129003, 0.440839 1.106763, 0.47199 1.082859, 0.501848 1.057359, 0.53033 1.03033, 0.557359 1.001848, 0.582859 0.97199, 0.606763 0.940839, 0.629003 0.908479, 0.649519 0.875, 0.668255 0.840493, 0.685159 0.805052, 0.700185 0.768776, 0.713292 0.731763, 0.724444 0.694114, 0.733611 0.655934, 0.740766 0.617326, 0.745891 0.578396, 0.748972 0.539252, 0.75 0.5)))</WellKnownName>
                <Fill>
                  <CssParameter name="opacity">0</CssParameter>
                </Fill>
                          <Stroke>
            <CssParameter name="stroke">
              <ogc:PropertyName>higher_voltage_colour</ogc:PropertyName>
            </CssParameter>
            <CssParameter name="stroke-width">0.05</CssParameter>
          </Stroke>
              </Mark>
              <Size>1.25</Size>
                <Rotation>
                  <ogc:Mul>
                      <ogc:PropertyName>orientation</ogc:PropertyName>
                      <ogc:Literal>-1</ogc:Literal>
                  </ogc:Mul>
            </Rotation>
            </Graphic>
          </PointSymbolizer>
        </Rule>

      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>

在 EPSG:3857 中渲染时,看起来 Geoserver 没有缩放 SVG 符号。有谁知道这里发生了什么以及如何解决它?

编辑 作为另一个示例,下面是橙色块上方黑线的 SLD,它是缩放到参数的单位线 - 这似乎在 EPSG:3857 中也没有缩放

<?xml version="1.0" encoding="ISO-8859-1"?>
<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></Name>
    <UserStyle>
      <Title>Low Voltage Board</Title>
      <FeatureTypeStyle>
        <Rule>
          <Title>Low Voltage Board</Title>
          <ogc:Filter>
            <ogc:PropertyIsEqualTo>
              <ogc:PropertyName>feat_code</ogc:PropertyName>
              <ogc:Literal>lv_board</ogc:Literal>
            </ogc:PropertyIsEqualTo>
          </ogc:Filter>
          <MinScaleDenominator>1</MinScaleDenominator>
          <MaxScaleDenominator>1001</MaxScaleDenominator>
          <PointSymbolizer  uom="http://www.opengeospatial.org/se/units/metre">
            <Graphic>
              <Mark>
                <WellKnownName>
                    wkt://LINESTRING(0 0, 0 1)
                </WellKnownName>
                <Fill>
                  <CssParameter name="opacity">0</CssParameter>
                </Fill>
                          <Stroke>
            <CssParameter name="stroke">
             #000000
            </CssParameter>
            <CssParameter name="stroke-width">0.1</CssParameter>
          </Stroke>
              </Mark>
              <Size>
                 <ogc:PropertyName>board_length</ogc:PropertyName>
                </Size>
                <Rotation>
                  <ogc:Add>
                  <ogc:Mul>
                      <ogc:PropertyName>orientation</ogc:PropertyName>

                      <ogc:Literal>-1</ogc:Literal>
                  </ogc:Mul>
                    <ogc:Literal>90</ogc:Literal>
                  </ogc:Add>
            </Rotation>
            </Graphic>
          </PointSymbolizer>
        </Rule>

      </FeatureTypeStyle>
    </UserStyle>
  </NamedLayer>
</StyledLayerDescriptor>
4

1 回答 1

0

我的情况差不多。符号在 EPSG:28992 中的缩放比例很好,而不是在 3857、4326 en 900913 中。在这些 SRS 中,符号的高度约为 2.4 m,而不是 4 米。这是一个与公里/英里比率大致相同的比率。巧合?

在 SLD 中,UnitsOfMeasure UOM)设置为米(地面单位):

<PointSymbolizer uom="http://www.opengeospatial.org/se/units/metre">
  <Graphic>
    <ExternalGraphic>
      <OnlineResource xlink:type="simple" link:href="${veiligh_install_type_id}.svg"/>
        <Format>image/svg</Format>
    </ExternalGraphic>
    <Size>4</Size>
  <Graphic>
<PointSymbolizer> 
于 2020-08-24T20:58:23.463 回答