Ubah nilai null nilai raster ke 0 di QGIS?


13

Saya butuh bantuan ... Saya mengalami masalah dengan QGIS. Saya memiliki beberapa raster yang tampaknya memiliki nilai nol, meskipun saya mereklasifikasi mereka untuk mendapatkan raster Boolean :(

Bagaimana saya bisa mengubah nilai NULL menjadi 0?

Jawaban:


14

selain jawaban @RK, Anda juga dapat menggunakan r.null di rumput .

r.null - Mengelola NULL-nilai peta raster yang diberikan.

CONTOH

Tetapkan nilai tertentu dari peta rahasia ke NULL:

r.null map=landcover.30m setnull=21,22

Setel nilai NULL peta ke nilai tertentu:

 r.null map=fields null=99

Saya harap ini membantu Anda ...


9

Saya pikir plugin RasterCalc harus dapat menyelesaikan masalah Anda. Setelah Anda menginstalnya, Anda dapat menggunakan kueri berikut (dengan asumsi bahwa nilai NULL sesuai dengan -9999; Anda dapat memeriksa nilai ini di tab Transparansi pada Layer Properties):

eq ([your_raster] @ 1, -9999, 0)

eq artinya sama dengan. Ini memberi tahu RasterCalc bahwa semua piksel dalam raster Anda dengan nilai NULL seharusnya nilainya diatur ke 0. Saya berasumsi Anda memiliki satu band raster.


1
Ini sepertinya tidak berhasil (QGIS 1.8 / Rastercalc 0.2.5) - memberikan "ekspresi tidak valid" dengan raster yang dimuat, misalnyaeq( EL_hm@1, NULL, 0 )
Simbamangu

1
@Simbamangu, jika Anda akan menggunakan nilai aktual yang digunakan sebagai NULL (-9999 misalnya) - ini akan berhasil. mis. eq (EL_hm @ 1, -9999, 0)
SS_Rebelious

1
@SS_Rebelious - Anda mungkin ingin menyebutkan dalam edit Anda bahwa nilai NULL dapat diatur dalam preferensi ( General|Representation for NULL values) dan ini harus tercermin dalam ekspresi.
Simbamangu

2

Saya tidak tahu apakah Anda menyelesaikan ini? Mungkin ada cara yang lebih ramping tetapi ini berfungsi baik untuk saya di QGIS terbaru (v2.8.1):

  1. Buat poligon baru dengan kolom atribut untuk tinggi / level. menggambar bentuk poligon dengan tingkat yang lebih besar daripada tingkat raster yang ingin Anda ubah
  2. rasterise poligon ini menggunakan raster> konversi> alat rasterise.
  3. menggunakan alat Analisis GDAL> tidak mengisi data> dan poligon yang dirasterisasi sebagai lapisan validitas.
  4. File raster yang dihasilkan sekarang harus memiliki nilai di mana sebelumnya tidak ada data. Ini akan berupa beberapa nilai acak di bawah 0 (-9999 misalnya) atau 0. Jika 0 maka Anda sudah mendapatkan yang Anda inginkan. Jika tidak, lakukan langkah 5.
  5. menggunakan SAGA> Grid -Tools> Mosaick Raster Layers masukan layer raster yang terisi dan poligon rasterised. di area yang tumpang tindih pilih [3] Maksimum dan atur batas output ke raster asli Anda. Ini akan menghasilkan raster baru yang mempertahankan semua nilai Anda lebih dari 0 sambil memberikan sebelumnya nilai tidak ada data Anda nilai baru 0.
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.