Estadísticas zonales (Spatial Analyst)

Disponible con una licencia de Spatial Analyst.

Disponible con licencia de Image Analyst.

Resumen

Resume el valor de un ráster dentro de las zonas de otro dataset.

Obtenga más información sobre cómo funcionan las herramientas de estadísticas zonales

Ilustración

Ilustración de la herramienta Estadísticas zonales
OutRas = ZonalStatistics(ZoneRas, "VALUE", ValRas, "MINIMUM", "DATA", "CURRENT_SLICE")

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 valor de Datos de zonas de entidad o ráster de entrada (in_zone_data en Python) es un ráster, debe ser un ráster entero.

  • Si Datos de zonas de entidad o ráster de entrada es una entidad, se convertirá internamente en un ráster utilizando el tamaño de celda y la alineación de celda del parámetro Ráster de valor de entrada (in_value_raster en Python).

  • Si el tamaño de celda de Datos de zonas de entidad o ráster de entrada y de Ráster de valor de entrada es distinto, el tamaño de celda de salida será el valor Máximo de entradas y el Ráster de valor de entrada se utilizará internamente como 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 valor de entrada se utilizará internamente como 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 el procesamiento de la herramienta.

  • Si Datos de zonas de entidad o ráster de entrada es una entidad, en el caso de las entidades de zona que no se superponen 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 el valor de Datos de zonas de entidad o ráster de entrada es una entidad de punto, 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 el valor de Datos de zonas de entidad o ráster de entrada 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 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 el valor Datos de zonas de entidad o ráster de entrada, 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 tipo de estadística compatible depende del tipo de dato del valor Ráster de valor de entrada y del tipo de cálculo de estadísticas especificado por el parámetro Calcular estadísticas circulares.

    Si el tipo de datos es un entero, el cálculo de las estadísticas aritméticas admite las opciones Valor medio, Mayoría, Máximo, Mediana, Mínimo, Minoría, Percentil, Rango, Desviación estándar, Suma y Variedad; el cálculo de estadísticas circulares admite las opciones Valor medio, Mayoría, Minoría, Desviación estándar y Variedad.

    Si el tipo de datos es flotante, el cálculo de las estadísticas aritméticas admite las opciones Valor medio, Máximo, Mediana, Mínimo, Percentil, Rango, Desviación estándar y Suma; el cálculo de estadísticas circulares admite las opciones Valor medio y Desviación estándar.

  • Cuando hay un empate en los cálculos de mayoría y minoría, la salida será el más bajo de los valores coincidentes.

  • Para calcular estadísticas circulares, active el parámetro Calcular estadísticas circulares (circular_calculation = "CIRCULAR" en Python) y especifique un valor para Valor de envoltura circular (circular_wrap_value en Python).

  • 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. Consulte Cómo funcionan las herramientas de estadísticas zonales para conocer el comportamiento específico de una estadística.

  • 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 emplear menos núcleos, utilice la configuración de entorno Factor de procesamiento en paralelo.

Parámetros

EtiquetaExplicaciónTipo de datos
Datos de zonas de entidades o ráster de entrada

Dataset que define las zonas.

Las zonas pueden definirse mediante un ráster entero o una capa de entidades.

Raster Layer; Feature Layer
Campo de zona

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
Ráster de valor de entrada

Ráster que contiene los valores con los cuales se calcula una estadística.

Raster Layer
Tipo de estadísticas
(Opcional)

Especifica el tipo de estadística que se calculará.

  • Valor medioSe calcula el promedio de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida. Esta es la opción predeterminada.
  • MayoríaSe calcula el valor que aparece con más frecuencia de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MáximoSe calcula el valor más alto de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MedianaSe calcula la mediana de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MínimoSe calcula el valor más bajo de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MinoríaSe calcula el valor que aparece con menos frecuencia de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • PercentilSe calcula el percentil de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida. El 90.º percentil se calcula de forma predeterminada. Puede especificar otros valores (del 0 al 100) con el parámetro Valor de percentil.
  • RangoSe calcula la diferencia entre el valor más alto y el valor más bajo de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • Desviación estándarSe calcula la desviación estándar de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • SumaSe calcula el valor total de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • VariedadSe calcula el número de valores únicos de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
String
Ignorar los NoData en los cálculos
(Opcional)

Especifica si los valores NoData de la entrada de valores se ignorarán en los resultados de la zona a la que pertenecen.

  • Activado: dentro de cualquier zona en concreto, solo se utilizarán para determinar el valor de salida de dicha zona las celdas que tienen un valor en el ráster de valores de entrada. Las celdas NoData del ráster de valores se ignorará en el cálculo estadístico. Esta es la opción predeterminada.
  • Desactivado: si existen celdas NoData en el ráster de valores dentro de cualquier zona, no se ignorarán y su existencia indica que no hay suficiente información para realizar cálculos estadísticos para todas las celdas de esa zona. Por consiguiente, toda la zona recibirá el valor NoData en el ráster de salida.
Boolean
Procesar como multidimensional
(Opcional)

Especifica cómo se calculan los rásteres de entrada si son multidimensionales.

  • Desactivado: se calculan estadísticas de la parte actual del dataset multidimensional de entrada. Esta es la opción predeterminada.
  • Activado: se calculan estadísticas de todas las dimensiones del dataset multidimensional de entrada.
Boolean
Valor de percentil
(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.

Este parámetro solo está disponible si el parámetro Tipo de estadísticas está establecido en Percentil.

Double
Tipo de interpolación percentil
(Opcional)

Especifica el método de interpolación que se va a utilizar si el valor de percentil se encuentra entre dos valores de celda del ráster de valores de entrada.

  • Detección automáticaSi el ráster de valor de entrada es de tipo de píxel entero, se utilizará el método Más cercano. Si el ráster de valor de entrada es de tipo de píxel de punto flotante, se utiliza el método Lineal. Esta es la opción predeterminada.
  • Más cercanoSe utiliza el valor disponible más cercano para el percentil deseado. En este caso, el tipo de píxel de salida es el mismo que el del ráster de valor de entrada.
  • LinealSe utiliza la media ponderada de los dos valores circundantes del percentil deseado. En este caso, el tipo de píxel de salida es un punto flotante.
String
Calcular estadísticas circulares
(Opcional)

Especifica cómo se procesa el ráster de entrada en el caso de los datos circulares.

  • Desactivado: se calculan estadísticas lineales ordinarias. Esta es la opción predeterminada.
  • Activado: se calculan estadísticas para ángulos u otras magnitudes cíclicas, como rumbo de brújula en grados, horas del día y fracciones de números reales.
Boolean
Valor de ajuste circular
(Opcional)

El valor que se utilizará para redondear un valor lineal al rango de una estadística circular dada. Su valor debe ser un entero positivo o un valor de punto flotante. El valor predeterminado es 360 grados.

Este parámetro solo se admite si el parámetro Calcular estadísticas circulares está activado.

Double

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

El ráster de estadísticas zonales de salida.

Raster

ZonalStatistics(in_zone_data, zone_field, in_value_raster, {statistics_type}, {ignore_nodata}, {process_as_multidimensional}, {percentile_value}, {percentile_interpolation_type}, {circular_calculation}, {circular_wrap_value})
NombreExplicaciónTipo 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á.

  • MEANSe calcula el promedio de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida. Esta es la opción predeterminada.
  • MAJORITYSe calcula el valor que aparece con más frecuencia de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MAXIMUMSe calcula el valor más alto de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MEDIANSe calcula la mediana de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MINIMUMSe calcula el valor más bajo de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • MINORITYSe calcula el valor que aparece con menos frecuencia de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • PERCENTILESe calcula el percentil de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida. El 90.º percentil se calcula de forma predeterminada. Puede especificar otros valores (del 0 al 100) con el parámetro Valor de percentil.
  • RANGESe calcula la diferencia entre el valor más alto y el valor más bajo de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • STDSe calcula la desviación estándar de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • SUMSe calcula el valor total de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
  • VARIETYSe calcula el número de valores únicos de todas las celdas del ráster de valor que pertenecen a la misma zona que la celda de salida.
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.

  • DATADentro de cualquier zona en concreto, para determinar el valor de salida de dicha zona solo se utilizarán las celdas que tienen un valor en el ráster de valores de entrada. Las celdas NoData del ráster de valores se ignorará en el cálculo estadístico. Esta es la opción predeterminada.
  • NODATASi existen celdas NoData en el ráster de valores dentro de cualquier zona, no se ignorarán y su existencia indica que no hay suficiente información para realizar cálculos estadísticos para todas las celdas de esa zona. Por consiguiente, toda la zona recibirá el valor NoData en el ráster de salida.
Boolean
process_as_multidimensional
(Opcional)

Especifica cómo se calculan los rásteres de entrada si son multidimensionales.

  • CURRENT_SLICESe calcularán estadísticas de la parte actual del dataset multidimensional de entrada. Esta es la opción predeterminada.
  • ALL_SLICESSe calcularán estadísticas de todas las dimensiones del dataset multidimensional de entrada.
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.

Este parámetro solo está disponible si el parámetro statistics_type está establecido en PERCENTILE.

Double
percentile_interpolation_type
(Opcional)

Especifica el método de interpolación que se va a utilizar si el valor de percentil se encuentra entre dos valores de celda del ráster de valores de entrada.

  • AUTO_DETECTSi el ráster de valor de entrada es de tipo de píxel entero, se utilizará el método NEAREST. Si el ráster de valor de entrada es de tipo de píxel de punto flotante, se utiliza el método LINEAR. Esta es la opción predeterminada.
  • NEARESTSe utiliza el valor disponible más cercano para el percentil deseado. En este caso, el tipo de píxel de salida es el mismo que el del ráster de valor de entrada.
  • LINEARSe utiliza la media ponderada de los dos valores circundantes del percentil deseado. En este caso, el tipo de píxel de salida es un punto flotante.
String
circular_calculation
(Opcional)

Especifica cómo se procesa el ráster de entrada en el caso de los datos circulares.

  • ARITHMETICSe calculan estadísticas lineales ordinarias. Esta es la opción predeterminada.
  • CIRCULARSe calculan estadísticas para ángulos u otras magnitudes cíclicas, como rumbo de brújula en grados, horas del día y fracciones de números reales.
Boolean
circular_wrap_value
(Opcional)

El valor que se utilizará para redondear un valor lineal al rango de una estadística circular dada. Su valor debe ser un entero positivo o un valor de punto flotante. El valor predeterminado es 360 grados.

Este parámetro solo está disponible si el parámetro circular_calculation tiene el valor CIRCULAR.

Double

Valor de retorno

NombreExplicaciónTipo 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 crea una salida zonal multidimensional calculando el valor máximo del ráster de valor multidimensional de entrada para cada zona.

# 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" 

# Execute ZonalStatistics
outZonalStatistics = ZonalStatistics(inZoneData, zoneField, inValueRaster,
                                     "RANGE", "NODATA")

# Save the output 
outZonalStatistics.save("C:/sapyexamples/output/zonestatout2")