【问题标题】:Openlayers 4: WFS Format always flips coordinates on EPSG:4326Openlayers 4:WFS 格式总是在 EPSG:4326 上翻转坐标
【发布时间】:2017-07-07 15:35:13
【问题描述】:

使用ol.format.WFS(GML2 和 GML3)读取要素时,如果投影为 EPSG:4326,则始终假定它们位于 YX 中。所以OL翻转它们。我将它与 Geoserver 2.11 一起使用,从这个版本开始,服务器可以将坐标发送为 XY,具体取决于您通过投影的方式。你可以阅读它here

通过 OL 代码,我可以看到它从 xml 读取投影,并决定根据轴方向翻转它,对于 4326 是 neu,导致翻转。

问题是我的配置取决于客户端,而服务器可能已经在发送 XY。我想知道这是否是 OpenLayers 的一个错误,或者这是一个决定。

有没有办法阻止它这样做?

【问题讨论】:

    标签: openlayers openlayers-3


    【解决方案1】:

    您可以使用自定义投影对象覆盖它

    / override the axis orientation for WMS GetFeatureInfo
    var proj = new ol.proj.Projection({
      code: 'http://www.opengis.net/gml/srs/epsg.xml#4326',
      axis: 'enu'
    });
    ol.proj.addEquivalentProjections([ol.proj.get('EPSG:4326'), proj]);
    

    只需确保代码字符串与您的 WFS/GML 文档中的内容匹配即可。

    【讨论】:

    • 我不能 100% 确定该解决方案对我来说是否可行。我正在构建的 Web 客户端可以提供不同的服务,这些服务可能位于不同的服务器中。这意味着配置可能会根据显示的层/服务而改变。这可能意味着不断更改每个查询的投影定义。我在想也许一个更可行的解决方案可能会覆盖执行检查的函数。
    猜你喜欢
    • 2014-04-27
    • 1970-01-01
    • 2016-09-28
    • 1970-01-01
    • 2020-04-06
    • 2011-11-26
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    相关资源
    最近更新 更多