![]() |
Модераторы: javastic |
![]() ![]() ![]() |
|
Steel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 14.5.2006 Где: Россия, Саратов Репутация: нет Всего: нет |
Добрый день.
Пишу программу для отрисовки траектории маршрута на простом View. Т.е. без карт. Столкнулся с тем, что даже если стоишь на месте данные GPS довольно сильно скачут (включая скорость). Сам пока придумал только заносить в маршрут точки с низким значением Acuracy, но при таком подходе в городе можно вообще маршрут не записать. Собственно хотел узнать, как выходят из данного положения в подобного рода программах. Т.е. понятно, что точность GPS не увеличить, но возможно существуют алгоритмы обработки данных, хитрые способы их отображения и т.д. Данные GPS получаю через LocationListener.onLocationChange. Мое устройство не поддерживает стандарт NMEA. Это сообщение отредактировал(а) Steel - 14.6.2013, 11:17 |
|||
|
||||
Felan |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 284 Регистрация: 2.8.2007 Где: Самара Репутация: нет Всего: 7 |
мммм... Аппроксимация?
-------------------- // Любая сложная система - это темный лес. Каждый в этом лесу протаптывает свои тропинки, по ним и бегает. Лишь изредка, сходя с них, мы находим много интересного, а порою и страшного. |
|||
|
||||
Steel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 14.5.2006 Где: Россия, Саратов Репутация: нет Всего: нет |
Аппроксимация, как я понимаю, может помочь если есть маршрут целиком... А мне надо на этапе формирования исключить скачки данных о местоположении (когда пользователь стоит на месте).
|
|||
|
||||
Dapo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: 1 Всего: 1 |
Felan, аппроксимация - понятие широкое. Вопрос сводится к алгоритму определения "стою ли я на месте".
Тоже думаю над этой проблемой. Есть идея сравнивать скорость последней точки и новой + расстояние между ними. Если не удовлетворяют критерию (какому-то), значит стоим на месте и далее корректировать положение путем усреднения X и Y. По двум точка, конечно, апроксимация минимальна, а вот с 3-я точками, думаю, будет гораздо точнее, мы же можем в критерий еще и угол добавить, и свести acuracy до разумных пределов. Максимальная частота получения данных - 2 сек. и это тоже надо учитывать. Другой вопрос, что координаты могут определяться неправильно в принципе, например среди многоэтажек (бетонный мешок), но против лома нет приема. |
|||
|
||||
Steel |
|
|||
Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 14.5.2006 Где: Россия, Саратов Репутация: нет Всего: нет |
Ну как приема нет... Прилипание к дорогам в навителе как-то же реализовано. В случае прыжков в бок, за пределы дороги все понятно. А вот как они компенсируют прыжки вперед/назад по дороге это вопрос. Я навигаторов видел немного, но не замечал, чтобы во время движения указатель скакал по дороге.
На счет скорости и acuracy... Столкнулся с тем, что навигатор иногда показывает точность <3м, когда я нахожусь в зданиии местоположение при этом пляшет на десятки метров. Т.е. вообще не на что ориентироваться получается. Хотя есть мысль попробовать использовать в качестве критерия кол-во спутников, участвующих в фиксе, с SNR бальше определенного значения. Может хоть в этом не врет навигатор. Далее, раз не я один с этим мучаюсь, считаю своим долгом сказать, что неожиданно для меня неплохой урожай дал поисковый запрос "Фильтрация данных GPS", в то время как запросы "Обработка данных GPS" и "Повышение точности GPS" были практически бесполезны. Вот один подход, который буду реализовывать в ближайшее время: http://mobileelectronics.com.ua/?page=fast_gps_filtering Но вопрос остается открытым т.к. данный подход не спасет при сильных скачаках. |
|||
|
||||
Dapo |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: 1 Всего: 1 |
Steel, ну прилипание к дорогам реализовано в автонавигаторах, там оно понятно, да и то, прилипание есть если дорога присутствует. а вот в случае с пешеходом сложнее. действительно не к чему привязаться
|
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Android | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |