![](/img/trans.png)
[英]Geoserver SLD styling issue with external graphics and attribute rules
[英]Nested Rules in SLD and/or nested filters
我正在尝试在 map 中为符号系统创建一个 SLD。map 包含 9 个县的文化资产类别和类型。 当前符号系统基于类型。 我想为每个县复制 map 并仅显示该县的资产,同时仍使用县字段过滤的主要数据集:ogc:PropertyNamecounty</ogc:PropertyName> ogc:LiteralArcher</ogc:Literal>。
<sld:Rule>
<sld:Title>Monuments</sld:Title>
<ogc:Filter>
<ogc:PropertyIsEqualTo>
<ogc:PropertyName>type</ogc:PropertyName>
<ogc:Literal>Monuments</ogc:Literal>
</ogc:PropertyIsEqualTo>
</ogc:Filter>
<sld:MinScaleDenominator>105.0</sld:MinScaleDenominator>
<sld:MaxScaleDenominator>108335.0</sld:MaxScaleDenominator>
<sld:PointSymbolizer>
<sld:Graphic>
<sld:Mark>
<sld:WellKnownName>circle</sld:WellKnownName>
<sld:Fill>
<sld:CssParameter name="fill">#2d8bc2</sld:CssParameter>
</sld:Fill>
<sld:Stroke>
<sld:CssParameter name="stroke">#FFFFFF</sld:CssParameter>
<sld:CssParameter name="stroke-width">2</sld:CssParameter>
</sld:Stroke>
</sld:Mark>
<sld:Size>14</sld:Size>
</sld:Graphic>
</sld:PointSymbolizer>
</sld:Rule>
不知道在哪里插入县过滤器。 您能否创建县规则并根据类型将所有符号系统嵌套在其中,或者必须为每个插入 >type< 和 >county<。
尝试搜索嵌套规则和嵌套过滤器。
SLD 中不可能进行规则和过滤器嵌套。 如果您正在考虑编写更紧凑的 styles,并且您的目标是 GeoServer,那么请查看 GeoCSS,除其他外,它支持自由规则嵌套:
https://docs.geoserver.org/latest/en/user/styling/css/tutorial.html#applying-rule-nesting
我将通过在图层创建页面最底部标记为Restrict the features on layer by CQL filter
的框中添加 CQL 过滤器来为每个县创建一个新图层。 然后您可以将相同的 SLD 应用于每一层。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.