我正在使用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函数,如下例所示。
答案 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>
注意:根据比例分母调整字体大小/范围。