Как рассчитать расстояние между двумя точками на земном шаре

Автор: Marcus Baldwin
Дата создания: 21 Июнь 2021
Дата обновления: 7 Май 2024
Anonim
Определение расстояния между двумя точками на Земле (Между координатами) с помощью python
Видео: Определение расстояния между двумя точками на Земле (Между координатами) с помощью python

Содержание

Измерение расстояния между двумя точками на изогнутой поверхности, такой как планета Земля, не так просто, как на плоской поверхности. Есть несколько различных формул тригонометрии, которые дают этот результат. Наиболее точной, особенно для очень коротких расстояний, является так называемая формула Хаверсайна.


направления

Земля, как показано на модели земного шара (изображение глобуса Кристофера Медера из Fotolia.com)
  1. Переведите широту и долготу в две эквивалентные точки в радианах. Если вы начинаете с чего-то в градусах, минутах и ​​секундах, вы должны сначала преобразовать его в десятичные градусы - разделите секунды на 60, добавьте к минутам, поделите общее число на 60, добавьте к градусам. Радиан эквивалентен 57,2957795 десятичных градусов, поэтому разделите результат на десятичные градусы на 57,2957795, чтобы получить значение в радианах. Сделайте это отдельно с широтой и долготой двоеточия, получив всего четыре числа.

  2. Вычтите точку 2 из точки 1 - долготу из точки 2, меньшую долготу из точки 1, и широту из точки 2, меньшую широту из точки 1. Или, более компактно: DLON = lon2 - lon1 и DLAT = lat2 - lat1.

  3. Рассчитайте косинусы лат1 и лат2. Косинус является тригонометрической функцией.


  4. Разделите DLAT на 2. Рассчитайте свой синус (еще одну тригонометрическую функцию) и умножьте результат на себя, чтобы получить квадрат: (синус (DLAT / 2)) ². Повторите эту процедуру и для DLON: (синус (DLON / 2)) ².

  5. Умножьте косинус LAT1 на косинус LAT2 и на (синус (DLON / 2)) ². Добавьте (синус (DLAT / 2)) ² к результату. Давайте назовем это значение «a»: a = косинус (LAT1) * косинус (LAT2) * (синус (DLON / 2)) ² + (синус (DLAT / 2)) ².

  6. Рассчитайте расстояние по следующей формуле: расстояние = радиус земного шара * 2 * касательная дуга (квадратный корень из «а» / квадратный корень из (1 - «а»)). Касательная дуга является еще одной тригонометрической функцией. Радиус Земли обычно принимается равным 6 367 км или 3956 морских миль.