Berurusan dengan NoData di ArcGIS Spatial Analyst?

10

Saat menggunakan Spatial Analyst, saya secara teratur memiliki masalah dengan nilai-nilai NoData yang muncul dalam data.

Berbagai alat muncul untuk memperkenalkan nilai-nilai NoData secara teratur.

Nilai-nilai ini kemudian menyebabkan masalah dengan alat lain dan harus dihilangkan dengan klasifikasi ulang, biasanya mengakibatkan masalah lain.

Bagaimana seharusnya nilai-nilai NoData ditangani? Apakah ada cara sederhana untuk mengganti nilai NoData dengan nol? Bisakah NoData dihindari sama sekali?

Matthew Snape
sumber
3
Biasanya - tetapi tidak selalu - nilai NoData harus ada di sana. Ini mencegah seluruh operasi gagal ketika mungkin gagal secara terpisah hanya pada beberapa sel. Contoh yang baik dibagi dengan nol, log dari angka-angka tidak positif, dan berbagai operasi lokal dicoba di sepanjang batas grid. Salah satu dari beberapa contoh bagus yang saya tahu tentang di mana nilai-nilai NoData tidak boleh diperkenalkan adalah focal mayoritas / minoritas, yang menyelesaikan ikatan dengan mengaturnya ke NoData!
whuber
1
Juga, ada perbedaan antara NoData terbatas (misalnya, -9999), dan 1.#QNANNoData. Dalam ArcGIS yang pertama transparan, sedangkan 1.#QNANNoData berwarna hitam buram.
Mike T

Jawaban:

6

Saya akan menggunakan kalkulator raster dengan ekspresi berikut:

Con(IsNull([raster]), 0, [raster])

Diasumsikan bahwa raster Anda disebut 'raster'.


Sintaks alat 10.x Raster Calculator sedikit berbeda. Dalam contoh ini, "raster" adalah layer di peta:

Con(IsNull("raster"), 0, "raster")
Dan satu
sumber
4

Anda dapat mengatur nilai NoData ke nilai apa pun menggunakan operator kondisional Set Null ( ArcGIS 9.3 , ArcGIS 10 ). Saya tidak mengetahui cara mencegah NoData muncul di tempat pertama.


Saya menyadari bahwa saya seharusnya menulis / ditautkan ke operator Con seperti yang disebutkan @AndOne.

Dari dokumentasi, jika Anda menggunakan python:

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outCon = Con("elevation", "elevation", "", "VALUE > 2000")
outCon.save("C:/sapyexamples/output/outcon.img")
djq
sumber
1
+1. Banyak operasi memiliki argumen yang membatasi hasil NoData. Misalnya , ketika menghitung statistik lingkungan ("fokus"), Anda dapat menentukan bahwa NoData dalam input (yang harus muncul di sekitar tepian) diabaikan begitu saja daripada disebarkan ke output. Perhatikan bahwa setiap kotak planar memiliki batas di luarnya adalah NoData.
whuber
Bisakah ini benar-benar digunakan untuk mengubah NoData menjadi nol?
Matthew Snape
Ya, versi ArcGIS mana yang Anda gunakan?
djq
Verifikasi yang saya gunakan adalah Arcgis 10.0
Matthew Snape