2015-01-07 4 views
0

У меня есть приложение для Android, которое использует GPS для отслеживания. Это приложение работает в устройстве Android, установленном в кабине, чтобы я мог отслеживать кабину. У меня включена регистрация в приложении. Недавно я заметил странный случай, наблюдая за кабиной. В какой-то момент GPS давал одно место, и через 80 секунд он дал место, которое находится в нескольких километрах от первого места. Удивительно, что в обоих случаях точность < 20 (метров), которую я поставил, чтобы рассмотреть местоположение для отслеживания. Пожалуйста, найдите журналы, которые я собрал с устройства.GPS - Что я вижу?

----some logs 
26 Dec,05:55:01.645 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:54:02 GMT+05:30 2014 17.805544,83.352301 Accuracy 3139.0; GPS Location = Fri Dec 26 17:54:58 GMT+05:30 2014 17.805017,83.35345 Accuracy 8.0; 
----some logs 
26 Dec,05:56:34.705 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 17:55:35 GMT+05:30 2014 17.81825,83.352313 Accuracy 3048.0; GPS Location = Fri Dec 26 17:56:09 GMT+05:30 2014 16.570113,82.055219 Accuracy 14.0; 
----some logs 

Как вы можете видеть, что сеть все еще указывает где-то вокруг начального места, где, как GPS, указывающей, какой-то место, которое находится далеко от первого места и по-прежнему имеют точность 14!

Javadoc Местоположения класса андроид говорит -

* We define accuracy as the radius of 68% confidence. In other 
* words, if you draw a circle centered at this location's 
* latitude and longitude, and with a radius equal to the accuracy, 
* then there is a 68% probability that the true location is inside 
* the circle. 

это значит, точность я получил во втором следе падения в других 32% и может быть неправильными.? Интересно, есть ли какой-либо надежный способ решить, следует ли рассматривать местоположение gps вместо того, чтобы проверять точность.?

Заранее спасибо

EDIT: Забыл упомянуть, что исправление GPS возвращается в расположение кабины через 40 минут. Вы можете видеть это здесь.

26 Dec,06:35:21.851 PM; GPS Fix state = true; NetworkLocation = Fri Dec 26 18:35:20 GMT+05:30 2014 17.800334,83.352941 Accuracy 2887.0 GPS Location = Fri Dec 26 18:35:22 GMT+05:30 2014 17.799875,83.351936 Accuracy 14.0; 

UPDATE: Сегодня я пошел через журналы все несколько устройств, в которых это приложение работает, и я наблюдал это неправильно местоположение GPS с хорошим значением точности в нескольких устройствах. Все устройства имеют одинаковый вид и используют сим-карты одного и того же сетевого провайдера.

+1

Cabbie взломал его, чтобы скрыть свои личные покупки от Morrisons. –

+0

Это была карета с багажником :) –

ответ

0

Ваш случай странный, этого обычно не происходит с GPS. Может прыгать 30 м, иногда 50 м. Либо вы попали в крайне редкий случай, глядя на тысячи устройств, , либо есть ошибка в используемом вами чипе GPS.

Или, скорее всего, вы используете альтернативные источники местоположения, такие как местоположения Cell-Tower, которые, как известно, имеют точность не более 1 км. Убедитесь, что вы используете только GPS-провайдер.

Ваш выход в журнал «NetworkLocation» заставляет меня сомневаться в том, что вы используете только GPS. Если вы на 100% уверены, что местоположение было доставлено с помощью GPS (оно должно иметь действительную скорость и действительный курс, то это от GPS, или вы можете узнать, какой поставщик доставил местоположение (поставщик или сеть GPS) провайдер), то читать далее:

После того, как я видел в 300 км скачка, который либо был вызван дефект GPS спутником или ошибкой в ​​реализации GPS чипа

Что вы можете сделать, это отфильтровать движения, которые могли бы.

В вашем случае это было «несколько километров», предположим, что это было 3. Это 3000 м в 80 с = 37 м/с = 135 км/ч, что является реалистичной скоростью для транспортного средства на автомагистралях. Для правильной фильтрации вам нужно каждую секунду проверять местоположение и искать нереальные скачки.

Кроме того, в GPS не существует гарантии. Все погрешности - это оценки. Если оценивается горизонтальная точность 14 м, вы никогда не можете быть уверены, что она находится на расстоянии 50 м или 2 м от реального места.

+0

Благодарим за отзыв. Расстояние между картами Google между этими двумя объектами составляет 244 км, что нереально. Как вы упомянули в ответе, у меня уже есть проверка моего кода, чтобы игнорировать местоположение, если скорость, рассчитанная (как вы упомянули, используя расстояние между предыдущим и текущим местоположением), превышает 200KM/hour., Но тогда, поскольку устройство может не иногда получайте исправление на более длительный срок, я рассматриваю новое местоположение напрямую, если предыдущее местоположение было более чем на 70 секунд старше., - что точно вызвано проблемой в этом случае.! – nagamanojv

+0

Эти два местоположения предоставляются провайдером GPS точно (каждый раз, когда я собираю местоположение и регистрирую места, предоставленные обоими, как вы можете видеть в журнале). – nagamanojv

+0

смартфоны (наверняка ios) также изначально могут доставить старое местоположение с предыдущего дня. Поэтому всегда проверяйте временную метку местоположения, чтобы не отклоняться от системного времени более чем на несколько секунд. – AlexWien

Смежные вопросы