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

posted @   槑孒  阅读(175)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示