输入几何体不是turf.js中的有效多边形



我尝试在我的传单项目中使用turf.js及其函数intersect。我最初的问题可以在这里找到。问题是我不能得到一个合适的多边形来调用它。这个想法是得到计算路线的路点,用它们做一个polgyon,并检查它们与给定缓冲区域的相交位置。

var testpoint = turf.point([9.9354, 49.799]);
var buffered = turf.buffer(testpoint, 50, {units: 'meters'});

var array = []
control._routes[0]['coordinates'].forEach(function(e){
array.push([e['lat'],e['lng']])

});
var test = turf.polygon(L.polygon([[array]]))
var intersection = turf.lineIntersect(buffered, test)

我收到以下错误消息:

Uncaught Error: Input geometry is not a valid Polygon or MultiPolygon

这里我必须指出,当使用line.intersect(buffered,buffered)时,它是正确工作的,因此我假设buffered变量是正确的
当谈到test变量时,我尝试过不使用[]、一对和双对。但它们都会导致同样的问题。我还尝试将数组传递给turf.polygon,但无法完成。

您传递的GeoJSON对象之一的格式不正确。试着记录对象,然后检查以下内容到底出了什么问题https://geojsonlint.com/

例如

console.log(JSON.stringify(buffered), JSON.stringify(test));

最新更新