Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

для малых расстояний пойдет вот это

Отправлено ы 19 ноября 2008 г. 14:23
В ответ на: а мы высотой постараемся пренебречь :) отправлено Kukaracha 19 ноября 2008 г. 14:20


/******************************************************************************
* DESCRIPTION:
*
*
* If you need to transform the number A°B.C, you have to calculate A+B.C*5/3.
* Example: 123°57.318 is equal to 123°.9553

* packet coordinates
* ddd°mm.mmmmm
*****************************************************************************/
fCoor_t CoorToFloat (u32_t _coor) {
fCoor_t res;
u32_t cr = _coor & 0x7FFFFFFF;
u8_t ddd;

ddd = cr / 10000000;
res = (fCoor_t)(cr - ddd * 10000000);
res = res * (5.0/30000000.0) + (fCoor_t)ddd;

if (_coor & 0x80000000) {
res *= -1.0;
}

return res;
}

/******************************************************************************
* DESCRIPTION:
* get distance between to points
*****************************************************************************/
u32_t Get_Distance(vNavData_t *pA,vNavData_t *pB) {

fCoor_t flatA = CoorToFloat (pA->lat);
fCoor_t flatB = CoorToFloat (pB->lat);
fCoor_t flonA = CoorToFloat (pA->lon);
fCoor_t flonB = CoorToFloat (pB->lon);

fCoor_t dLat;
fCoor_t dLon;
dLat = flatB - flatA;
dLon = (flonB - flonA) * sa_cos((flatB + flatA) * (PI/360.0));
return (u32_t)(sqrt(dLat * dLat + dLon * dLon) * 111194.92665);
}



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
сложите три и три:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru