2015-02-08 3 views
1

Я пишу простое приложение для Android, которое фиксирует местоположение пользователя.Android FusedLocationAPI Точность GPS кажется неправильной

Я использую FusedLocationAPI для предоставления позиции.

mLocationRequest = LocationRequest.create() 
      .setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY) 
      .setInterval(5000) 
      .setFastestInterval(5000); 

Когда пользователь нажмет кнопку, приложение сначала проверит последнее известное местоположение. Если это меньше одной минуты и имеет точность < 50 м, это место используется. Если нет, приложение запрашивает обновления местоположения до получения позиции с точностью < 50 м. Затем приложение перестает запрашивать обновления, чтобы сохранить аккумулятор.

Это работает очень хорошо в 99% случаев. Однако при тестировании возникла ситуация, когда два измерения были взяты для одной и той же позиции, но расстояние между сообщенными координатами составляет 110 м. Я пытаюсь понять, почему.

Чтение № 1: принято в 10:46 с точностью до 36 м.

Чтение № 2: принято в 13:27 с точностью до 26 м.

Пользователь находится в одном месте (в пределах примерно 2 м). Я бы предположил, что с их положением на краю точности расстояние между точками может быть не более 52 м. Я не знаю, почему это 110 м.

Я пропустил что-то очевидное?

ответ

1

Это не то, что показатель точности означает. Цитирование из документов google:

Мы определяем точность как радиус 68% -ной достоверности. Другими словами, если вы нарисуете окружность, расположенную по широте и долготе этого местоположения, и с радиусом, равным точности, то есть вероятность 68%, что истинное местоположение находится внутри круга.

В статистических терминах предполагается, что ошибки местоположения являются случайными с нормальным распределением, поэтому круг доверия 68% представляет одно стандартное отклонение. Обратите внимание, что на практике ошибки местоположения не всегда следуют за таким простым распределением.

http://developer.android.com/reference/android/location/Location.html#getAccuracy

+0

Я не видел, что у всех, так что спасибо за вставив его здесь. На самом деле это не точность, скорее вероятность правильности. Я обновил свое приложение, чтобы использовать более длительное временное окно при приобретении исправления, и оно имеет более низкий порог дискриминации, и это, похоже, решило мои проблемы. Спасибо – tomasmcguinness

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

  • Нет связанных вопросов^_^