¿Error importante en las estadísticas de ArcGIS Zonal?

22

Actualización: el error se ha corregido en la versión de ArcGIS 10.4

Estoy utilizando ArcGIS 10.2.2 para determinar las estadísticas zonales para varias zonas. Si hay NoData en el ráster de valor, quiero que los resultados de la zona sean "NoData", tal como lo anuncian las descripciones de las herramientas. Esta descripción de la herramienta indica:

  

DATOS: dentro de cualquier zona en particular, solo las celdas que tienen un valor en el ráster de valor de entrada se usarán para determinar el valor de salida para esa zona. Las celdas NoData en el ráster de valor se ignorarán en el cálculo estadístico.

     

NODATA: dentro de cualquier zona en particular, si existen celdas NoData en el   Raster de valor, se considera que no hay información suficiente para   realizar cálculos estadísticos para todas las celdas en esa zona;   por lo tanto, toda la zona recibirá el valor NoData en la salida   raster.

Por favor, eche un vistazo a mi configuración en esta imagen:

EstoyusandolaopciónNODATAconunrásterdevaloresquetieneunpíxelNoDatay,porlotanto,esperoqueelvalordelazonaresultante(zona61154)sea'NoData'.Encambio,obtengounvalorde12.74(redondeadoa13enlaimagen),quemeconfundeendosniveles:primero,esperaba'NoData',ysegundo,elvalorresultantede12.74esmatemáticamenteimposible,porquelamedianopuedesermayorqueelvalormáximoenelrásterdevalor,quees10enestecaso.

SiestoyusandolaopciónDATOS,obtengounvalordealrededorde9.1,locualtienesentido.Probamosestoendiferentesconjuntosdedatos,computadorasyversionesdeArcGIS.

¿Quémeestoyperdiendoaquí?

Editar/Comentarioadicional:Acabodenotarqueelatributo'Count'tambiénesincorrectoparaesazonaenparticular.Dehecho,hay421celdasenesazona,perolaherramientasolocontabilizó297.Cálculode421menos297resultaen124;porextrañoqueparezca,estaesla"posición" donde se encuentra el píxel NoData, si uno cuenta los píxeles de arriba a abajo Justo en la zona. La herramienta podría estar obteniendo el recuento de células incorrecto (demasiado bajo), lo que podría explicar el aumento del promedio.

Editar: aquí hay un enlace a los datos que estoy usando.

Edit: Dan Patterson y yo hicimos un poco más de depuración aquí en el foro de ESRI.

    
pregunta G-wizard 10.08.2015 - 23:33

3 respuestas

9

Es un error. Algo terriblemente mal con el recuento de células.

Correcto significa (9.0452380952381) veces correcto el número de celdas no vacías (420) dividido por 297 (es decir, un recuento de celdas informado por herramienta ) resulta en 12.7912457912458. Ese es un promedio incorrecto reportado por la herramienta.

Resultados de mi propia prueba de cuadrículas de juguete:

    
respondido por el FelixIP 17.08.2015 - 05:34
1

Similar a otra respuesta , mueva los datos ráster a NumPy arrays enmascarados para calcular sus estadísticas. Asumiendo dos rásteres superpuestos con la misma forma, esto es simple:

import numpy as np
zones = arcpy.RasterToNumPyArray("zones")
value = np.ma.masked_equal(arcpy.RasterToNumPyArray("value"),
                           arcpy.Raster("value").noDataValue)
print("Zone\tCount\tNoData\tMean")
for z in np.unique(zones):
    sel = (zones == z)
    print z, sel.sum(), value.mask[sel].sum(), value[sel].mean()

Muestra:

Zone    Count   NoData  Mean
61131   53   0   8.92452830189
61154   421   1   9.04523809524
61207   1   0   8.0
61317   35   0   7.2
61644   644   0   7.90838509317
61677   12   0   7.41666666667
61789   7   0   9.0
61871   193   0   7.98445595855
187472   349   0   8.5787965616
    
respondido por el Mike T 19.08.2015 - 09:06

Lea otras preguntas en las etiquetas