获取多边形中的点将精确返回外围点而不是内部点

时间:2019-01-04 23:04:48

标签: node.js polygon

我编写了一个NodeJS程序来获取由KML文件定义的多边形内的一些随机点。我使用togeojson将KML数据加载为JSON格式,并使用points-in-polygon列出了多边形内的一些点。这是我的代码:

const pointsInPolygon = require('points-in-polygon');
var polygon = [];
var address = 'C:\\Users\\ZiZi\\Desktop\\GEO\\KML\\mykml.kml';
var tj = require('togeojson'),
    fs = require('fs'),
    DOMParser = require('xmldom').DOMParser;
var kml = new DOMParser().parseFromString(fs.readFileSync(address, 'utf8'));
var converted = tj.kml(kml);
converted['features'].forEach( function(element) {
    polygon.push(element['geometry']['coordinates'][0]);
});
pointsInPolygon(polygon, (x, y) => console.log(x, y));

但是输出似乎恰好是我的KML文件中列为行的点。有什么问题吗?还有其他方法吗?

0 个答案:

没有答案