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. Tanto los datasets ráster como los de entidades se pueden utilizar para la entrada de zona.
Cuando tanto las entradas de zona como las de valor son rásteres de la misma resolución, se utilizarán directamente.
Si las resoluciones son diferentes, se aplica un remuestreo interno para hacerlas coincidir antes de realizar la operación zonal.
En el caso de que no haya celdas NoData en las entradas, el remuestreo puede causar la aparición de áreas de NoData más grandes que las esperadas en la salida. Para evitar esta situación, realice un Remuestreo de los rásteres de entrada más gruesos a la resolución del ráster de entrada más fino o establezca el Tamaño de celda en Cantidad mínima de entradas en el entorno del Análisis ráster.
Si la entrada de zona es un dataset ráster, debe tener una tabla de atributos. Por lo general, la tabla de atributos se crea automáticamente para rásteres enteros, pero puede no ser así bajo determinadas circunstancias. Puede utilizar Construir tabla de atributos ráster para crear una.
Si la entrada de zona es un dataset de entidad, se le aplicará internamente una conversión de vector a ráster. Para garantizar que los resultados de la conversión se alinearán correctamente con el ráster de valores, es recomendable comprobar que los rásteres de extensión y alineación están bien definidos en las configuraciones de entorno y de ráster.
Debido a que el ráster interno debe tener una tabla de atributos, ocurrirá un error si no se creó una en la conversión. Si esto ocurre, convierta el dataset de entidades directamente con De entidad a ráster, De polígono a ráster, De punto a ráster, o De polilínea a ráster. Genere una tabla de atributos para este como se indica en la sugerencia anterior y utilice el ráster resultante como entrada de zona.
Si la entrada de zona es un dataset de entidades con relativamente entidades pequeñas, recuerde que la resolución de la información debe ser adecuada en relación a la resolución del ráster de valores. Si las áreas de entidades simples son similares o más pequeñas que el área de celdas simples en el ráster de valores, en la conversión entidad a ráster es posible que algunas de estas zonas no estén representadas.
Para demostrarlo, intente convertir el dataset de entidades a un ráster con la herramienta de conversión de entidad a ráster adecuada y especifique la resolución para que sea la del ráster de valores. El resultado de esta conversión le indicará cuál será la salida predeterminada de la operación zonal.
Si en la salida tiene menos resultados que los esperados, debe determinar una resolución del ráster adecuada que representará el detalle de la entrada de entidad y utilizar esta resolución como el Tamaño de celda de la Configuración de análisis ráster del entorno.
Si la entrada zonal es un dataset de entidad de punto, es probable que haya más de un punto dentro de cualquier celda en particular del ráster de entrada de valor. Para dichas celdas, el valor zonal se determina mediante el punto con el Id. de entidad más alto.
Si la entrada de la entidad zonal tiene 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 las estadísticas zonales con iteración para cada una de las zonas poligonales e intercalar los resultados.
Se recomienda utilizar sólo rásteres como entrada de zona, ya que le ofrece mayor control sobre la conversión de vector a ráster. Esto le ayudará a asegurar la obtención constante de los resultados esperados.
Al especificar los datos de zona de entrada, el campo de zona predeterminado será el primer campo válido disponible. Si no existen otros campos válidos, el campo ObjectID (por ejemplo, OID o FID) será el valor predeterminado.
Si un campo reservado (por ejemplo, OBJECTID, FID o OID) se selecciona para el Campo de zona, puede producirse cierta ambigüedad en el resultado. El resultado incluye el nombre del campo reservado en particular para el tipo de formato de salida determinado, así como el campo de Zona especificado. Si el campo especificado tiene el mismo nombre que el campo reservado para el formato de salida, en la salida el nombre del campo de zona se alterará de forma tal que todos los nombres de campo del resultado serán únicos.
El ráster de valores de entrada puede ser entero o de punto flotante. Sin embargo, cuando es un tipo de punto flotante, no se realizarán los cálculos zonales para mayoría, mediana, minoría y diversidad.
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.
El tipo de datos de la salida depende del cálculo zonal que se realiza y del tipo de ráster de valor 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 4.
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 |
Ejemplo 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 (secuencia de comandos 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 for Desktop Basic: Requiere Spatial Analyst
- ArcGIS for Desktop Standard: Requiere Spatial Analyst
- ArcGIS for Desktop Advanced: Requiere Spatial Analyst