, моя проблема в том, что у меня есть большой набор GPS-треков с разных GPS-регистраторов, используемых в автомобилях. Когда эти дешевые устройства не выключены, они регистрируют фантомные движения, даже если они стоят на месте:
Как вы можете видеть на изображении выше, около тысячи точек визуализируются в виде скопления. Теперь я хочу удалить все эти точки, чтобы красная дорожка, идущая слева, заканчивалась до того, как начнется дрожание. Мой подход заключается в том, чтобы «нарисовать» два или три круга вокруг каждой точки на треке, проверить, сколько других точек расположено внутри этих кругов, и проверить соотношение:
(количество точек / покрытая площадь) > порог?
Если порог превышает определенное соотношение (фиолетовые круги), я могу удалить все точки внутри. Итак: простой метод, но имеет огромные недостатки, например. время вычисления, удаление «невинных» дорожек, проходящих только через окружность, не обнаруживает выбросы, такие как отдельные точки в нижней части изображения).
Я ищу лучший способ обнаружения большого количества точек, как на картинке. Он не должен удалять ложные срабатывания (возможно, 5 или 10 баллов, эти агрегации для меня не имеют значения).Также не следует упрощать остальную часть трассы!
Редактировать: Результат в данном примере должен выглядеть так: