Javascript найти дальнюю координату от определенной координаты в массиве координат

Я знаю координаты центра и массив всех координат многоугольника. Как я могу узнать, какая координата является самой дальней координатой для центральной точки с помощью Javascript?

Центр границ:

lat: -13.647141573542923lng: 109.75651876851946

Координаты 4-х полигонных путей:

"lat: -9.10209673872643, lng: 108.10546875"

"lat: -16.97274101999901, lng: 91.58203125"

"lat: -17.644022027872722, lng: 120.234375"

"lat: -8.407168163601074, lng: 120.41015625"

центроида

1 ответ

Решение

Канонический способ делать вещи:

  • Выясните, как рассчитать расстояния с помощью longitutdes / широты. Например, быстрый поиск в Google выявляет это.
  • Итерировать по всем точкам p_i и рассчитать расстояние d_i к центральной точке.
  • Точка p_k с d_k = max_j d_j будет точка, которую вы ищете.

Для расчета расстояния имейте в виду, что вы можете сохранить себе любую операцию, которая не изменит информацию "дальше, чем", то есть в евклидовых координатах вы можете сохранить себя, взяв квадратный корень. Также умножение на любую константу может быть опущено для этого (до тех пор, пока вам не нужно фактически знать расстояние, а только информацию, какая точка находится дальше всего).

Другие вопросы по тегам