Формула гаверсинусов
Формула гаверсинусов (также известная как формула гаверсинуса) — это математическое соотношение в сферической тригонометрии, позволяющее вычислить расстояние по большому кругу между двумя точками на сфере по заданным координатам (широте и долготе). Формула использует функцию гаверсинуса (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° в.д.).
- Перевод градусов в радианы:
- φ₁ = 55,7558° = 0,9733 рад
- φ₂ = 59,9343° = 1,0460 рад
- Δφ = 0,0727 рад
- Δλ = 37,6173° — 30,3351° = 7,2822° = 0,1271 рад
- Вычисление:
- 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 рад
- Расстояние: 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 →