Данная программа считает расстояние между двумя точками с известными географическими координатами. Вычисления идут по формуле:

 

источник

 

$sim

dim fi1 as single  '  начальная координата по широте
dim fi2 as single  ' конечная координата по широте
dim ta1 as single  ' начальная координата по долготе
dim ta2 as single  ' конечная координата по долготе
'*** все координаты должны быть преобразованы в радианы


dim SIGMA as single 'разница координат по долготе
dim nst1 as single ' переменные для предварительных преобразований
dim nst2 as single
dim nst3 as single

dim result as single 'результат

'тестовые координаты
'**********
fi1=53.8798
fi2=53.0541
ta1=50.0019
ta2=51.0051
'**********

fi1 = deg2rad(fi1)
fi2 = deg2rad(fi2)
ta1 = deg2rad(ta1)
ta2 = deg2rad(ta2)

if ta2>ta1 then
sigma =ta2-ta1
else
sigma=ta1-ta2
end if

'1
Nst1 = cos(fi2)
nst2 = sin(sigma)
nst3=nst1*nst2
result=nst3^2

'2
nst1 = cos(fi1)
nst2=sin(fi2)
nst3=nst1*nst2

'3
nst1=sin(fi1)
nst2=cos(fi2)
nst1=nst1*nst2
nst2=cos(sigma)
nst1=nst1*nst2

'4
nst2=nst3-nst1
nst2=nst2^2
result = result + nst2
result=sqr(result)

'5
nst1=sin(fi1)
nst2=sin(fi2)
nst3=nst1*nst2

'6
nst1=cos(fi1)
nst2=cos(fi2)
nst1=nst1*nst2
nst2=cos(sigma)
nst1=nst1*nst2
nst3=nst3+nst1

'7
result=result/nst3
result=atn(result)
result=result*6372795 'результат в метрах


print result

end

 

 


координаты, расстояние, теорема гаверсинусов, bascom-avr

   EasyEDA:  бесплатный редактор схем

   ✓ Создание схем
   ✓ Возможность симуляции
   ✓ Быстрое создание печатных плат
   ✓ Интуитивно понятный интерфейс

   Нарисуй свою схему прямо сейчас!
   Изготовление печатных плат   https://easyeda.com/order

авторизация
Логин:
Пароль:
Комментарии
Подключение матричной клавиатуры 4х4 к микроконтроллеру
01.12.2017 - Kasym:
Нашел интересный косяк: если к переменной string*5 добавлять string*1 много раз,...
Организуем программный USB в Bascom-AVR на примере USB-вольтметра. Часть 3
30.11.2017 - Zimakos:
Сталкнулся с проблемой при компилляции на Bascom 2.0.7.8
а именно:
...
RF модули HC-12 с UART интерфейсом
25.11.2017 - ELK:
Кто-нибудь может подсказать как отправляется AT команда? Нужно поочередно отправ...
Направлятор
23.11.2017 - milcin68:
И снова здравствуйте)))
Сегодня вновь все повторилось как в #60 посте неи...
Направлятор
22.11.2017 - milcin68:
беру свои слова назад, я ничего не понимаю
прошил снова обновленную проши...
Направлятор
22.11.2017 - milcin68:
отвечу сам себе,
26 pin надо подтягивать к питанию.
фьюзы в моем п...
Направлятор
21.11.2017 - milcin68:
нужно ли подтягивать 26 pin к питанию?
правильно ли я выставил фьюзы? ...
Минитерминал V.3.0
19.11.2017 - webrusik:
DROZD01, не могли бы поделиться печатной платой?
Часы, термометр, барометр, гигрометр в одном флаконе.
19.11.2017 - bobkus:
Доброго всем. Собрал сей прибор, отлична штука. Пробовал два датчика dht11-врут ...