Я пишу простое приложение для 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 м.
Я пропустил что-то очевидное?
Я не видел, что у всех, так что спасибо за вставив его здесь. На самом деле это не точность, скорее вероятность правильности. Я обновил свое приложение, чтобы использовать более длительное временное окно при приобретении исправления, и оно имеет более низкий порог дискриминации, и это, похоже, решило мои проблемы. Спасибо – tomasmcguinness