【问题标题】:turf.booleanOverlap unexpected resultturf.booleanOverlap 意外结果
【发布时间】:2018-09-04 20:37:27
【问题描述】:

我有这个多边形:

const polygon = JSON.parse('{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[6.26950853,50.72473626],[6.26953794,50.72468996],[6.2695546,50.7246512],[6.26949169,50.72468741],[6.26948194,50.72469389],[6.26946154,50.72470787],[6.26949172,50.72474162],[6.26950853,50.72473626]]]}}');

还有这个边界框:

const bbox = JSON.parse('{"type":"Feature","properties":{},"geometry":{"type":"Polygon","coordinates":[[[6.511887823915231,50.950514414615334],[6.512896634823051,50.53594214902105],[5.98503728350704,50.53594214902105],[5.98604609441486,50.950514414615334],[6.511887823915231,50.950514414615334]]]}}');

我想知道多边形是否与边界框相交

为此,我使用 turf.js 中的 booleanOverlap。

turf.booleanOverlap(polygon, bbox);

它返回false。

这是为什么呢?这绝对是在边界框内。

【问题讨论】:

    标签: javascript geospatial polygon spatial turfjs


    【解决方案1】:

    啊,我明白了。 文档说

    “比较两个相同维度的几何,如果它们的交集导致几何不同但维度相同,则返回真。[...]”

    我的多边形完全在边界框内。据我所知,intersection(如文档所述)包含另一个多边形内的多边形。 booleanOverlap 所做的只是检查它是否重叠。我认为这里的文档有点误导,因为它让用户认为 booleanOverlap 包含一个 inside。

    【讨论】:

      猜你喜欢
      • 2012-10-09
      • 2017-06-02
      • 2021-11-11
      • 2019-03-23
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 2011-09-15
      • 2012-04-02
      相关资源
      最近更新 更多