Geoserver线样式配置固定宽度(SLD版本)
一、问题
同个qgis配置图层线样式,指定宽度,就是宽度不随地图缩放而变化。在qgis配置如下
但是这样在导出为sld格式文件后,导入geoserver样式集并发布对应图层,加载图层会发现线宽度还是会随地图缩放而变化。
那就是qgis配置按比例缩放
没有生效
二、解决方法
通过uom 属性指定测量单位实现
SE 1.1规范中给出的测量单位,如下:
http://www.opengeospatial.org/se/units/metre
http://www.opengeospatial.org/se/units/foot
http://www.opengeospatial.org/se/units/pixel
以下SLD显示 uom 用于指定 LineSymbolizer
单位:米。实现代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<StyledLayerDescriptor version="1.0.0" 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>blue line</Name>
<UserStyle>
<Title>blue line</Title>
<Abstract>Default line style</Abstract>
<FeatureTypeStyle>
<Rule>
<Title>Blue Line, 5m large</Title>
<LineSymbolizer uom="http://www.opengeospatial.org/se/units/metre">
<Stroke>
<CssParameter name="stroke">#0000FF</CssParameter>
<CssParameter name="stroke-width">5</CssParameter>
</Stroke>
</LineSymbolizer>
</Rule>
</FeatureTypeStyle>
</UserStyle>
</NamedLayer>
</StyledLayerDescriptor>
参考:https://www.osgeo.cn/geoserver-user-manual/styling/sld/extensions/uom.html#unit-of-measure