Вы должны вычислить расстояние между P и всеми другими точками, затем взять мин. Это была очевидная часть.
Трудная часть состоит в том, чтобы вычислить расстояние между двумя координатами gps. GPS использует геодезическую систему WGS84 для представления точек на земле. Существуют также различные способы вычисления расстояния на шаре (основные расстояния между лаксодромом и большим кругом). Эвклидовое расстояние всегда ложно на сфере (даже не закрыто), потому что на ненулевой широте, 1 ° Lat < 1 ° Lon ...
См. Distance using WGS84-ellipsoid для вычислений самостоятельно или GDAL, если вы принимаете lib, который будет сделайте это за вас.
Вы можете использовать GDAL для преобразования представлений точек в других геодезических системах. Вы можете, например, указать точки проекта на геодезической системе плана, затем использовать координаты (x, y, z), затем вычислить расстояния (или лучше: квадрат расстояния = x² + y² + z²).
Я думаю, что google-карта api обеспечивает простой в использовании метод расстояния для координаты gps, если случайно вы уже используете его.
просто вычтите координаты a, b, c, d и e из p? наименьшая победа! –
@ DanP. Это просто полностью ложно. Это даже не евклидское расстояние! –
@ndj Существуют другие функции расстояния, кроме евклидовой дистанционной функции. Однако вопрос, вероятно, задает функцию евклидова расстояния. – RaptorDotCpp