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

Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:07
StVort
Добрый день!

Передо мной стоит задача написания программы, которая по данным, полученным с GPS навигатора, выполняла бы следующие действия:
1. Отображала траекторию пути замкнутую на первую точку.
2. Считала площадь получившейся плоской фигуры.

Из постановки задачи следует, что мне потребуется преобразовать широту и долготу (как я понял, GPS поставляет данные в системе WGS84) в прямоугольные координаты (метры).

После длительных изысканий я нашел формулы для преобразования WGS84 -> Проекция Меркатора.
os = (2 * math.pi * 6378137 / 2.0)

mx = lon * os / 180.0

my = math.log( math.tan((90 + lat) * math.pi / 360.0 )) / (math.pi / 180.0)
my = my * os / 180.0

Собственно вопросы:

1. Верны ли формулы?
2. Подходит ли для решения моей задачи данная проекция (смущает фраза из описания "Масштаб на карте в этой проекции не является постоянным...")?
3. Если нет - то какую проекцию лучше выбрать?

Далее. Тестируя прием данных от GPS навигатора, столкнулся с тем, что стоя на одном месте получаю разные данные о своем местоположении (расхождение +- 10м). Пробовал усреднять данные за 2 секунды, но ощутимого улучшения результата не добился. Данные я беру из NMEA строки $GPRMC. Достоверность проверяю по второму параметру в данной строке.

Вопросы:
1. Существует ли возможность определить точность данных, принимаемых от GPS навигатора?
2. Какие существуют способы программного увеличения точности этих данных?

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:11
Максим Дубинин
проекция не подходит, в меркаторе площади не считают, выбирайте что-нибудь равноплощадное типа Albers Equalarea или, еще лучше, на эллипсоиде считайте.

http://gis-lab.info/qa/cep.html

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:18
trir
А приёмник какой и какая точность нужна?

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:26
StVort
Приемник, на котором тестирую - это gpsOne Gen8.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:29
StVort
На счет требуемой точности... Чем больше тем лучше. Набрел в интернете на подобную программу http://agro-help.org/description.htm . Они там пишут, что достигли точности 20см. Но помоему врут.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 14:50
trir
Гонят, такую точность можно получить только при использование фазовых приёмников или гибридных КомпаНав-2

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 15:35
ericsson
Ну, упомянутые чипсеты (antaris 4, например) фазовые измерения делать умеют. Далее возможно применение ppp-kinematic, но 20см - все равно больше похоже на вранье (если речь идет о standalone-режиме, а не дифференциальном). Почему - см. тут viewtopic.php?f=1&t=13567#p87429
В дифференциальном - возможна и лучшая.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 16:11
DruzhA
Как правильно заметил trir, всё зависит от требуемой точности!
Если Вы собираетесь писать программу для отводов леса (судя по задаче), то точность в 1м на 300 м по длине и +3 % по площади, в лесу, Вам не даст ни один бытовой навигатор.

Способ определить точность данных ГПС: проведите 2-3 съёмки одних и тех же точек, но в разное время, с интервалом не менее 3х часов. Разница - примерная точность геопозиционирования прибора.
Подобным способом Вы наверняка выявите временные "отскоки" сигналов спутника на десятки метров...

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 16:34
ericsson
Можно решить вопрос полупрофессиональным оборудованием вроде такого http://www.onetalent-gnss.com/ideas/wir ... nga10logwi

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 17:21
StVort
Просто я слышал, что при использовании, например программы НАВИТЕЛ, метка пользователя не скачет как сумашедшая по округе даже на смартфонах с GPS. Сам я пока не имел возможности это проверить.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 17:35
ericsson
Натравить на координаты рекурсивный фильтр или включить режим прилипания к дорогам в навигационной программе - не сложно. Только точность от этого, естественно, не увеличивается.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 21:01
trir
Для получения "официальных" значений площади лучше считать в официальной СК, например в этих: http://www.mapbasic.ru/msksolutions

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 21:11
StVort
Чет голова кругом идет от всех этих проекций... Может кто поскажет проекцию в которой можно нормально отображать путь и считать площадь? Т.е. чтобы если я, например повернул направо, перпендикулярно своей предыдущей траектории - то оно так и нарисовалось. А когда я доехал - взял все точки и по ним посчитал площадь.

Re: Поиск подхода к решению задачи

Добавлено: 06 май 2013, 23:19
udav
StVort писал(а):Чет голова кругом идет от всех этих проекций... Может кто поскажет проекцию в которой можно нормально отображать путь и считать площадь? Т.е. чтобы если я, например повернул направо, перпендикулярно своей предыдущей траектории - то оно так и нарисовалось. А когда я доехал - взял все точки и по ним посчитал площадь.
Если нужно на маршруте безошибочно видеть направления движения (как в этом примере), то проекцию надо ставить равноугольную. А потом, когда уже надо считать площадь, делать это в равноплощадной, перекинув точки туда. Но вообще-то на маршруте эта разница в отображении пути при обычной работе на глаз видна просто не будет.

Re: Поиск подхода к решению задачи

Добавлено: 07 май 2013, 08:28
StVort
Ну я так понимаю водить лучше в Меркаторе, а площадь считать в Альбере. Формулами перевода в Альбера не поделитесь?

И еще... Нельзя ли как-нибудь использовать для повышения точности фактор HDOP из строки $GPGGA?