получить точки в многоугольнике возвращает именно периферийные точки, а не внутренние - PullRequest
0 голосов
/ 05 января 2019

Я написал программу 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. Что-то не так? Есть ли другой способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...