Resample biner raster untuk memberikan * proporsi * di dalam jendela sel baru

9

Saya ingin beralih dari raster biner hutan / non-hutan pada resolusi 30m ke raster pada resolusi 240m dengan nilai setiap sel menjadi proporsi sel yang berhutan - yaitu nilai data untuk sel 240m akan berubah dari 0 (di mana semua sel dalam raster 30m adalah nol / non-hutan) sampai 0,5 (di mana setengah dari sel 30m adalah hutan, setengah adalah non-hutan) ke 1 (di mana semua sel dalam raster 30m berhutan).

Meskipun telah disarankan untuk tidak menggunakan interpolasi bilinear pada data diskrit, sejauh yang saya tahu hasilnya dengan data biner 0/1 adalah untuk memberikan nilai rata-rata (yaitu proporsi antara 1 dan 0). Apakah ini cara yang masuk akal untuk melakukannya, atau apakah ada metode yang lebih baik?

Saya bisa menggunakan Arc, QGIS dan Idrisi.

stuckGIS
sumber

Jawaban:

13

Gunakan Blokir statistik .

Ini berfungsi seperti statistik Fokus dengan menghitung ringkasan statistik (seperti rata-rata yang Anda inginkan) dalam lingkungan sel yang ditentukan (seperti kuadrat 8 x 8, di mana 8 = 240 m / 30 m), kecuali hanya melakukan ini untuk pembagian rutin grid, daripada dengan satu set lingkungan yang tumpang tindih, satu di setiap sel.

Anda juga dapat menggunakan statistik Focal jika Anda benar-benar ingin: setelah menghitung rata-rata fokus lebih dari 8 kali 8 kuadrat, sampel ulang ke kisi 240 m menggunakan resampling tetangga terdekat . Ketika grid didaftarkan satu sama lain ( yaitu , mereka memiliki asal yang sama) ini harus memberikan hasil yang sama dengan block statistics. (Saya tidak akan menjamin bahwa: beberapa pilihan sewenang-wenang harus dibuat ketika pusat sel baru bertepatan dengan sudut sel lama - seperti yang akan terjadi di sini - dan, jika komite yang berbeda memberi kode pada kedua prosedur, mereka mungkin telah membuat pilihan yang berbeda: sedikit di ArcGIS benar-benar konsisten, saya khawatir.)

Pendekatan lain adalah membuat kisi zona, satu zona per kuadrat di mana rata-rata diinginkan, dan melakukan ringkasan zona sebagai kisi. Zona dapat dihitung secara matematis dari kisi-kisi koordinat baris dan kolom (melalui fungsi flooratau int, dengan klasifikasi ulang, atau dengan menggabungkan tabel yang sesuai ke tabel atribut).

Saya akan menutup dengan menyatakan bahwa interpolasi bilinear, walaupun itu memang akan menghasilkan nilai dalam kisaran 0..1, bukan yang Anda inginkan: ia bekerja dengan menemukan paling banyak empat sel grid (30 m) asli yang mengelilingi pusat dari yang baru ( 240 m) sel dan interpolasi hanya nilainya. Dengan demikian, ia akan mengabaikan 8 * 8 - 4 = 60 sel asli lainnya yang berada di dalam setiap blok baru. Saya menggambarkan interpolasi bilinear di http://www.quantdec.com/SYSEN597/GTKAV/section9/map_algebra.htm : diskusi dimulai di dekat bagian tengah halaman.

whuber
sumber
Terima kasih whuber, inilah yang saya lakukan - menggunakan Block Statistics in Arc untuk menghasilkan jumlah dari grup 8x8, kemudian menggunakan Raster Calculator di QGIS untuk membaginya dengan 64 dan menyelaraskan asal, luas dan ukuran sel dengan sisa data saya.
stuckGIS
stuckGIS, Anda bisa melewati langkah kedua dengan menggunakan Statistik Blok untuk menghitung rata-rata setiap blok 8 x 8. Menyelaraskan kisi baru adalah masalah menentukan lingkungan analisis raster secara tepat, yang - jika dilakukan sebelum memulai perhitungan - akan terjadi secara otomatis. Itu mengurangi alur kerja Anda menjadi satu langkah: melakukan mean blok.
whuber
4

Di ArcGIS ketika Anda melakukan resample data menggunakan bilinear resampling hanya melihat nilai-nilai pusat empat sel ( resample dokumentasi ). Dengan menggunakan metode ini, Anda masih akan kehilangan data jika Anda tidak mengganti kehilangan data.

Mengingat bahwa kita tahu bahwa untuk sel-sel yang di-resample Anda mencari proporsi sel-sel yang berhutan, kita dapat menganggapnya sebagai jumlah dari sel 30m yang dibagi dengan 64 (ada 64 sel 30m dalam blok 240m).

Ini berarti bahwa jika kita dapat membuat raster baru dengan nilai pusat sebagai jumlah dari nilai-nilai sekitarnya pada resolusi 30m, menurunkan resolusi menggunakan sampel dengan tetangga terdekat atau interpolasi bilinear akan memberi kita sel 240m yang merupakan jumlah sel 30m yang mereka hasilkan. penutup. Kita dapat melakukan ini dengan alat jumlah fokus pada raster 30m.

Terakhir setelah kami memiliki raster sum fokus 240m, bagi dengan 64 untuk mendapatkan jawaban proporsi Anda.

Di Idrisi saya tidak yakin dengan algoritma pengambilan gambar, juga di QGIS, tapi saya membayangkan ada yang serupa. Tentunya di QGIS Anda dapat memproses raster di Python menggunakan ndimage yang mirip atau sejenisnya.

om_henners
sumber