3

Я работаю над частью GPS-проекта, и я хотел бы получить что-то мимо сообщества. Я искал вокруг всех типичных GPS «прыжков и дрейфующих», и я работал над улучшением того, что получаю, но на прошлой неделе у меня появились некоторые действительно странные данные, на которые я не могу положиться.Android Местоположение «собирается прогуляться» само по себе

Приложение в основном имеет функцию переднего плана, которая отслеживает местоположение и затем загружает эти данные по таймеру. Конечно, у нас есть все необходимые разрешения, и есть фильтр, который отсеивает данные с очень плохой точностью и «обнаруживает» остановки. Все работало хорошо, пока не произошло то, что вы видите. enter image description here Вот некоторые из данных, которые я получил. «Красивый» рисунок рисунка. То же самое происходит и с другим местом, но не в этом. Я проверил данные, чтобы узнать, почему мой фильтр даже не пытался улучшить ситуацию, и я узнал, что он не сможет. Все точки имеют правильную скорость, направление и точность, и для всех целей и целей я мог бы сказать, что человек действительно сделал все это. Проблема в том, что этого не произошло. Телефон, (Samsung J5), возможно, не самый лучший из них, был в комнате все время. Из моего понимания провайдера Fused Location не сообщается о скорости, если в процессе не задействован GPS. И давайте предположим, что там, где сидел телефон, он может получить сигнал GPS. Я вижу, как он прыгает, но собирается прогуляться по окрестностям?

Я знаю и понимаю, что местоположение в Android (и любой другой платформе) может быть очень сложным делом, состоящим из множества различных переменных, которые в основном начинаются с аппаратного обеспечения этих переменных, но как мы можем объяснить этот внезапный приток сумасшедших , хотя кажущиеся правильными, данные? Можем ли мы считать, что долгое время обслуживание и обслуживание на местах были фактически забиты или «устали» от системы? Как может тот же самый прибор, который дал данные OK для этой точки, внезапно предоставить этот набор данных?

Чтобы добавить к проблеме. В данных были также одна или две длительные задержки около 2 минут (интервалы, установленные на 15 и 10 (для самых быстрых) секунд). Я на 100% уверен, что служба не перезагрузилась или что-то в этом роде, потому что я регистрирую это.

Любое понимание будет оценено по достоинству, и если есть какой-либо способ/метод/алгоритм, который вы могли бы порекомендовать, чтобы изучить «исправление» такого поведения, было бы замечательно. Заранее спасибо и извините за длинный вопрос. Мне нужно было обеспечить надлежащий фон.

EDIT: На самом деле это не ответ на мой вопрос, почему такое поведение неожиданно появляется, поэтому я добавляю его здесь как способ попытаться смягчить проблему, по крайней мере, немного. Я решил использовать ActivityRecognitionAPI Google (поставляется в API-интерфейсе местоположения, поэтому не нужно иметь больше зависимостей) и объединить его вывод с моим существующим фильтром, чтобы, надеюсь, «исправить» данные «ложных» местоположений.

Если кто-то все же может дать мне хороший ответ (помогите мне разобраться) в том, существуют ли такие факторы, как длительное время работы или другие аппаратные (или программные) факторы (исключая типичные знания о том, что чипы GPS на телефонах плохой), что может вызвать странное и неожиданное поведение, подобное упомянутому, было бы весьма оценено.

(Конечно, мы можем всегда сказать - «Это вина телефоны» - и сделать;))

ответ

1

GPS-есть ошибки, так что даже если вы стоите на месте в той же точке, вы получите разные результаты , Есть несколько вещей, которые вы можете сделать:

  1. Используйте значение точности GPS - если расстояние между новым показанием и предыдущим значением меньше, чем точность - игнорируйте его.
  2. Используйте акселерометр устройства, чтобы определить, движется оно или нет.
+0

Благодарим вас за ответ TDG. Я знаю все, что вы упомянули, и я сделал всю работу, которую вы упомянули. У меня есть фильтр, который выполняет все проверки, необходимые для отсечения этих случаев, как я упоминаю. Однако в моем примере это не так. Точность, скорость, курс. Этот набор данных предоставляет все это. Вот где вещи становятся странными, и моя фильтрация становится бесполезной. Главный вопрос: почему такое поведение внезапно появится? Здесь нет простых ошибок. GPS сообщает «правильные» точки. И, как вы могли заметить на рис., Это не типичные прыжки, но у нас есть движение !!! – MadDim