2

我正在使用 turf.js 来查找多边形内的一个点,我发现问题持续存在于几个用例中,其中一个用例如下所述用例(即对于点(X=32.8,Y=40)。我还绘制了图像以供参考,其中turf.booleanPointInPolygon显示为假。

var turf = require("@turf/turf");

var pt = turf.point([32.8,40]);
var poly = turf.polygon([[

 [ 7.2  ,           160.0],
[38.3,              30.0],
[65.1   ,           30.0],
[62.3   ,           96.0],
[18.4   ,           325.0],
[7.6    ,           380.0],
[7.5    ,           307.0],
[7.4    ,           234.0],
[7.2    ,           160.0]

]]);

var bool = turf.booleanPointInPolygon(pt, poly, {ignoreBoundary: false});
//bool = false, even though the point is inside the polygon

无法识别多边形内的点,这是 turf.js 的故障。如何向 turf.js 报告。任何人都请帮助解决这个问题。

4

2 回答 2

2

我将笛卡尔 x 轴数组、y 轴数组和要找到的点转换为Math.log(x)在 javascript 中使用的对数比例,然后再输入 turf.js 以创建多边形和在其中找到的点。它现在可以正确渲染。主要缺陷是我以对数比例绘制坐标,并通过传递笛卡尔数据寻求草皮解决方案(我在发送到草皮之前将其转换为对数比例)

于 2018-08-08T17:35:20.403 回答
0

您的点不在多边形内。turf.js 中没有错误。您可能被欺骗了,因为您绘制的图表完全错误。

这是你的多边形在图表上的样子。你看到你的点 (J) 显然在外面:

在此处输入图像描述

于 2018-08-08T16:23:29.303 回答