Mais

Convertendo NoData para valores 0 no ArcGIS Desktop?

Convertendo NoData para valores 0 no ArcGIS Desktop?


Eu tenho um raster de cobertura do solo que reclassifiquei e as diferentes classificações de cobertura do solo são agora representadas por números que correspondem a entradas de fertilizantes.

Usando o ArcGis 10.3, estou tentando extrair um certo conjunto desses valores enquanto converte o resto para zeros.

Isso é possível usando a ferramenta de extração por atributos?

Quando tentei anteriormente, os valores diferentes daqueles que selecionei para todos são convertidos em NoData, o que está me causando problemas mais tarde, quando tento adicionar rasters.


Ao usar a Calculadora Raster no ArcToolbox (versão 10.3.1), a função Con é expressa da seguinte forma para um raster denominado "streams":

Con (IsNull ("streams"), 0, "streams")

isso retorna zero se streams for nulo, caso contrário, retorna o valor de streams.

Neste exemplo, todos os pixels NoData nos Streams são definidos como zero, caso contrário, eles contêm o valor do pixel encontrado no conjunto de dados Streams.


Como você reclassificou este raster, presumirei que você tenha acesso à extensão Spatial Analyst, portanto, continuarei com as instruções que exigem essa extensão.

A ferramenta que você deseja usar é Con, embora você possa fazer isso com Extract by Attributes Con dá a você mais controle sobre o caso 'falso'. Sua instrução SQL tem o potencial de ser bastante longa, a menos que você tenha um intervalo adequado, por exemplo:

Valor> 350 && Valor <360 || Valor = 340

Assim:

Observe que o raster de entrada condicional e entrada true raster ou constante têm o mesmo valor ... isso quer dizer que onde a expressão é verdadeira, a saída será o que está na entrada; o raster falso ou constante é 0 ... então, onde a expressão for verdadeira, a saída será a entrada, onde for falsa, será 0.

Para valores individuais (por exemplo 3,5,7,9), você pode especificar implicitamente:

Valor == 3 || Valor == 5 || Valor == 7 || Valor == 9

O que pode ser muito prolixo, no entanto, para rasters inteiros (não de ponto flutuante), como rasters classificados, você pode usar o operador SQL em:

Valor em (3,5,7,9)

O que é significativamente menos digitado e você não precisa procurar em todo o teclado o símbolo de barra vertical (|) para fazer um estilo C OU.


A maneira mais rápida de converter o valor NoData em 0 no ArcGIS é usar a álgebra do mapa com o operador Con

Con (IsNull (your_raster), O, your_raster)

Agora, se você quiser evitar a criação desses valores NoData ao extrair alguns valores e não houver uma regra de conversão simples, você pode usar a "ferramenta de reclassificação" certificando-se de ter um valor de saída (que pode ser zero) para cada entrada (mesmo para NoData).


Certifique-se de pressionar "Enter", pois você está ajustando os valores para "0" na ferramenta de reclassificação. Às vezes, se você não fizer isso, ele apenas reverterá para "NODATA". Esse é um problema que eu tenho de vez em quando. Se você quiser deixar a camada como raster, seria melhor reclassificá-la, em vez de extraí-la usando a ferramenta de extração por atributos, já que a ferramenta de reclassificação foi feita para raster.


Assista o vídeo: delete raster cells in ArcGIS