识别多边形内的点(包括位于边界和边缘上的点)

Identify point inside a polygon (inclusive of point lying on boundaries and edges)

我正在使用 turf.js 来查找多边形内的一个点,我发现这个问题在几个用例中仍然存在,其中一个用例如下面提到的用例(即点 (X=32.8 ,Y=40). 我还绘制了 turf.booleanPointInPolygon 显示错误的图像以供参考。 Image of Graph plot

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 报告。请任何人帮助解决此问题。

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

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

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