Найти ближайшие координаты "прямо перед собой" из набора координат - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно найти ближайшие координаты (широта, долгота) к заданной точке координат из набора заданных координат.Аналогично этому вопросу: Найти ближайшую координату из набора координат

Однако мне также нужно убедиться, что она "прямо", на той же линии (с определенным максимальным отклонениемскажем, 15 градусов).

Один из способов - получить самые близкие точки, а затем проверить градусы между исходной точкой и точкой для каждого и увидеть, что она меньше максимальной, это лучший способ?

1 Ответ

0 голосов
/ 22 мая 2018

когда я работаю с GPS, я использую OpenLayers, поэтому я не знаю, является ли это хорошей практикой, но вы можете использовать некоторые функции OpenLayers, чтобы избежать вашей проблемы

https://openlayers.org/en/latest/apidoc/ol.source.Vector.html#getClosestFeatureToCoordinate

вот так:

import Vector from 'ol/source/vector';
import Feature from 'ol/feature';
import Point from 'ol/geom/point';
var vector = new Vector();

for(each coordinate that you want){
     var feature = new Feature({geometry: new Point(yourCoordinate)});
     vector.addFeature(feature);
}

var closestFeature = vector.getClosestFeature();
var closestPoint = closestFeature.getGeometry().getCoordinates();

так что теперь вам нужно всего лишь использовать что-то вроде этого

gist.github.com / conorbuck / 2606166

и сравнить с угломтуда, где вы стоите

...