Disponible con una licencia de Spatial Analyst.
Disponible con licencia de Image Analyst.
Resumen
Calcula estadísticas sobre valores de un ráster dentro de zonas de otro dataset.
Más información acerca de cómo funcionan las Estadísticas zonales
Ilustración
Uso
Una zona se define como todas las áreas de la entrada que tienen el mismo valor. No es necesario que las áreas sean contiguas. Puede usar tanto rásteres como entidades para la entrada de zona.
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son un ráster, debe ser un ráster entero.
Si los datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son una entidad, se convertirá internamente en un ráster utilizando el tamaño de celda y la alineación de celda del ráster de valores de entrada (in_value_raster en Python).
Si el tamaño de celda de los datos de zonas de entidad o ráster de entrada (in_zone_data en Python) y el ráster de valores de entrada (in_value_raster en Python) es distinto, el tamaño de celda de salida será el valor Máximo de entradas y el Ráster de valores de entrada se utilizará internamente como el ráster de alineación. Si el tamaño de celda es el mismo pero las celdas no están alineadas, el ráster de valores de entrada se utilizará internamente como el ráster de alineación. En ambos casos, se desencadenará un remuestreo interno antes de realizar la operación zonal.
Cuando las entradas de zona y de valor son rásteres del mismo tamaño de celda y las celdas están alineadas, se utilizan directamente en la herramienta y no se remuestrean internamente durante ejecución de la herramienta.
En el caso de que los datos de zonas de entidad o ráster de entrada (in_zone_data en Python) sean una entidad, si hay entidades de zona que no se superpongan con ningún centro de celdas del ráster de valor, dichas zonas no se convertirán al ráster de zona interno. Como resultado, las zonas no se representan en la salida. Puede administrar esta configuración determinando un valor adecuado para el entorno de tamaño de celda, que conservará el nivel de detalle deseado de las zonas de entidad y lo especificará en el entorno de análisis.
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) son una entidad de puntos, puede haber más de un punto contenido dentro de una celda concreta del ráster de valores de entrada. Para dichas celdas, el valor de zona se determina mediante el punto con el campo ObjectID más bajo (por ejemplo, OID o FID).
Si los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) tienen polígonos que se superponen, el análisis zonal no se realizará para cada polígono individual. Debido a que la entrada de entidades se convierte en un ráster, cada ubicación puede tener solo un valor.
Un método alternativo es procesar la operación zonal con iteración para cada una de las zonas poligonales e intercalar los resultados.
Al especificar los Datos de zonas de entidad o ráster de entrada (in_zone_data en Python), el campo de zona predeterminado será el primer campo entero o de texto disponible. Si no existen otros campos válidos, el campo ObjectID (por ejemplo, OID o FID) será el valor predeterminado.
El Ráster de valores de entrada (in_value_raster en Python) puede ser entero o de punto flotante. Sin embargo, si es de tipo punto flotante, las opciones para calcular la mayoría, la mediana, la minoría y la variedad no están disponibles.
Cuando hay un empate en los cálculos de mayoría y minoría, la salida de la zona se basa en el más bajo de los valores coincidentes. Consulte Cómo funciona Estadísticas zonales para obtener más información.
Entre los tipos de dataset ráster multidimensional admitidos se incluyen la capa ráster multidimensional, mosaico, servicio de imágenes y CRF de Esri.
El tipo de datos (entero o flotante) de la salida depende del cálculo zonal que se realiza y del tipo de ráster de valores de entrada.
De forma predeterminada, esta herramienta aprovecha los procesadores multinúcleo. El número máximo de núcleos que se pueden utilizar es cuatro.
Para utilizar menos núcleos, use la configuración del entorno parallelProcessingFactor.
Consulte Entornos de análisis y Spatial Analyst para obtener detalles adicionales sobre los entornos de geoprocesamiento que se aplican a esta herramienta.
Sintaxis
ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value})
Parámetro | Explicación | Tipo de datos |
in_zone_data | Dataset que define las zonas. Las zonas pueden definirse mediante un ráster entero o una capa de entidades. | Raster Layer; Feature Layer |
zone_field | El campo que contiene los valores que definen cada zona. Puede ser un campo de enteros o de cadenas de caracteres del dataset zonal. | Field |
in_value_raster | Ráster que contiene los valores con los cuales se calcula una estadística. | Raster Layer |
statistics_type (Opcional) | Especifica el tipo de estadística que se calculará.
| String |
ignore_nodata (Opcional) | Especifica si los valores NoData de la entrada de valores se ignorarán en los resultados de la zona a la que pertenecen.
| Boolean |
process_as_multidimensional (Opcional) | Especifica cómo se procesarán los rásteres de entrada cuando sean multidimensionales.
| Boolean |
percentile_value (Opcional) | El percentil que se va a calcular. El valor predeterminado es 90 e indica el percentil 90º. Los valores pueden variar de 0 a 100. El percentil 0º equivale en esencia a la estadística mínima, mientras que el percentil 100º equivale a la estadística máxima. El valor de 50 generará en esencia el mismo resultado que la estadística mediana. Esta opción solo se admite si el parámetro statistics_type está establecido en PERCENTILE. | Double |
Valor de retorno
Nombre | Explicación | Tipo de datos |
out_raster | El ráster de estadísticas zonales de salida. | Raster |
Muestra de código
Este ejemplo determina el rango de valores de celda para cada zona en el ráster de valores de entrada.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outZonalStats = ZonalStatistics("zone", "value", "valueraster", "RANGE",
"NODATA")
outZonalStats.save("C:/sapyexamples/output/zonestatout")
Este ejemplo crea una salida zonal multidimensional calculando el valor máximo del ráster de valor multidimensional de entrada para cada zona.
# Name: ZonalStatistics_Ex_standalone.py
# Description: Summarizes values of a multidimensional raster within the zones
# of another dataset.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Set the analysis environments
arcpy.env.workspace = "C:/sapyexamples/data"
# Set the local variables
inZoneData = "zones.shp"
zoneField = "sampleID"
inValueRaster = "multidimensional_valueraster.crf"
# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
"MAXIMUM", "NODATA", "ALL_SLICES")
# Save the output
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2.crf")
Entornos
Información de licenciamiento
- Basic: Requiere Spatial Analyst o Image Analyst
- Standard: Requiere Spatial Analyst o Image Analyst
- Advanced: Requiere Spatial Analyst o Image Analyst