Cara melakukan interpolasi Spline di Track GPS

8

Saya sedang mencari cara untuk menerapkan interpolasi spline ke trek gps (format Gpx). Saya adalah pengguna QGIS biasa dan juga memiliki perpustakaan GDAL diinstal pada mac saya jika itu membantu.

Pada dasarnya informasi jejak dan pengendaraan pada Proyek MTB memiliki sejumlah kecil titik dan jalur aktual diperluas melalui interpolasi spline untuk mengurangi ukuran file. Saya dapat mengunduh trek dalam format gpx, tetapi hanya berisi set poin kecil, memberi saya trek yang menyerupai garis bergerigi yang mewakili sejumlah kecil poin sebelum interpolasi. Saya ingin menerapkan transformasi serupa untuk membuat kembali garis lengkung yang ada di situs web, dalam proses yang agak berulang yang tidak membuat saya secara manual menelusuri kembali setiap titik dengan alat menggambar spline di QGIS.

masukkan deskripsi gambar di sini

Adakah yang tahu cara agar saya bisa dengan mudah menerapkan interpolasi spline ke data lintasan gps saya untuk mereproduksi lintasan splined dari Proyek MTB menggunakan alat gratis? Lebih disukai di OSX?

Benzo
sumber
FWIW, topofusion memiliki fitur ini yang saya cari, tapi saya pengguna mac. Jadi saya mencari sesuatu yang akan bekerja tanpa Windows. topofusion.com/spline.php
Benzo
Sebenarnya, saya menggunakan pc windows dan menemukan topofusion melakukan pekerjaan yang baik untuk menghaluskan garis, tetapi mereka tidak diinterpolasi dengan cara yang sama seperti proyek MTB, jadi kadang-kadang kurva terjadi dengan cara yang tidak sama dan menyebabkan trek menjadi lebih sedikit. akurat daripada lebih akurat, bahkan setelah mengubah parameter.
Benzo

Jawaban:

5

Coba gunakan alat "v.generalisasi" dari kotak alat pemrosesan. Ada sejumlah algoritma di sana yang dapat menggeneralisasi garis dengan baik.

Solusi lain yang mungkin adalah plugin "Generalizer" yang disebutkan dalam posting ini , info plugin di QGIS menyarankan bahwa alat tersebut berdasarkan pada modul v.generalizer Grass.

Hanya untuk referensi di bawah ini adalah contoh dari output dari alat v.generalisasi. Saya menggunakan input default untuk output Chaiken dan Hermite, saya yakin Anda bisa menerima hasil yang lebih baik dengan sedikit riset ke dalam alat ini dan secara khusus apa arti nilai input.

Pembaruan - Algoritme Snakes (tidak ditampilkan dalam gambar asli di bawah) dengan beberapa penyesuaian parameter alfa dan beta memberikan tampilan yang lebih halus pada dataset pengujian saya.

Contoh dari v. Generalisasi output

Andrew Jeffrey
sumber
1

Saya merasa canggung, tetapi izinkan saya merekomendasikan QGIS + Spline Plugin sebagai salah satu opsi untuk kasus Anda.

  1. Ya, mendigitalkan semua poin itu rumit. Tetapi pengaturan parameter Opsi Snap yang tepat dapat mengurangi beban tugas.
  2. Perangkat lunak lain yang mampu membuat Splines adalah CAD (mis. AutoCAD) atau solusi matematis (misalnya R). Jika Anda memilih CAD, alur kerjanya hampir sama, untuk mengulang poin mengklik untuk menambahkan segmen spline.
  3. Jika lintasan sepeda adalah kurva spline "ideal", diinterpolasi secara matematis, spline paling cocok akan menjadi solusinya. Pada kenyataannya, spline seperti itu jarang mewakili seluruh trek Anda. Anda mungkin akan menyambung beberapa kurva, dengan mencoba berbagai parameter penghalusan.
  4. Saat Anda menggunakan Spline Plugin, Anda dapat mengubah parameter saat Anda melanjutkan digitalisasi.

masukkan deskripsi gambar di sini

Jika Ketat Anda diatur ke 0,5 (nilai default), itu dapat menghubungkan titik pengukuran padat dengan lancar, dan Ketat yang lebih tinggi mencoba untuk tidak menekuk kurva di sekitar titik-titik tersebut.

Anda akan melihat kurva Biru (0,9) lebih cocok di kurva lembut, dan Jeruk (0,5) bagus untuk tikungan ketat. Fleksibilitas ini adalah bagian terbaik dari digitalisasi secara manual oleh Spline Plugin. Jika kita mencoba melakukannya dengan persamaan matematika, itu bisa menjadi mimpi buruk.

  1. Saya khawatir teknik generalisasi tidak menghormati poin data asli. Dengan kata lain, kurva yang diturunkan oleh generalisasi tidak melewati trek sepeda Anda.
Kazuhito
sumber
Terima kasih untuk poin tentang teknik generalisasi, senang tahu. Saya mungkin tidak akan menggunakan opsi plugin spline, karena saya mencoba untuk mengatur parameter dan menjalankan proses ini di beberapa trek, jadi ini tidak akan menjadi operasi satu mati. Saya perlu proses berulang yang cepat.
Benzo
Bukan menerima ini sebagai jawabannya, tetapi memberi hadiah untuk solusi terdekat. Mungkin jika saya meluangkan waktu untuk mencari tahu cara meretas plugin spline karena saya tahu beberapa python, saya bisa mendapatkannya untuk beralih pada poin yang ada secara otomatis daripada melakukan digitalisasi manual. Tidak yakin seberapa sulit itu, tetapi sumbernya ada di sana untuk plugin.
Benzo