Saya memiliki data truk ( http://www.chorochronos.org/ ).
Data ini adalah koordinat gps dari beberapa lintasan truk di Athena.
Saya harus menghitung kesamaan antara trajetories, untuk menghapus yang sangat mirip!
Merah dan hijau serupa, tetapi biru, hitam dan (merah atau hijau) adalah lintasan yang berbeda. Saya ingin menghapus salah satu similares, merah atau hijau.
Data dalam titik (geometri, lat dan panjang, x dan y) (koordinat gps), gambar adalah contoh lintasan
postgis
postgresql
similarity
pengguna2883056
sumber
sumber
Jawaban:
Ukuran yang sangat mudah, tetapi tidak fantastis adalah untuk mendapatkan jarak Hausdorff antara setiap kombinasi, yang dilakukan dengan fungsi ST_HausdorffDistance . Menggunakan perkiraan LineStrings dari gambar Anda, ini semua ditampilkan dengan warna biru, dan jarak Hausdorff ditampilkan untuk salah satu pasangan garis berwarna merah:
Dan permintaan untuk mengurutkan 6 kombinasi dalam urutan menurun:
Jadi itu berfungsi dengan baik untuk contoh ini, tetapi itu bukan teknik yang bagus atau kuat untuk garis pengelompokan, karena satu-satunya metrik adalah titik tunggal dengan jarak terbesar, daripada membandingkan perbedaan garis lengkap. Ada banyak metode yang lebih baik, tetapi mereka akan lebih rumit.
sumber
Saya tidak memiliki akses ke PostGres / PostGIS, tetapi di sini saya akan membahasnya di ArcGIS (atau lainnya).
sumber