У меня есть данные о грузовиках ( http://www.chorochronos.org/ ).
Эти данные представляют собой GPS-координаты нескольких траекторий грузовых автомобилей в Афинах.
Я должен вычислить сходство между траекториями, чтобы удалить те, которые очень похожи!
Красный и зеленый похожи, но синий, черный и (красный или зеленый) разные траектории. Я хочу удалить один из similares, красный или зеленый.
Данные в точках (геометрия, широта и долгота, х и у) (координаты GPS), изображения являются примерами траекторий
postgis
postgresql
similarity
user2883056
источник
источник
Ответы:
Действительно простой, но не фантастический способ - получить расстояние Хаусдорфа между каждой комбинацией, что делается с помощью функции ST_HausdorffDistance . Используя приблизительные значения LineStrings на вашем рисунке, все они показаны синим цветом, а расстояние Хаусдорфа показано для одной из пар линий красным цветом:
И запрос для сортировки 6 комбинаций в порядке убывания:
Таким образом, он отлично работает в этом примере, но это не отличный или надежный метод для кластеризации линий, поскольку единственная метрика - это отдельная точка с наибольшим расстоянием, а не сравнение различий полных линий. Есть намного лучшие методы, но они будут более сложными.
источник
У меня нет доступа к PostGres / PostGIS, но вот как я могу это сделать в ArcGIS (или других).
источник