Расчет пройденного расстояния в Android?

Добрый вечер. Пишу приложения для использования в автоспорте. Нужно до десятков метров определять пройденный путь. Пытался рассчитывать пройденное расстояние используя координаты, выдаваемые location.getLatitude(); и location.getLongitude(); но точность измерений не блещет. Иногда показания изменяются на сотни метров. Пытался рассчитывать исходя только из текущей скорости, но тоже точности не хватает. Кто может подсказать, каким образом лучше реализовать данную задачу? Может я чего-то не то с GPS получаю?
  • Вопрос задан
  • 4494 просмотра
Пригласить эксперта
Ответы на вопрос 2
Lerg
@Lerg
Defold, Corona, Lua, GameDev
Используйте граничные условия - максимальная скорость, максимальное ускорение и торможение. Если данные с GPS выходят за эти пределы - либо лимитируйте их, либо вовсе отбрасывайте.
Используйте и GPS, и акселерометр одновременно. Одно другое дополняет.

У GPS есть ошибка, которая меняется со временем, используя акселерометр, можно её высчитывать и компенсировать. Например если машина стоит, а GPS резко скакнул и обратно не идёт - величина скачка является изменением ошибки.
Ответ написан
Комментировать
@peacemakerv
Разработка под Android
Интегрирование скорости.
И правильно подсказывают - игнорировать значения, точность которых меньше предыдущего пройденного отрезка пути (до предыдущей точки).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы