Открыть сервис

Формула гаверсинусов

Формула гаверсинусов (также известная как формула гаверсинуса) — это математическое соотношение в сферической тригонометрии, позволяющее вычислить расстояние по большому кругу между двумя точками на сфере по заданным координатам (широте и долготе). Формула использует функцию гаверсинуса (haversine), которая является половиной от версинуса (versine) и определяется как hav(θ) = sin²(θ/2). Основное преимущество формулы заключается в её численной устойчивости при малых углах, что делает её пригодной для расчёта коротких расстояний на поверхности Земли.

История

Формула гаверсинусов имеет долгую историю, уходящую корнями в развитие навигации и сферической тригонометрии. Термин «гаверсинус» (от лат. semiversus — «полуобращённый») был введён в XIX веке для упрощения вычислений, выполняемых вручную с помощью логарифмических таблиц. Функция hav(θ) = (1 — cos θ) / 2 позволяла избежать операций с отрицательными значениями косинуса, что было удобно при расчётах дуг большого круга.

В эпоху парусного флота и до появления спутниковой навигации формула активно использовалась штурманами для определения кратчайшего пути между портами. С развитием вычислительной техники в середине XX века формула была адаптирована для программирования и стала стандартным методом расчёта расстояний в геоинформационных системах (ГИС). В современной практике она часто применяется в веб-картографии, мобильных приложениях и сервисах геолокации.

Математическое выражение

Формула гаверсинусов основана на сферической теореме косинусов. Для двух точек на сфере с координатами (φ₁, λ₁) и (φ₂, λ₂), где φ — широта, λ — долгота, центральный угол Δσ между ними вычисляется как:

hav(Δσ) = hav(Δφ) + cos(φ₁) · cos(φ₂) · hav(Δλ)

Или в развёрнутом виде:

Δσ = 2 · arcsin( √( sin²(Δφ/2) + cos(φ₁) · cos(φ₂) · sin²(Δλ/2) ) )

где:

  • Δφ = φ₂ — φ₁ — разность широт,
  • Δλ = λ₂ — λ₁ — разность долгот.

Для получения расстояния по поверхности сферы (длины дуги большого круга) центральный угол умножается на радиус сферы R:

d = R · Δσ

Для Земли в качестве R обычно принимают средний радиус 6371 км. Однако следует учитывать, что Земля не является идеальной сферой, а представляет собой геоид; формула гаверсинусов даёт приближение, погрешность которого для расстояний до нескольких тысяч километров обычно не превышает 0,5 %.

Численная устойчивость

Одним из ключевых достоинств формулы гаверсинусов является её устойчивость к ошибкам округления при малых расстояниях. В сферической теореме косинусов для малых углов значение косинуса близко к 1, и при вычитании из 1 возникает катастрофическая потеря точности. Формула гаверсинусов, напротив, использует синус половинного угла, который при малых углах остаётся хорошо определённым.

Для очень малых расстояний (менее 1 км) формула может быть заменена приближением сферической плоскости (формула Пифагора на сфере), но в большинстве практических задач гаверсинус остаётся предпочтительным выбором.

Применение

Формула гаверсинусов широко применяется в областях, связанных с пространственными данными и навигацией:

Геоинформационные системы (ГИС)

В ГИС формула используется для расчёта расстояний между географическими объектами, построения буферных зон и анализа пространственных взаимосвязей. Например, в открытой библиотеке PostGIS (расширение базы данных PostgreSQL) функция ST_Distance для сферических вычислений основана на гаверсинусе.

Веб-картография и мобильные приложения

Сервисы, такие как Яндекс.Карты, 2ГИС и Google Maps, применяют формулу гаверсинусов для оценки расстояний «по прямой» между двумя точками. В приложениях для поиска ближайших объектов (кафе, аптек, остановок) алгоритмы используют её для фильтрации точек в заданном радиусе.

Навигация и авиация

В авиации формула гаверсинусов применяется для расчёта длины маршрута по ортодромии (кратчайшему пути между двумя аэропортами). Хотя современные системы используют более точные модели (например, WGS-84), гаверсинус остаётся базовым методом для предварительных оценок.

Астрономия и спутниковая связь

Формула может быть адаптирована для расчёта угловых расстояний между небесными телами или для определения зоны покрытия спутника на орбите.

Пример расчёта

Рассчитаем расстояние между Москвой (55,7558° с.ш., 37,6173° в.д.) и Санкт-Петербургом (59,9343° с.ш., 30,3351° в.д.).

  1. Перевод градусов в радианы:
  • φ₁ = 55,7558° = 0,9733 рад
  • φ₂ = 59,9343° = 1,0460 рад
  • Δφ = 0,0727 рад
  • Δλ = 37,6173° — 30,3351° = 7,2822° = 0,1271 рад
  1. Вычисление:
  • sin²(Δφ/2) = sin²(0,03635) ≈ 0,001322
  • cos(φ₁)·cos(φ₂) = cos(0,9733)·cos(1,0460) ≈ 0,5585·0,5000 ≈ 0,2793
  • sin²(Δλ/2) = sin²(0,06355) ≈ 0,004040
  • Сумма: 0,001322 + 0,2793·0,004040 ≈ 0,001322 + 0,001128 ≈ 0,002450
  • Δσ = 2·arcsin(√0,002450) = 2·arcsin(0,04950) ≈ 2·0,04952 ≈ 0,09904 рад
  1. Расстояние: d = 6371 км · 0,09904 ≈ 631 км

Фактическое расстояние по ортодромии между Москвой и Санкт-Петербургом составляет около 634 км (по данным геодезических измерений). Разница в 3 км (менее 0,5 %) обусловлена использованием среднего радиуса Земли и пренебрежением её эллиптичностью.

Ограничения

Несмотря на широкое распространение, формула гаверсинусов имеет ряд ограничений:

  • Сферическая модель Земли. Формула не учитывает сплюснутость Земли у полюсов. Для высокоточных расчётов (например, в геодезии) применяются более сложные модели, такие как формула Винсенти (Vincenty's formulae), работающие на эллипсоиде.
  • Антиподальные точки. Для точек, расположенных почти диаметрально противоположно (например, Северный полюс и Южный полюс), аргумент арксинуса может быть близок к 1, что приводит к потере точности. В таких случаях предпочтительнее использовать сферическую теорему косинусов.
  • Малые расстояния. Для расстояний менее 1 метра формула может давать неопределённость из-за округления чисел с плавающей запятой. Для таких задач применяют приближение плоской Земли.

Альтернативные методы

В современной практике наряду с формулой гаверсинусов используются и другие методы расчёта расстояний на сфере:

  • Сферическая теорема косинусов: cos(Δσ) = sin(φ₁)·sin(φ₂) + cos(φ₁)·cos(φ₂)·cos(Δλ). Менее устойчива для малых углов.
  • Формула Винсенти: Итеративный метод для эллипсоида, обеспечивающий точность до 0,5 мм. Используется в профессиональных геодезических расчётах.
  • Формула равнодольной проекции (Equirectangular approximation): Упрощённый вариант, пригодный для малых расстояний и быстрых вычислений в реальном времени.

Интересные факты

  • Функция гаверсинуса (hav) в настоящее время практически не используется в чистом виде, но её название сохранилось в историческом контексте.
  • В некоторых старых учебниках по навигации формула гаверсинусов называлась «правилом полуобращённого синуса».
  • В эпоху до появления калькуляторов штурманы использовали специальные таблицы гаверсинусов, которые позволяли выполнять расчёты без тригонометрических функций.

Источники

  • Weisstein, Eric W. «Haversine». MathWorld — A Wolfram Web Resource.
  • Sinnott, Roger W. «Virtues of the Haversine». Sky and Telescope, 1984, vol. 68, no. 2, p. 159.
  • Vincenty, T. «Direct and Inverse Solutions of Geodesics on the Ellipsoid with Application of Nested Equations». Survey Review, 1975, vol. 23, no. 176, pp. 88–93.
  • «Расстояние по большому кругу». Энциклопедия геоинформатики, под ред. В.С. Тикунова, М.: Геоинформ, 2016.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →