Страница 1 из 1

Проблема с азимутом

Добавлено: 20 авг 2012, 19:51
Asashok
Здравствуйте, у меня вот такая проблема:
имеется собственная программка, которая рисует трэк из файла формата *.nmea. Трэк представляет собой полет самолета - рисует его программа строго на север. А вот в программе OziExplorer рисует чуть по-другому: где-то градуса на два повернуто вправо. В своей проге я перевожу из широты, долготы на WGS84 в СК42, а затем в плоскостные координаты проекции Гаусса-Крюгера и по ним рисую относительно любой заданной мной точки. Что я делаю не так, почему отображается некорректно?

Re: Проблема с азимутом

Добавлено: 20 авг 2012, 22:34
Александр Мурый
Asashok писал(а):Здравствуйте, у меня вот такая проблема:
имеется собственная программка...
Иногда это действительно проблема.
Asashok писал(а): Что я делаю не так, почему отображается некорректно?
Поясните подробнее, что значит "отображается некорректно", пока не очень понятно.

Re: Проблема с азимутом

Добавлено: 21 авг 2012, 08:34
paleogis
Asashok писал(а): где-то градуса на два повернуто вправо.
Наверное Вы имели ввиду на восток?
Если Вы хотите чтобы участники форума могли разобраться в Вашей проблеме, то подробное описание, исходные данные, скриншоты в студию :D

Re: Проблема с азимутом

Добавлено: 21 авг 2012, 10:07
ericsson
Прежде чем писать программы, которые работают с пространственными данными, нужно изучить хотя бы базовые понятия.

В географической "проекции" линии, идущие с юга на север, всегда направлены вверх и параллельны друг другу.

В поперечной проекции Меркатора, частным случаем которой является проекция Гаусса-Крюгера, линии, идущие с юга на север, направлены строго вверх только в двух случаях: если они находятся на центральном меридиане зоны (или очень близко к нему) или на экваторе (или очень близко к нему).

Чем ближе к полюсам, тем сильнее заметно их отклонение от вертикали и непараллельность. В северном полушарии они будут сходиться к северному полюсу, в южном - к южному. Западнее центрального меридиана зоны - отклоняться вправо (да-да, вправо, а не к востоку, потому как идут-то они строго на север, только север не просто "везде вверху", а в одной конкретной точке полюса), восточнее центрального меридиана зоны - влево.

А учитывая, что OZIExplorer - вообще программа очень "самостийная", писалась человеком, у которого с картографическими знаниями очень плохо было и есть, и предназначена была для решения простой задачи отображения на экране отсканированных карт, там вообще полный бардак, и ориентация карты может зависеть, в том числе, от того, под каким углом изначально ту сканированную карту в сканер совали. OZIExplorer не карту под систему координат трансформирует, а сетку системы координат под карту подгоняет, на самом деле.

Выбросьте OZI и возьмите GlobalMapper - все равно ни за одну программу ведь платить не собираетесь, наверняка. А так хоть программа будет нормальной.

Re: Проблема с азимутом

Добавлено: 21 авг 2012, 12:10
paleogis
Подтверждаю GlobalMapper вполне адекватная прога :D

Re: Проблема с азимутом

Добавлено: 23 авг 2012, 16:49
Asashok
Спасибо всем за ответы, проблема решилась. Вместо формулы преобразования в x,y на проекции Гаусса-Крюгера воспользовался другой:
W = sqrt(1-(e*sinB)^2); e^2 = f(2-f); f~1/300;
dX = a*(1-e^2)/W^3*dB
dY = a*cosB/W*dL.
Теперь все отображается так, как нужно.