Menemukan Jalur Peta yang Mirip


9

Saya mencari sebuah algoritma yang, ketika diberi rute tertentu pada peta dengan atribut seperti tanjakan / jarak / bentuk / dll, dapat menemukan rute yang serupa (dalam hal atribut) tetapi dimulai pada titik yang berbeda atau di wilayah berbeda di dunia.

Jelas hampir tidak mungkin dalam hampir semua kasus untuk menemukan pasangan yang cocok, tetapi saya mencari jenis sistem yang "paling cocok" dengan metode pengukuran kesamaan juga idealnya.

Saya telah mencoba mencari, tetapi sebagian besar pertanyaan saya muncul dengan masalah Pencocokan Peta atau kesamaan rute untuk titik-titik GPS di sepanjang jalur yang sama. Saya mungkin tidak tahu terminologi yang benar! Apakah ada nama untuk masalah ini? Algoritma apa yang dapat saya gunakan untuk menyelesaikan ini?


1
Apakah "rute" dibatasi untuk jaringan jalur (jalan / jalur / dll)? Bagaimana Anda mencegah algoritma menentukan rute terdekat adalah rute sumber tetapi hanya sedikit lebih pendek / lebih lama?
Spacedman

1
"Mirip dalam hal atribut" masuk akal tetapi sangat samar sehingga memungkinkan beragam solusi yang mungkin. Bisakah kamu lebih spesifik?
Whuber

@Spacedman Ya, rute dibatasi ke jaringan jalan. Tujuannya adalah untuk mengambil rute jalan dari, katakanlah, Cina, dan menemukan jalan yang sangat mirip yaitu dekat, katakanlah, rumah saya. Saya tidak yakin cara terbaik untuk benar-benar mengimplementasikan batasan itu.
Chris Foster

@whuber Maaf. Untuk memperjelas, memiliki kemiringan yang serupa (di area rute yang serupa) dan jarak total yang serupa adalah yang paling penting.
Chris Foster

Jawaban:


6

Pencocokan peta berbeda dari yang Anda cari. Pencocokan peta adalah cara yang tepat untuk mencocokkan pengamatan gps yang salah dengan jaringan jalan linear. Pertanyaan Anda juga tidak ada hubungannya dengan titik GPS. Karena Anda ingin membandingkan pola rute statis (non temporal) dan menemukan yang serupa. Apa yang Anda cari adalah fitur linear (dalam arti GIS tidak yaitu pembelajaran mesin) yang cocok . Literatur yang terkait dengan trek GPS adalah pencocokan pola spatio-temporal yang berada di bawah rubrik "Penambangan Pola Trajektori (temporal spasial)".

Untuk info lebih lanjut, lihat bab (Trajectory Pattern Mining) dari buku " komputasi dengan lintasan spasial ". Anda akan mendapatkan banyak ide tentang cara membandingkan dan kontras (yaitu melalui azimuth, panjang segmen, sinuositas, langsung menuju dll) berbagai rute atau lintasan.


4

Pertanyaan Anda didasarkan pada data vektor. Namun saya berpikir bahwa Anda lebih baik dilayani dengan mengubah pertanyaan menjadi analisis raster. Dengan melakukan itu Anda juga akan menggeneralisasi pertanyaan Anda sampai batas tertentu.

Algoritma untuk menyelesaikan pertanyaan Anda adalah sebagai berikut:

  1. Raster rute asli dan buat setiap parameter pembawa sel sesuai dengan spesifikasi Anda (kemiringan / jarak / bentuk / dll). Fakta bahwa jalan ada juga merupakan parameter. Ini menjadi daftar satu dimensi dengan n objek -> routelist (n)

masukkan deskripsi gambar di sini

  1. Temukan area tes di mana Anda tahu ada setidaknya satu replika rute asli Anda. Rasterisasi area ini dengan parameter yang sama dengan rute asli Anda. Ini adalah raster a.

masukkan deskripsi gambar di sini

  1. Mulailah dengan sel 1,1 di raster a dan bergerak melalui seluruh raster secara teratur.
  2. Untuk setiap sel, fungsi dipanggil. Fungsi ini memeriksa apakah sel sesuai dengan routelist (0), jika demikian pemeriksaan yang sama dilakukan pada sel-sel di sekitarnya. Dengan sukses, fungsi berjalan untuk memeriksa sel untuk routelist (1) dan seterusnya. Jika berhasil sampai ke routelist (n) koordinat disimpan sebagai rute alternatif dalam routelistcopy (n)
  3. Ulangi hingga Anda mencapai piksel terakhir dalam raster.

masukkan deskripsi gambar di sini

Di atas Anda akan melihat tiga opsi untuk rute sesuai dengan parameter di routelist.

Selanjutnya:

  • Raster sampel di atas diukur berdasarkan hanya satu parameter. Dalam tantangan dunia nyata Anda satu piksel akan merupakan kombinasi dari beberapa parameter.
  • Jika saya memiliki tugas ini saya akan mencoba untuk menulis fungsi yang disebutkan di atas dengan cara rekursif. Ini akan lebih efisien dan menyelesaikan masalah "diverging track" - di mana Anda memiliki beberapa trek alternatif dengan titik awal yang sama.
  • Belokan rute Anda tidak dianggap sebagai masalah. Ini berarti bahwa jawaban adalah daftar piksel yang terhubung dalam urutan yang sama dengan rute asli Anda. Liku-liku bukan masalah. Anda mungkin harus menulis algoritme sehingga rute yang memotong sendiri bukan bagian dari solusi.
  • Rancang algoritme sehingga Anda dapat mengatur tingkat toleransi yang berbeda untuk kriteria yang dimainkan. Ini akan memberi Anda lebih banyak fleksibilitas.
  • Dalam pengaturan operasi seluruh proses dapat dibuat lebih efisien dengan menyaring area untuk terjadinya piksel sesuai dengan spesifikasi Anda. Jika mereka tidak ada, wilayah survei negatif, jadi tidak ada alasan untuk menggunakan waktu untuk menganalisis daerah tersebut.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.