* Данный текст распознан в автоматическом режиме, поэтому может содержать ошибки
212
Глава 3. Обеспечение безопасности карточного бизнеса
Рис. 3.4
Д у г и б о л ь ш о г о круга на поверхности сферы
Длина короткой дуги — кратчайшее расстояние между двумя точка¬ ми. Между двумя прямо противоположными друг другу точками (анти¬ подами) можно провести бесконечное количество больших кругов, но расстояние между ними будет одинаково на любом круге и равно по¬ ловине окружности круга. В данном случае расчет может быть произведен, например, с исполь¬ зованием сферической теоремы косинусов, причем при использовании радиуса сферы в 6 372 795 м возможна ошибка вычисления расстояния порядка 0,5%, но в случае маленьких расстояний и небольшой разрядно¬ сти вычисления использование формулы может приводить к значитель¬ ным ошибкам, связанным с округлением: Аст — arccos(sin 9 sin 9 + cos 9 cos 9 cos А Х ) ,
1 2 1 2
где 9 , Х , 9 , Х — широты и долготы двух точек в радианах; А Х — разница координат по долготе; Аст — угловая разница.
1 1 2 2
Для перевода углового расстояния в метрическое угловая разница умножается на радиус Земли (в данной модели это 6 372 795 м). Для пре¬ одоления проблем с небольшими расстояниями может быть использова¬ на формула гаверсинусов. В программной среде (в том числе на уровне функций и хранимых процедур БД) легко реализуемым является также и расчет расстояний между двумя точками на поверхности Земли, если принять в качестве модели поверхность эллипсоида.