Для вычисления расстояния между точками на поверхности земного шара можно использовать формулу, известную в сферической геометрии и геодезии:
S = 111,2×arccos(sin φ1 × sin φ2 + cos φ1 × cos φ2 × cos (L2-L1)),
где S - расстояние, км;
φ1 и L1 - широта и долгота точки 1 (для северной широты и восточной долготы со знаком плюс, для южной широты и западной долготы со знаком минус), градусы;
φ2 и L2 - широта и долгота точки 2, градусы;
константа 111,2 - средняя длина дуги в один градус на поверхности Земли, км.
Приведенная ниже программа опубликована в [1]:
|
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
00 |
↔ |
П 2 |
F cos |
F O |
- |
F cos |
↔ |
П 1 |
F cos |
× |
10 |
× |
ИП 1 |
F sin |
ИП 2 |
F sin |
× |
+ |
F arccos |
1 |
1 |
20 |
1 |
, |
2 |
× |
С/П |
|
|
|
|
|
Контрольная сумма программы (остальные байты страницы равны FFh) - 19897
Файл: rasstojanie.mkp - 201 байт.
Работа с программой
Перед началом работы следует установить размерность тригонометрических функций - градусы (ГРАД).
Далее необходимо ввести в стек координаты точек:
φ1↑ L1 ↑ φ2 ↑ L2
и нажать клавиши "В/О", "С/П". После останова программы в регистре стека X - расстояние между точками по поверхности Земли в км.
Для проверки определим расстояние от Вологды до Керчи (координаты и пример см. [1]):
59 ↑ 39,5 ↑ 45,5 ↑ 35,5 "В/О" "С/П".
Результаты расчетов приведены в таблице:
Модель |
Результат |
Программируемые микрокалькуляторы |
МК-152, МК-161 (на индикаторе) |
1525,0147 |
МК-152, МК-161 (с учетом доп. знаков) |
1525,0146901497 |
ПМК "Электроника МК-61" |
1525,0119 |
Ручные вычисления |
W.N.T. Scientific Calculator F-313 (на индикаторе) |
1525,01469 |
W.N.T. Scientific Calculator F-313 (с учетом доп. знаков) |
1525,01469013 |
Программа Gcalctool 5.7.32 (авторы Rich Burridge, Sami Pietila) |
1525,01469014923497266047123362 |
Для примера, ещё несколько расстояний от Москвы (55,45; 37,38) до различных населенных пунктов по кратчайшей траектории:
- Берлин (52,30; 13,22) - 1613 км.
- Владивосток (43,08; 131,55) - 8323 км.
- Владимир (56,07; 40,25) - 192 км.
- Дели (28,40; 77,12) - 4355 км.
- Иркутск (52,17; 104,15) - 4229 км.
- Лондон (51,30; -0,08) - 2485 км.
- Новосибирск (55,05; 82,55) - 2812 км.
- Нью-Йорк (40,43; -74,01) - 7547 км.
- Париж (48,52; 2,20) - 2499 км.
- Пекин (39,55; 116,25) - 5837 км.
- Петропавловск-Камчатский (53,04; 158,38) - 6800 км.
- Рим (41,53; 12,30) - 2388 км.
- Рио-де-Жанейро (-22,53;-43,15) - 11483 км.
- Южно-Сахалинск (46,56; 142,42) - 6695 км;
- Якутск (62,03; 129,45) - 5654 км.
- Ялта; (44,30; 34,06) - 1262 км.
Литература
- Данилов И.Д., Славин Г.В. 5 вечеров с микрокалькулятором (серия "Человек и компьютер"). М. Финансы и статистика, 1988, 106 стр - С 43.
|