如何使用GeoServer CSS扩展实现单独几何列的SLD样式?
实现指定单独几何列的GeoServer CSS样式
要将你提供的SLD样式转换为GeoServer CSS扩展实现,不需要使用:nth-*伪选择器,GeoServer CSS提供了专门指定几何列的方式:
方法1:使用::geometry()伪元素选择器
直接通过伪元素指定要使用的几何属性列,代码示例:
*::geometry(polygon) { fill: #ff0000; stroke: #000000; stroke-width: 1; }
这里::geometry(polygon)对应SLD中<ogc:PropertyName>polygon</ogc:PropertyName>的作用,专门选取polygon列作为几何源,后续的填充、描边样式对应原SLD的PolygonSymbolizer。
方法2:在样式声明中指定geometry属性
在样式块内通过geometry属性指定几何列,代码示例:
* { geometry: [polygon]; fill: #ff0000; stroke: #000000; stroke-width: 1; }
这种方式同样能明确指定使用polygon列渲染多边形,效果和原SLD完全一致。
:nth-*伪选择器是针对要素集合的索引筛选,并不适用于指定几何属性列,所以之前尝试会失败。
内容的提问来源于stack exchange,提问作者kamranation
相关产品推荐
相关产品推荐

