Atualização: O bug foi corrigido na versão do ArcGIS 10.4
Estou usando o ArcGIS 10.2.2 para determinar estatísticas zonais para várias zonas. Se houver algum NoData na varredura de valor, quero que os resultados da zona sejam "NoData", exatamente como anunciado pela descrição das ferramentas. Esta descrição da ferramenta declara:
DADOS - Dentro de qualquer zona específica, apenas as células que possuem um valor na varredura Value de entrada serão usadas para determinar o valor de saída para essa zona. As células NoData na varredura Value serão ignoradas no cálculo estatístico.
NODATA - Dentro de qualquer zona específica, se existir alguma célula NoData na varredura Value, considera-se que há informações insuficientes para executar cálculos estatísticos para todas as células nessa zona; portanto, a zona inteira receberá o valor NoData na varredura de saída.
Por favor, dê uma olhada na minha configuração nesta imagem:
Estou usando a opção NODATA com uma varredura de valor que possui um pixel NoData e, portanto, espero que o valor da zona resultante (zona 61154) seja 'NoData'. Em vez disso, recebo um valor de 12,74 (arredondado para 13 na imagem), o que me confunde em dois níveis: primeiro, eu esperava 'NoData' e, segundo, o valor resultante de 12,74 é matematicamente impossível, porque a média não pode ser maior que o valor máximo na varredura de valor, que é 10 neste caso.
Se eu estiver usando a opção DADOS, recebo um valor de cerca de 9,1, o que faz sentido. Testamos isso em diferentes conjuntos de dados, computadores e versões do ArcGIS.
O que estou perdendo aqui?
Editar / Comentário adicional: Acabei de notar que o atributo 'Count' também está errado para essa zona específica. De fato, existem 421 células nessa zona, mas a ferramenta contava apenas 297. O cálculo de 421 menos 297 resulta em 124 - curiosamente, essa é a "posição" em que o pixel NoData está localizado, se contarmos os pixels do canto superior esquerdo para o inferior bem na zona. A ferramenta pode estar com erros na contagem de células (muito baixa), o que pode explicar o aumento da média.
Edit: Aqui está um link para os dados que estou usando.
Edit: Dan Patterson e eu fizemos algumas depurações adicionais aqui no fórum da ESRI.
Respostas:
Existe um erro que parece corresponder ao que você está enfrentando - ele está registrado como BUG-000084883 - A opção 'Ignorar dados não calculados nos cálculos' no Zonal Statistics como ferramenta de tabela {e Zonal Statistics tool} não é respeitada quando desmarcada, produzindo resultados incorretos.
Ocorre com 10.3 e 10.2.2, mas não com 10.1. Você tentou a ferramenta com esta versão?
fonte
Isso é um bug. Algo terrivelmente errado com a contagem de células.
A média correta (9,0452380952381) vezes o número correto de células não vazias (420) dividido por 297 (que é uma contagem de células relatada pela ferramenta ) resulta em 12.7912457912458. Essa é uma média incorreta relatada pela ferramenta.
Resultados do meu próprio teste de grades de tamanho de brinquedo:
fonte
Semelhante a outra resposta , mova os dados de varredura para as matrizes mascaradas do NumPy para calcular suas estatísticas. Supondo duas rasters sobrepostas com a mesma forma, isso é simples:
Shows:
fonte