Bugs and Suggestions

Here you can vote for ideas by projects. You can add your ideas to any open project from the project's page.

Спасибо!

Мы очень рады, что Вам нравится данный проект и вы проголосовали за его развитие.

Работа над задачами по проекту отнимает у его разработчика самое ценное — время, так что небольшая компенсация в виде материальной поддержки поднимет интерес к разработке и позволит сделать больше задач для общей пользы :)

Перейти к проекту Нет, спасибо

<<< Back

Невалидные точки GPS координат с большой разницей высот и высоким значением точности.

Added by: 2023-11-12 00:08:05 Shuravi / Status: New / Project: GPS трекинг

В приложение GPS-трекер прилетают координаты с телефона геоточек с огромной погрешностью при этом максимальное значение точности не превышает 35. Вот так это выглядит:
https://disk.yandex.ru/i/Gyv2SxOJU93u1A
Все точки в данном случае невалидные. У невалидных точек наблюдаются значения Altitude: или отрицательные: меньше -120, -300, наименьшее значение -16858 или положительные: 335, 413, 576, 575, 1776, 1945, 4815, 6584, 8109 и т.д.
Средний диапазон фактических высот: 60-120.
Использую телефон: Samsung A54. Версия Android 13, Majordroid последней версии. В настройках геопозиции включена максимальная точность. Приложению даны все разрешения.
Если обратить внимание, ложные точки не находятся рядом.
Предлагаю ввести несложную фильтрацию (проверку валидности) в GPS-трекере по получению точек:
Если X1<-5, то X1=false илиесли |X-X1|>110, то дополнительно проверяется линейное расстояние между точками без учета высоты. Если расстояние между X и X1 больше 1500м, то false.
где X - предыдущее значение
X1 новое поступившее значение.
В следующей проверке X1 будет X (даже, если оно было не валидным).

Можно дополнительно подумать про проверку времени, но оно в приложении задается пользователем... В алгоритме есть изъян - после невалидной точки новая точка валидная вероятнее всего не запомнится. Если человек отправился в горы и новая точка прилетела через через несколько часов, то она вероятно не запомнится.
Если кто-то предложит альтернативный алгоритм, буду благодарен.

+1
 
Discuss (1)