Получите среднюю точность координат - PullRequest
1 голос
/ 07 октября 2019

У меня есть модель с такими данными:

data class GeoCoordinate (
val latitude: Double,
val longitude: Double,
val altitude: Double? = null,

val longitudeAccuracy: Float,
val latitudeAccuracy: Float,
val altitudeAccuracy: Float
)

Эти данные поступают от ЗДЕСЬ API и GPS-датчиков телефона.

Я хочу понять- Как я могу рассчитать среднее значение точности для отображения его пользователю?

Я также вижу стандартную документацию для Android по поводу Местоположение - они включают только «горизонтальную» точность (без параметра высоты). Но я не знаю, как рассчитать точность по двум параметрам - longitudeAccuracy и latitudeAccuracy ..

1 Ответ

1 голос
/ 07 октября 2019

В случае GPS-позиционирования (или другого позиционирования GNSS) значения latitudeAccuracy и longitudeAccuracy значения класса GeoPosition должны быть равны "горизонтальной"точность " android.location.Location , поскольку Android SDK не обеспечивает точность" на ось ".

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

При этом для методов позиционирования, которыебудет возвращать разные значения для latitudeAccuracy и longitudeAccuracy , итоговая "горизонтальная точность" должна быть максимумом обоих значений, а не средним из них.

...