Saya memiliki dua lapisan: lapisan raster dan lapisan vektor (poligon). Saya dapat melihat nilai-nilai piksel raster tetapi saya tidak tahu bagaimana menggabungkannya dengan informasi dari lapisan poligon. Lebih khusus lagi, saya ingin:
- menjumlahkan nilai semua piksel dalam batas poligon
- hitung jumlah piksel dengan nilai spesifik di dalam batas poligon
Adakah yang bisa membantu dan memberi saran tentang cara melakukan ini di QGIS?
Jawaban:
Dulu Anda harus menggunakan v.rast.stats di Plugin GRASS, tetapi sekarang Anda dapat menggunakan Statistik Zonal bawaan di menu Raster.
Anda memiliki layer poligon yang dimuat dan raster. Anda menjalankan item menu.
itu akan menjawab bagian a) dari pertanyaan Anda.
v.rast.stats dan alat lainnya akan memberikan Anda hasil yang lebih terperinci, tetapi mungkin alur kerja sederhana untuk b) adalah mengekstraksi setiap poligon (gunakan menu Raster | Extraction | Clipper) dan kemudian jalankan histogram pada masing-masingnya. Tergantung pada struktur data Anda, seberapa sering Anda harus melakukannya, dll.
sumber
Untuk tujuan pertama Anda, seperti kata Willy, Anda dapat menggunakan modul v.rast.stat. Modul ini akan membuat kolom baru yang terisi dalam basis data vektor Anda dengan nilai statistik yang Anda cari (nilai min, maks, rata-rata, standar deviasi, jumlah , dan lain-lain).
Adapun pertanyaan kedua Anda, Anda perlu "menyembunyikan" nilai-nilai yang di bawah (atau di atas) ambang Anda. Salah satu cara untuk melakukan ini adalah dengan menggunakan kalkulator raster qgis dan memasukkan ekspresi berikut untuk menghitung:
Tanda kurung akan membuat topeng, artinya semua nilai di atas 10 akan mengambil nilai 1 dan semua nilai di bawah nilai 0. Dan selanjutnya Anda mengalikan kedua nilai dengan nilai asli. Dan jelas 0 oleh sesuatu sama dengan 0.
Setel nilai nodata menjadi sama dengan 0 untuk mask-raster yang dihasilkan dan kemudian jalankan kembali v.rast.stats.
sumber