我有这个多边形:

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]]]}}');


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

我使用booleanOverlap中的turf.js

turf.booleanOverlap(polygon, bbox);


返回false

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

最佳答案

啊,我明白了。
该文件说

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

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

关于javascript - turf.booleanOverlap意外结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49495890/

10-11 11:53