Представим, что для чего-то понадобилось измерить расстояние между двумя точками на поверхности Земли, например, расстояние между Красной площадью и Эрмитажем. Конечно, можно попробовать решить задачу в лоб и посчитать евклидово расстояние по формуле:
но этот подход не заработает по той простой причине, что евклидова метрика предназначена для вычисления расстояния на плоскости, а поверхность Земли — это всё-таки фигура, очень близкая к сфере.
Для решения такой задачи нужно обратиться к редко используемым тригонометрическим функциям.
Одна из таких функций, называется синус-верзус, или, по-другому, версинус. Он представляет собой расстояние от центральной точки дуги, измеряемой удвоенным данным углом, до центральной точки хорды, стягивающей дугу. Вычисляется версинус по формуле:
Гаверсинус — это просто половина версинуса, и именно эта функция поможет нам в решении задачи с поиском расстояния:
Для любых двух точек на сфере гаверсинус центрального угла между ними вычисляется по формуле:
В этой формуле:
- r — радиус сферы
- φ₁ и φ₂ — широта первой и второй точек в радианах
- λ₁ и λ₂ — долгота первой и второй точек в радианах
Обозначим временно гаверсинус отношения длины к радиусу как переменную h:
Тогда длину d можно вынести за знак равенства:
а для того, чтобы избавиться от дроби, выразим гаверсинус через арксинус:
затем раскроем переменную h:
подставим формулу гаверсинуса и получим формулу вычисления расстояния:
Теперь вернёмся к исходной задаче поиска расстояния между Красной площадью и Эрмитажем.
Для Красной площади Гугл подсказал координаты (55.7539° N, 37.6208° E), а для Эрмитажа — (59.9398° N, 30.3146° E).
Прежде, чем подставлять координаты в формулу, их нужно перевести в радианы.
Для того, чтобы вычислить длину, нужно полученное значение арксинуса умножить на два радиуса сферы. Подсчёты усложняет тот факт, что Земля не является идеальной сферой и её радиус немного варьируется. Воспользуемся усреднённым значением радиуса, которое, в соответствии со стандартом WGS84 приблизительно равно 6371 км:
Произведя умножение, получаем искомое значение, которое приблизительно равно 634.57 км.
Кстати, из-за того, что Земля — не идеальная сфера, погрешность расчётов с использованием этой формулы, составляет около 0,5%.