根据地图比例设置sld字体 - geoserver / sld

时间:2015-12-16 13:58:54

标签: gis openlayers geoserver sld

我正在使用GeoServer环境。我正在尝试使用基于比例的sld设置字体大小。到目前为止,我有以下内容:

<CssParameter name="font-size">
  <ogc:Mult>
    <ogc:Function name="env">
      <ogc:Literal>wms_scale_denominator</ogc:Literal>
    </ogc:Function>
    <ogc:Literal>.001</ogc:Literal>
  </ogc:Mult>
</CssParameter>

但是我在GeoServer中收到日志错误:“指定了空字体大小”。为什么乘法函数无法设置字体大小?

更新:无需使用乘法功能根据比例设置字体大小。请使用Categorize函数,如下例所示。

1 个答案:

答案 0 :(得分:3)

不要问我这是如何运作的,但它的作用非常完美!

<CssParameter name="font-size">
  <ogc:Function name="Categorize">
    <!-- Value to transform -->
    <ogc:Function name="env">
      <ogc:Literal>wms_scale_denominator</ogc:Literal>
    </ogc:Function>
    <!-- Output values and thresholds -->
    <!-- Font Size Range [<= 5000]=14, [5000-10000]=10, and [>10000]=6 -->
    <ogc:Literal>14</ogc:Literal>
    <ogc:Literal>5000</ogc:Literal>
    <ogc:Literal>10</ogc:Literal>
    <ogc:Literal>10000</ogc:Literal>
    <ogc:Literal>6</ogc:Literal>
  </ogc:Function>
</CssParameter>

注意:根据比例分母调整字体大小/范围。