Навигация

Для решения задачи навигации минимально необходимо определить растояние и азимут цели куда мы летим. В общем случае к решению данного вопроса можно подойти несколькими способами. Отметим, что модель летает в достаточно малом радиусе, потому можно считать землю локально плоской. В качестве приближения можно взять сферу со средним радиусом 6371км.
1) счиатем всё в градусах и умножаем на коэффициэнт  - проблема будет заключаться в том что размер градуса по широте и по долготе отличаются тем сильнее чем больше широта (на широте 60 имеем почти полтора раза)
2) считаем растояние и азимут используя сферическую геометрию  - проблема будет заключаться в необходимости посчитать много тригонометрических функций
3) берем какуюлибо равноугольную проекцию и считаем в ней.

В нашем случае берем проекцию меркатора на сфере.
соответственно пересчет географических координат в метры будет:
x=C*долгота
y=C*ln(tg(широта/2+PI/4))
Km=cos(широта)

где:
широта и долгота в радианах
С принимаем равным радиусу земли
Km - масштаб системы координат который зависит от широты.

так как проекция равноугольная, то азимут считаем из ирктангенса, растояние считаем по теореме пифагора умножив результарт на масштабный коэффициент.

Недостаток данного подхода - нельзя летать над антарктидой и северным ледовитым океаном.

Ссылки:

http://ru.wikipedia.org/wiki/Проекция_Меркатора
http://ru.wikipedia.org/wiki/Сферическая_геометрия

 
Comments