Di ArcMap, dimungkinkan untuk secara otomatis menghitung nilai unik untuk raster dan kemudian menerapkan gaya yang berbeda untuk setiap nilai unik (lihat gambar 1).
Namun, di QGIS, saya harus secara manual menambahkan nilai untuk penataan ketika menggunakan gaya "Singleband pseudocolor" (lihat gambar ke-2). Apakah ada cara mengisi-otomatis nilai unik seperti yang dilakukan ArcMap?
ArcMap:
QGIS (bagaimana cara mengisi secara otomatis daftar nilai dengan nilai unik?):
qgis
raster
symbology
unique-value
Peet Whittaker
sumber
sumber
Jawaban:
Bagi yang masih mencari ini. Nilai raster yang unik telah ditambahkan ke QGIS 3. "Ditambahkan oleh Nyall Dawson sekitar 1 tahun yang lalu
[FITUR] Izinkan mengklasifikasikan renderer palet menggunakan nilai unik dari layer raster
Menambahkan cara mudah untuk gaya raster diskrit seperti kelas penggunaan lahan menggunakan renderer Paletted. Cukup pilih penyaji Paletted, pilih band, lalu tekan tombol "Tambahkan Nilai Unik". Nilai piksel unik akan diambil dari lapisan dan warna ditetapkan untuk masing-masing menggunakan jalur warna yang dipilih saat ini. "
sumber
Inilah pendekatan yang mungkin bisa membantu. Alat GRASS
r.report
mampu menghitung statistik dasar untuk setiap nilai unik dalam lapisan raster:Outputnya dapat ditulis juga file txt biasa yang terlihat seperti ini (kiri: nilai unik, kanan: area yang dicakup oleh setiap nilai):
Script geoprocessing berikut mengambil file teks ini sebagai input dan membuat renderer yang sesuai (dengan warna acak untuk kenyamanan) untuk layer raster (Terinspirasi oleh LAWHEAD, J .: QGIS Python Programming Cookbook, p. 135):
Berkat kemampuan pemrosesan legendaris QGIS, Anda dapat menggabungkan keduanya dalam pemodel grafis dan menambahkan parameter raster agar cukup memilih layer raster yang dimuat:
Setelah menyimpan model, dengan mengklik dua kali dalam kotak alat pemrosesan, dapat digunakan seperti alat biasa:
Dengan hasil yang terlihat seperti ini (singkapan dari set data natura2000 raster):
Atau di properti layer:
Saya pikir ini perlu beberapa perbaikan dalam pengalaman pengguna, tetapi ini adalah langkah pertama.
sumber