Estadísticas focalizadas (Spatial Analyst)

Resumen

Para cada ubicación de celda de entrada, calcula una estadística de los valores dentro de una vecindad especificada alrededor de ella.

Más información sobre cómo funciona Estadísticas focalizadas

Ilustración

Valores de entrada y salida de la herramienta Estadísticas focalizadas para una vecindad rectangular con el conjunto de estadísticas Suma
OutRas = FocalStatistics(InRas1, NbrRectangle(3,3,"CELL"), "SUM", "DATA")

Uso

  • Existen varias formas de vecindad y tipos de estadísticas para elegir. Las estadísticas disponibles dependen del tipo de ráster de entrada.

  • Cuando se especifica una vecindad circular, con forma de anillo o con forma de cuña, es probable que para el cálculo no se tengan en cuenta algunas celdas diagonales externas, ya que la vecindad debe abarcar el centro de la celda.

  • Los tipos de Vecindad Irregular y Peso requieren que se especifique un Archivo kernel. Los archivos kernel deben tener una extensión de archivo .txt.

    Consulte las secciones Irregular y Peso de Cómo funciona Estadísticas focalizadas para obtener información acerca de la creación y el uso de archivos kernel.

  • En el caso de los rásteres de entrada, las estadísticas válidas para Tipo de estadísticas son: mayoría, máximo, valor medio, mediana, mínimo, minoría, percentil, rango, desviación estándar, suma y variedad. En el caso de los rásteres de entrada flotantes, las estadísticas válidas son: máximo, valor medio, mediana, mínimo, percentil, rango, desviación estándar y suma. Mayoría, minoría y variedad no están disponibles para los rásteres de entrada flotantes.

  • Si el ráster de entrada es un entero, el ráster de salida será un entero para los tipos de estadísticas mayoría, máximo, mínimo, minoría, rango, suma y variedad. La salida será flotante para los tipos de estadísticas valor medio, mediana, percentil y desviación estándar.

    Si el ráster de entrada es de tipo de punto flotante, la salida será de tipo flotante para todos los tipos de estadísticas disponibles.

  • Para los cálculos de mediana, si una vecindad tiene una cantidad impar de celdas, se clasifican los valores y se informa del valor medio como la mediana. Si la vecindad contiene un número par de celdas, se clasifican los valores y se promedian los dos valores centrales.

  • Para los cálculos de mayoría y minoría, consulte el tema Cómo funciona Estadísticas focalizadas para obtener más información cuando hay un empate.

  • El valor del parámetro Vecindad se puede cambiar a Peso solo para las estadísticas de tipo Valor medio, Desviación estándar y Suma.

  • Las celdas NoData de entrada pueden recibir un valor en la salida si el parámetro Ignorar los NoData en los cálculos se ha activado, siempre que haya al menos una celda de la vecindad que tenga un valor válido.

Parámetros

EtiquetaExplicaciónTipo de datos
Ráster de entrada

El ráster en que se calcularán las estadísticas focalizadas para cada celda de entrada.

Raster Layer
Vecindario
(Opcional)

Las celdas alrededor de una celda de procesamiento que se utilizarán en el cálculo de estadísticas. Hay varios tipos de vecindad predefinidos para elegir, o se puede definir un kernel personalizado.

Una vez que se haya seleccionado el tipo de vecindad, se pueden establecer los demás parámetros para definir completamente la forma, el tamaño y las unidades de medida. La vecindad predeterminada es un rectángulo cuadrado con un ancho y una altura de tres celdas.

A continuación se detallan las formas de los tipos de vecindad disponibles:

  • Anillo, Radio interno, Radio externo, Tipo de unidades

    Una vecindad tipo torus (con forma de dona) definida por un radio interno y un radio externo. El anillo predeterminado tiene un radio interno de una celda y un radio externo de tres celdas.

  • Círculo, Radio, Tipo de unidades

    Una vecindad circular con un radio determinado. El radio predeterminado es tres celdas.

  • Rectángulo, Altura, Ancho, Tipo de unidades

    Una vecindad rectangular definida por el ancho y la altura. Lo predeterminado es un cuadrado de ancho y altura de tres celdas.

  • Porción de círculo, Radio, Ángulo de inicio, Ángulo de finalización, Tipo de unidades

    Una vecindad en forma de cuña definida por un radio, el ángulo de inicio y el ángulo de finalización. La cuña se extiende en el sentido contrario a las agujas del reloj desde el ángulo de inicio al ángulo de finalización. Los ángulos se especifican en grados, donde 0 o 360 representan el este. Se pueden utilizar ángulos negativos. La porción de círculo predeterminada es de 0 a 90 grados, con un radio de tres celdas.

  • Irregular, Archivo kernel

    Una vecindad personalizada con especificaciones establecidas por el archivo de texto kernel identificado.

  • Peso, Archivo kernel

    Una vecindad personalizada con especificaciones establecidas por el archivo de texto kernel identificado, que puede aplicar pesos a los miembros de la vecindad.

Para los tipos de vecindades de anillo, círculo, rectángulo y porción de círculo, las unidades de distancia para los parámetros pueden especificarse en unidades de Celda o unidades de Mapa. Las unidades de celda son las predeterminadas.

Para las vecindades de kernel, la primera línea del archivo kernel define el ancho y la altura de la vecindad en números de celdas. Las líneas siguientes indican cómo se procesará el valor de entrada que se corresponde con esa ubicación en el kernel. Un valor de 0 en el archivo kernel para el tipo de vecindad irregular o de peso indica que la ubicación correspondiente no se incluirá en el cálculo. Para la vecindad irregular, un valor de 1 en el archivo kernel indica que la celda de entrada correspondiente se incluirá en la operación. Para la vecindad de peso, el valor en cada posición indica por qué se debe multiplicar el valor de la celda de entrada correspondiente. Se pueden utilizar valores positivos, negativos y decimales.

Neighborhood
Tipo de estadísticas
(Opcional)

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

El tipo de estadísticas por defecto es Valor medio.

Si el ráster de entrada es de tipo entero, están disponibles todos los tipos de estadísticas. Si el ráster de entrada es de punto flotante, solo están disponibles los tipos de estadísticas Valor medio, Máximo, Mediana, Mínimo, Percentil, Rango, Desviación estándar y Suma.

  • Valor medioSe calculará la media (valor medio) de las celdas en la vecindad.
  • MayoríaSe identificará la mayoría (valor que se produce con mayor frecuencia) de las celdas en la vecindad.
  • MáximoSe identificará el máximo (valor superior) de las celdas en la vecindad.
  • MedianaSe calculará la mediana de las celdas en la vecindad. La mediana es equivalente al percentil 50.
  • MínimoSe identificará el mínimo (valor inferior) de las celdas en la vecindad.
  • MinoríaSe identificará la minoría (valor que se produce con menor frecuencia) de las celdas en la vecindad.
  • PercentilSe calculará un percentil de las celdas en la vecindad. El 90.º percentil se calcula de forma predeterminada. Puede especificar otros valores (del 0 al 100) con el parámetro Valor de percentil.
  • RangoSe calculará el rango (diferencia entre los valores superior e inferior) de las celdas en la vecindad.
  • Desviación estándarSe calculará la desviación estándar de las celdas en la vecindad.
  • SumaSe calculará la suma de las celdas en la vecindad.
  • VariedadSe calculará la variedad (el número de valores únicos) de las celdas en la vecindad.
String
Ignorar los NoData en los cálculos
(Opcional)

Especifica si los valores NoData serán ignorados por el cálculo de estadísticas.

  • Activado: si existe un valor NoData dentro de una vecindad, este se ignorará. Para determinar el valor de salida solo se utilizarán las celdas dentro de la vecindad que contengan valores de datos. Si el valor de la propia celda de procesamiento es NoData, la celda de procesamiento puede recibir un valor en el ráster de salida, siempre que haya al menos una celda en la vecindad que tenga un valor válido. Esta es la opción predeterminada.
  • Desactivado: si alguna celda de una vecindad tiene el valor de NoData, incluida la celda de procesamiento, la salida de la celda de procesamiento será NoData. La presencia de un valor NoData implica que no hay información suficiente para determinar el valor estadístico de la vecindad.
Boolean
Valor de percentil
(Opcional)

El valor de percentil que se calculará. El valor predeterminado es 90, para el 90.º percentil.

El valor puede 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 Tipo de estadísticas está establecido en Percentil. Si se especifica cualquier otro tipo de estadística, este parámetro se omite.

Double

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

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

Raster

FocalStatistics(in_raster, {neighborhood}, {statistics_type}, {ignore_nodata}, {percentile_value})
NombreExplicaciónTipo de datos
in_raster

El ráster en que se calcularán las estadísticas focalizadas para cada celda de entrada.

Raster Layer
neighborhood
(Opcional)

Las celdas alrededor de una celda de procesamiento que se utilizarán en el cálculo de estadísticas. Hay varios tipos de vecindad predefinidos para elegir, o se puede definir un kernel personalizado.

Una vez que se haya seleccionado el tipo de vecindad, se pueden establecer los demás parámetros para definir completamente la forma, el tamaño y las unidades de medida. La vecindad predeterminada es un rectángulo cuadrado con un ancho y una altura de tres celdas.

La forma de las vecindades está definida por la clase Neighborhood. Los tipos de vecindad disponibles son NbrAnnulus, NbrCircle, NbrRectangle, NbrWedge, NbrIrregular, y NbrWeight.

A continuación se detallan las formas de los tipos de vecindad disponibles:

  • NbrAnnulus({innerRadius}, {outerRadius}, {units})

    Una vecindad tipo torus (con forma de dona) definida por un radio interno y un radio externo. El anillo predeterminado tiene un radio interno de una celda y un radio externo de tres celdas.

  • NbrCircle({radius}, {units}

    Una vecindad circular con un radio determinado. El radio predeterminado es tres celdas.

  • NbrRectangle({width}, {height}, {units})

    Una vecindad rectangular definida por el ancho y la altura. Lo predeterminado es un cuadrado de ancho y altura de tres celdas.

  • NbrWedge({radius}, {startAngle}, {endAngle}, {units})

    Una vecindad en forma de cuña definida por un radio, el ángulo de inicio y el ángulo de finalización. La cuña se extiende en el sentido contrario a las agujas del reloj desde el ángulo de inicio al ángulo de finalización. Los ángulos se especifican en grados, donde 0 o 360 representan el este. Se pueden utilizar ángulos negativos. La porción de círculo predeterminada es de 0 a 90 grados, con un radio de tres celdas.

  • NbrIrregular(inKernelFile)

    Una vecindad personalizada con especificaciones establecidas por el archivo de texto kernel identificado.

  • NbrWeight(inKernelFile)

    Una vecindad personalizada con especificaciones establecidas por el archivo de texto kernel identificado, que puede aplicar pesos a los miembros de la vecindad.

Para las vecindades NbrAnnulus, Nbrcircle, NbrRectangle y NbrWedge, las unidades de distancia para los parámetros se pueden especificar en unidades de CELL o unidades de MAP. Las unidades de celda son las predeterminadas.

Para las vecindades de kernel, la primera línea del archivo kernel define el ancho y la altura de la vecindad en números de celdas. Las líneas siguientes indican cómo se procesará el valor de entrada que se corresponde con esa ubicación en el kernel. Un valor de 0 en el archivo kernel para el tipo de vecindad irregular o de peso indica que la ubicación correspondiente no se incluirá en el cálculo. Para la vecindad irregular, un valor de 1 en el archivo kernel indica que la celda de entrada correspondiente se incluirá en la operación. Para la vecindad de peso, el valor en cada posición indica por qué se debe multiplicar el valor de la celda de entrada correspondiente. Se pueden utilizar valores positivos, negativos y decimales.

Neighborhood
statistics_type
(Opcional)

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

  • MEANSe calculará la media (valor medio) de las celdas en la vecindad.
  • MAJORITYSe identificará la mayoría (valor que se produce con mayor frecuencia) de las celdas en la vecindad.
  • MAXIMUMSe identificará el máximo (valor superior) de las celdas en la vecindad.
  • MEDIANSe calculará la mediana de las celdas en la vecindad. La mediana es equivalente al percentil 50.
  • MINIMUMSe identificará el mínimo (valor inferior) de las celdas en la vecindad.
  • MINORITYSe identificará la minoría (valor que se produce con menor frecuencia) de las celdas en la vecindad.
  • PERCENTILESe calculará un percentil de las celdas en la vecindad. El 90.º percentil se calcula de forma predeterminada. Puede especificar otros valores (del 0 al 100) con el parámetro percentile_value.
  • RANGESe calculará el rango (diferencia entre los valores superior e inferior) de las celdas en la vecindad.
  • STDSe calculará la desviación estándar de las celdas en la vecindad.
  • SUMSe calculará la suma de las celdas en la vecindad.
  • VARIETYSe calculará la variedad (el número de valores únicos) de las celdas en la vecindad.

El tipo de estadísticas por defecto es MEAN.

Si el ráster de entrada es de tipo entero, están disponibles todos los tipos de estadísticas. Si el ráster de entrada es de punto flotante, solo están disponibles los tipos de estadísticas MEAN, MAXIMUM, MEDIAN, MINIMUM, PERCENTILE, RANGE, STD y SUM.

String
ignore_nodata
(Opcional)

Especifica si los valores NoData serán ignorados por el cálculo de estadísticas.

  • DATASi existe un valor NoData dentro de una vecindad, este se ignorará. Para determinar el valor de salida solo se utilizarán las celdas dentro de la vecindad que contengan valores de datos. Si el valor de la propia celda de procesamiento es NoData, la celda de procesamiento puede recibir un valor en el ráster de salida, siempre que haya al menos una celda en la vecindad que tenga un valor válido. Esta es la opción predeterminada.
  • NODATASi alguna celda de una vecindad tiene el valor de NoData, incluida la celda de procesamiento, la salida de la celda de procesamiento será NoData. La presencia de un valor NoData implica que no hay información suficiente para determinar el valor estadístico de la vecindad.
Boolean
percentile_value
(Opcional)

El valor de percentil que se calculará. El valor predeterminado es 90, para el 90.º percentil.

El valor puede 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. Si se especifica cualquier otro tipo de estadística, este parámetro se omite.

Double

Valor de retorno

NombreExplicaciónTipo de datos
out_raster

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

Raster

Muestra de código

Ejemplo 1 de FocalStatistics (ventana de Python)

En este ejemplo se calcula el valor que ocurre con menor frecuencia en una vecindad con forma de anillo alrededor de cada celda del ráster de entrada.

import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
outFocalStat = FocalStatistics("elevation", NbrAnnulus(5, 10, "CELL"), 
                               "MINORITY", "NODATA")
outFocalStat.save("C:/sapyexamples/output/focalstat01")
Ejemplo 2 de FocalStatistics (script independiente)

En este ejemplo se determina el valor que ocurre con menor frecuencia en una vecindad de 10 por 10 alrededor de cada celda en el ráster de entrada.

# Name: FocalStatistics_Ex_02.py
# Description: Calculates a statistic on a raster over a specified
#    neighborhood.
# 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
inRaster = "elevation"
neighborhood = NbrRectangle(10, 10, "CELL")

# Execute FocalStatistics
outFocalStatistics = FocalStatistics(inRaster, neighborhood, "MINORITY",
                                     "")

# Save the output 
outFocalStatistics.save("C:/sapyexamples/output/focalstatout")