Disponible con una licencia de Spatial 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 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) son distintos, el tamaño de celda de salida será el 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 utilizarán directamente en la herramienta y no se remuestrearán internamente durante la ejecución de la herramienta.
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 a 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 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 a ráster, cada ubicación puede tener sólo 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.
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. Consulte Cómo funciona Estadísticas zonales para obtener más información.
De forma predeterminada, esta herramienta aprovechará las ventajas de los procesadores de varios núcleos. El número máximo de núcleos que se pueden utilizar está limitado a cuatro.
Si desea que la herramienta utilice 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 válidos para esta herramienta.
Sintaxis
ZonalStatistics (in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata})
Parámetro | Explicación | Tipo de datos |
in_zone_data | El 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 mantiene los valores que definen cada zona. Puede ser un campo de enteros o de cadenas de caracteres del dataset zonal. | Field |
in_value_raster | El ráster que contiene los valores en los cuales se calcula una estadística. | Raster Layer |
statistics_type (Opcional) | Tipo de estadísticas a calcular.
| String |
ignore_nodata (Opcional) | Denota si los valores NoData de la entrada de valores influenciarán los resultados de la zona a la que pertenecen.
| Boolean |
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
Ejemplo 1 de ZonalStatistics (ventana de Python)
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")
Ejemplo 2 de ZonalStatistics (script independiente)
Este ejemplo determina el rango de valores de celda para cada zona en el ráster de valores de entrada.
# Name: ZonalStatistics_Ex_02.py
# Description: Calculates statistics on values of a raster
# within the zones of another dataset.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inZoneData = "zone"
zoneField = "value"
inValueRaster = "valueraster"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
"RANGE", "NODATA")
# Save the output
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")
Entornos
Información sobre licencias
- ArcGIS Desktop Basic: Requiere Spatial Analyst
- ArcGIS Desktop Standard: Requiere Spatial Analyst
- ArcGIS Desktop Advanced: Requiere Spatial Analyst