Найти ближайшие координаты "прямо вперед", из набора координат

Yuval A. спросил: 28 апреля 2018 в 08:53 в: javascript

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

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

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


1 ответ

nalm ответил: 28 апреля 2018 в 09:36

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

https:// openlayers. org / ru / 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

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

Yuval A. ответил: 28 апреля 2018 в 09:11
Спасибо, но это, похоже, не гарантирует, что ближайшая точка находится на "той же прямой линии", которая является ограничением, которое мне нужно в моем вопросе.
nalm ответил: 28 апреля 2018 в 01:14
Я отредактировал свой ответ и все еще жду обратной связи
Yuval A. ответил: 28 апреля 2018 в 07:47
Спасибо, да, я видел это раньше ... так я описал этот вопрос, все еще задаваясь вопросом, есть ли еще один лучший способ.
nalm ответил: 29 апреля 2018 в 01:09
Я искал об этом, я не вижу другого "легкого" способа сделать это, есть некоторые проблемы с этим?