Для вычисления расстояния между точками на поверхности земного шара можно использовать формулу, известную в сферической геометрии и геодезии:
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´) - 6414 км.
- Владимир (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.
|