Я написал программу NodeJS для получения случайных точек внутри многоугольника, который определяется файлом KML. Я использовал togeojson для загрузки данных KML в формат JSON и точек в многоугольнике для отображения некоторых точек внутри моего многоугольника. Это мой код:
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. Что-то не так? Есть ли другой способ сделать это?