You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

向斯德哥尔摩市GeoServer发起WFS请求转JSON时坐标分辨率降低

解决GeoServer WFS JSON输出坐标精度降低的问题

看起来你遇到了GeoServer WFS服务在JSON输出时自动降低坐标精度的问题——这其实是GeoServer对GeoJSON格式的默认优化行为,目的是减小响应大小,但确实会影响精度需求高的场景。下面是具体的解决方法:

  • 核心原因:GeoServer的GeoJSON输出默认会将坐标小数位数截断到4位,而GML(XML)输出则保留了原始转换后的6位小数精度。

  • 解决方案:添加精度控制参数
    在你的WFS请求中加入format_options=decimalPlaces:6参数,强制JSON输出保留6位小数。同时确保&srsName=EPSG:4326参数正确设置,保证坐标转换为WGS84格式。

    完整的请求示例如下:

    http://[斯德哥尔摩GeoServer的实际地址]/geoserver/wfs?
    service=WFS&
    version=2.0.0&
    request=GetFeature&
    typeName=你的禁停区图层名称&
    CQL_FILTER=date='你指定的日期'&
    srsName=EPSG:4326&
    outputFormat=application/json&
    format_options=decimalPlaces:6
    
  • 额外验证要点:

    1. 确认你的GeoServer版本在2.1.x及以上,这个版本之后才支持decimalPlaces格式选项;
    2. 检查CQL_FILTER的语法是否正确,确保能准确过滤出你需要的特定日期数据;
    3. 如果使用的是较旧的GeoServer版本,可能需要自定义GeoJSON输出模板,但升级到新版本或者使用上述参数是更简便的方案。

这样调整后,JSON返回的坐标就会和XML输出保持一致的6位小数精度了,比如会返回[[18.019718,59.297013],[18.019697,59.296889],...]这样的格式。

内容的提问来源于stack exchange,提问作者Giovanni Palusa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:08:11