Lidando com o NoData no ArcGIS Spatial Analyst?


10

Ao usar o Spatial Analyst, eu regularmente tenho problemas com os valores NoData aparecendo nos dados.

Várias ferramentas parecem introduzir valores NoData regularmente.

Esses valores causam problemas com outras ferramentas e precisam ser eliminados com a reclassificação, geralmente resultando em outros problemas.

Como os valores NoData devem ser tratados? Existe uma maneira simples de substituir os valores NoData por zero? NoData pode ser totalmente evitado?


3
Normalmente - mas nem sempre - o valor NoData precisa estar lá. Isso evita que toda a operação falhe quando pode falhar separadamente em apenas algumas células. Bons exemplos são divididos por zero, registros de números não positivos e várias operações locais tentadas ao longo dos limites da grade. Um dos poucos bons exemplos que conheço sobre onde os valores de NoData não devem ser introduzidos é a maioria / minoria focal, que resolve os vínculos definindo-os como NoData!
whuber

1
Além disso, há uma distinção entre NoData finito (por exemplo, -9999) e 1.#QNANNoData. No ArcGIS, o primeiro é transparente, enquanto o 1.#QNANNoData é preto opaco.
Mike T

Respostas:


6

Eu teria usado a calculadora raster com a seguinte expressão:

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

Ele pressupõe que sua varredura é chamada de 'varredura'.


A sintaxe da ferramenta 10.x Raster Calculator é um pouco diferente. Neste exemplo, "raster" é uma camada no mapa:

Con(IsNull("raster"), 0, "raster")

4

Você pode definir valores NoData para qualquer valor usando o operador condicional Set Null ( ArcGIS 9.3 , ArcGIS 10 ). Não tenho conhecimento de uma maneira de impedir que o NoData apareça em primeiro lugar.


Percebi que deveria ter escrito / vinculado ao operador Con como o @AndOne mencionado.

Na documentação, se você usa 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")

1
+1. Muitas das operações possuem argumentos que limitam os resultados NoData. Por exemplo , ao computar estatísticas de vizinhança ("focal"), você pode especificar que NoData na entrada (que deve ocorrer nas bordas) seja simplesmente ignorado em vez de propagado para a saída. Observe que toda grade plana possui um limite além do qual são NoData.
whuber

Isso pode realmente ser usado para converter o NoData em zero?
Matthew Snape

Sim, qual versão do ArcGIS você está usando?
DJQ

Verions que estou usando é Arcgis 10.0
Matthew Snape
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.