Eu tenho uma varredura com lacunas. Quero preenchê-los com médias de células circundantes usando o ArcGIS 10.2 for Desktop.
Eu tentei "Estatísticas Focais", mas calcula a média de CADA célula e não apenas as lacunas.
Eu tentei [Mosaic] .IsNull.Con ([Average], [Mosaic]) encontrado aqui Patching, mas não sei como implementá-lo / ele não funcionará para mim
Eu tentei o Map ALgebra, mas acho que eles estavam usando versões anteriores à 10.2.
O que eu quero. Faça uma varredura falsa com as lacunas preenchidas. Use a varredura falsa para preencher as lacunas da varredura real sem substituir os pontos pelos dados reais.
arcgis-desktop
arcgis-10.2
spatial-analyst
Steven Crisp
fonte
fonte
Respostas:
Isso funciona:
Onde "w" e "h" são o raio da pesquisa.
Isso faz apenas estatísticas focais nas áreas NoData. Eu verifiquei apagando dados de um DEM e depois encontrando a diferença. Você só precisa garantir que o raio da pesquisa seja adequado.
fonte
arcpy.sa.NbrCircle(radius, units)
onde as unidades podem estar'MAP'
ou'CELL'
.Use a função de estatísticas focais, conforme descrito para calcular a média de todas as células da varredura. Em seguida, use as funções Con e IsNull na calculadora raster para substituir apenas as células que são nulas.
Uma desvantagem possível com esta solução é que você pode ver alguns valores médios adicionais indesejados de células em torno do perímetro da sua varredura de saída
fonte
Você deve usar a Calculadora de varredura e há uma linha de código útil e relevante na página de suporte da ESRI : Como: Remover e substituir nenhum valor de dados dentro de uma varredura usando informações estatísticas dos valores de dados circundantes . Da sua pergunta, parece que isso faria exatamente o que você está tentando fazer, mas deixe-me saber se estou errado. Aqui está minha captura de tela da Calculadora Raster usando uma instrução condicional para calcular um valor médio para células sem dados das células circundantes:
Se você tiver centenas delas, recomendo usar o Raster Iterator no Model Builder, que alimentará todas as suas rasters na Raster Calculator Tool, desta forma:
fonte
Tentei o método da Calculadora de varredura que LeonB usou, mas ocorreu um erro de falta de memória, o que é surpreendente, considerando as especificações do meu sistema. Escreveu um pequeno script python independente - modificado daqui - no IDLE que funcionou para mim ...
fonte