Saya memiliki dataset vektor titik data broadband pedesaan (seberapa cepat, dll.) Dan saya ingin menjelajahi apakah ada kelompok titik dengan karakteristik yang sama, dan untuk memplot poligon yang melingkupinya.
Sebagai contoh, saya mungkin memiliki 45.000 poin dalam satu set data PostGIS yang didistribusikan melalui lanskap. Saya ingin mengidentifikasi kluster yang terletak dalam jarak x km satu sama lain dan di mana kecepatannya di bawah y kbps, dan untuk menghasilkan cembung lambung untuk setiap klaster yang memenuhi syarat.
Apakah ada cara sederhana untuk melakukan ini di QGIS, misalnya?
qgis
qgis-processing
clustering
Adrian
sumber
sumber
Jawaban:
Saya telah menggabungkan bit dari beberapa saran dan menambahkan sedikit dari saya sendiri dan menemukan solusi yang bekerja dengan baik untuk saya - dan semuanya dari dalam QGis!
Saya pertama kali menjalankan PostGis SELECT untuk menemukan titik-titik yang memiliki atribut umum yang tepat dan terletak dalam jarak x km satu sama lain:
(Cukup banyak langsung dari buku PostGis in Action yang sangat bagus dari Manning , hanya menambahkan bergabung sendiri)
Saya kemudian memuat plugin ManageR Petani Carson, dan mengimpor lapisan. Dari sini saya mengikuti proses pengelompokan PAM yang disarankan di sini , dan mengekspor hasilnya ke file bentuk, di mana Convex Hulls dihitung dalam hitungan detik menggunakan fTools (Carson berkeliling!).
sumber
Meskipun bukan solusi QGIS, saya pribadi akan memilih beberapa analisis eksplorasi menggunakan SaTScan . Cepat, didokumentasikan dengan baik dan diterapkan secara luas, sehingga Anda tidak akan kesulitan memulai. 45k poin mungkin memerlukan beberapa RAM.
Saya tidak yakin apakah itu dapat membaca langsung dari Postgres tetapi dengan mudah mengimpor dari file dbf dan teks.
Output analisis kemudian dapat dengan mudah dibaca kembali ke Postgres atau QGIS. Anda dapat memutuskan untuk mencari cluster bundar atau elips (mungkin berguna untuk digunakan jika ada jenis pemukiman tertentu dalam data Anda, misalnya kota / desa berbentuk panjang di lembah dll.). Anda kemudian dapat menghasilkan poligon atau elips atau hanya menampilkan lokasi yang merupakan anggota cluster.
Untuk pratinjau cepat hasil di Google Earth Anda juga bisa menggunakan SaTScan NAACCR ke Google Earth Conversion Tool .
Yang penting - jika Anda memutuskan untuk menjalankan simulasi Monte Carlo (minimum 99, saya pikir) Anda juga akan dapat mengatakan sesuatu tentang signifikansi statistik cluster Anda. Interpretasi dan pembenaran cluster ini akan menjadi masalah lain karena telah diperdebatkan dalam ilmu spasial selama setidaknya dua dekade terakhir (saya pikir;).
Anda dapat mencoba menjalankan analisis spasial murni mencari kelompok nilai tinggi, rendah atau tinggi & rendah. Jika Anda memiliki beberapa atribut temporal dalam data * harian Anda, agregasi mingguan) maka saya pikir akan sangat menarik untuk menjalankan beberapa model ruang-waktu.
sumber
SciPy memiliki paket pengelompokan (untuk python), Anda dapat menggunakannya dalam konsol python, menulis sebuah plugin sederhana untuk melakukan itu atau menggunakan PL / python di dalam postgis.
http://docs.scipy.org/doc/scipy/reference/cluster.html
Setelah analisis cukup gunakan f-tools untuk membuat convex hulls.
sumber
Ada contoh serupa tentang apa yang ingin Anda lakukan menggunakan R dan GRASS di sini . Sebagai alternatif, Anda mungkin ingin menggunakan alat pengelompokan scipy seperti yang disarankan, dan kemudian lakukan perhitungan cembung cembung menggunakan metode ini .
sumber
Anda dapat mencoba plugin Ftools.
Vector
>Geoprocessing Tools
>Convex Hulls
.Ada opsi untuk
Create convex hulls based on input field
, parameter kolom input harus berasal dari atribut titik input Anda.sumber