Моя проблема в том, что у меня есть большой набор треков GPS от разных регистраторов GPS, используемых в автомобилях. Когда эти устройства не выключены, они регистрируют фантомные движения, даже стоя на месте:
![enter image description here](https://i.stack.imgur.com/YIHfH.jpg)
Как вы можете видеть на картинке выше, около тысячи точек визуализируются в виде скопления. Теперь я хочу удалить все эти точки, чтобы красная дорожка, идущая слева, заканчивалась до начала дрожания.
Мой подход заключается в том, чтобы «нарисовать» два или три круга вокруг каждой точки на трассе, проверить, сколько других точек находится в этих кругах, и проверить соотношение:
(#points / covered area) > threshold?
![enter image description here](https://i.stack.imgur.com/WCBfq.jpg)
Если порог превышает определенное соотношение (фиолетовые кружки), я могу удалить все точки внутри. Итак: простой метод, но имеет огромные недостатки, например, время вычислений, удаляя «невинные» дорожки, только проходящие через круг, не обнаруживает выбросы, подобные отдельным точкам внизу рисунка).
Я ищу лучший способ обнаружить большие кучи точек , как на картинке. Он не должен удалять ложных срабатываний (возможно, 5 или 10 баллов, эти агрегаты не имеют значения для меня). Также это не должно упрощать остальную часть трассы!
Редактировать: Результат в данном примере должен выглядеть следующим образом:
![enter image description here](https://i.stack.imgur.com/yvUnI.jpg)