Какой лучший алгоритм сжатия зависит в значительной степени от того, чего вы пытаетесь достичь с его помощью, и зависит от других внешних переменных. Как правило, собирались выявить и удалить пики, а затем удалить лишние данные. Например;
Известные минимальная и максимальная скорость, ускорение и способность к обучению позволят вам убрать шипы. Если мы посмотрим на расстояние соединения между парой точек, деленное на время, где
скорость = sqrt ((xb - xa) ^ 2 + (yb - ya)) / (tb-ta)
мы можем исключить точки, в которых расстояние не может быть пройдено за истекшее время с учетом ограничения скорости. Мы можем сделать то же самое с ограничениями ускорения и изменить ограничения направления для данной скорости. Эти ограничения изменяют, является ли GPS-приемник статичным, ручным, в автомобиле, в самолете и т. Д ...
Мы можем удалить избыточные точки, используя движущееся окно, смотрящее на три точки, где, если интерполированную (x, y, t) для средней точки можно сравнить с наблюдаемой точкой, и наблюдаемая точка удаляется, если она лежит в пределах указанное расстояние + временная погрешность интерполированной точки. Мы также можем подгонять данные по кривой и учитывать расстояние до кривой, а не использовать окно с 3 точками.
Сжатие также может иметь разные цели в зависимости от заданных ограничений, например просто уменьшить размер данных, удалив избыточные наблюдения и пики, или сгладить данные.
Для первых, после проверки на пики на основе определенных ограничений, мы просто проверяем 3d-расстояние каждой точки до ломаной, соединяющей сжатые точки. Это достигается путем нахождения пары точек до и после удаленной точки, интерполяции позиции на линии, соединяющей эти точки на основе наблюдаемого времени, и сравнения интерполированной позиции с наблюдаемой позицией. Количество удаленных очков будет увеличиваться, если мы допустим увеличение этого расстояния.
Для последнего мы также должны рассмотреть, насколько хорошо сглаженный результат моделирует данные, веса, наложенные ограничениями, и параметры формы / кривой проекта.
Надеюсь, в этом есть какой-то смысл.