Mengapa setiap perhitungan raster saya coba kembalikan dengan nilai NAN?

8

Saya mencoba bekerja dengan raster DEM dari USGS menggunakan kalkulator raster. Saya telah mencoba mengubah unit dari meter ke kaki menggunakan ekspresi seperti:

"ned10m45111h8@1" * 3.28

Namun ini mengembalikan nilai NAN untuk setiap sel. Saya juga sudah mencobanya tanpa tanda kutip di sekitar nama raster seperti yang ditunjukkan di situs web ini: http://spatialgalaxy.net/2012/01/25/using-the-qgis-raster-calculator/

Demikian pula, saya telah mencoba kode mask:

("ned10m45111h8@1" <= 1328.96)*"ned10m45111h8@1"

Dengan dan tanpa tanda kutip dan dapatkan NAN kembali untuk semua nilai. Apakah ada pengaturan default yang perlu saya tambahkan, atau beberapa kesalahan mendasar yang saya buat? Saya baru mengenal QGIS, tetapi tidak dengan GIS dan dapat dengan mudah melakukan ini dengan ARCGIS dan analis spasial.

Hayden
sumber
1
Saya rasa saya ingat pernah membaca di suatu tempat bahwa ini adalah masalah dengan proyeksi ... Kalkulator raster di QGIS tidak mematuhi "proyek saat itu". Meskipun Anda hanya menggunakan satu raster dalam operasi, mungkin cobalah mengekspornya ke proyeksi yang sama dengan dokumen QGIS Anda.
Tangnar
1
Apakah Anda keberatan membagikan versi QGIS Anda? Jika <2.10, maka layak untuk dicoba dengan versi 2.10. Kalkulator raster memiliki satu ton perbaikan untuk 2.10, termasuk banyak yang terdengar seperti kemungkinan penyebabnya ...
ndawson
Sudahkah Anda mempertimbangkan untuk menggunakan GDAL_Calc gdal.org/gdal_calc.html Gdal_Calc.py -A ned10m45111h8 --outfile = result.tif --calc = "A * 3.28084"
Michael Stimson
hanya menggemakan @ndawson untuk orang lain yang terjebak di sini. Saya menjalankan 2.4 dan mengalami masalah ini - meningkatkan ke 2.14 segera menyelesaikannya
Owen

Jawaban:

5

Ini adalah pos lama, tetapi saya menemukan itu sementara memiliki masalah yang sama. Ternyata masalah saya adalah bahwa luasan perhitungan ditetapkan secara default ke luasan lapisan saat ini dari pita raster pertama dalam daftar. Saya mencoba melakukan penghitungan pada band raster lain, tetapi luasannya tidak diperbarui ketika yang lain dipilih.

Saya harus mengklik pada band raster yang sedang saya lakukan kalk dan menekan tombol "tingkat lapisan saat ini". Voila.

iskionrocks
sumber
Ini juga bekerja untuk saya. Pertama-tama klik salah satu band yang ingin Anda kerjakan, kemudian tingkat Current Layer. Jika Anda melakukannya, Current Layer Extent dapat menghasilkan NaNs
DarkCygnus
2

Saya berharap dapat membantu orang lain mencari jawaban untuk berurusan dengan kalkir raster QGIS untuk mengembalikan raster NaN. Saya menggunakan kalkulator raster GDAL di Toolbox Pemrosesan pada QGIS 3.4.

Saya mencoba setiap solusi yang saya temukan di pertukaran stack dan tidak ada yang berhasil untuk raster saya, ditunjukkan di bawah ini: layar info raster

Saya memperbarui QGIS, mengatur CRS dari layer yang dipilih, memaksa QGIS untuk memproyeksikan layer ke CRS yang benar, mengubah nama file raster saya, dan mengubah nilai NaN menjadi 0 pada raster. Tidak ada solusi ini yang memungkinkan saya untuk melakukan fungsi raster calc, bahkan yang sederhana sekalipun "twentysix@1" * 1.

Menggunakan GDAL Raster Calculator memecahkan masalah apa pun yang dimiliki Kalkulator Raster QGIS dengan raster. Semoga orang bisa melihat ini yang membutuhkannya! Itu membuatku jengkel selama berhari-hari.

skrining lokasi kalk GDAL

Mara
sumber
0

Punya masalah yang sama, mencoba semua hal di atas tanpa sukacita.

Saya akhirnya menyelesaikannya dengan mengekspor .shp sebagai .csv, menyalin dan menempelkan bidang yang relevan ke .csv baru yang kemudian saya gunakan untuk membentuk sebelumnya interpolasi!

Michael_01
sumber