Generar ráster de tendencia (Image Analyst)

Disponible con licencia de Image Analyst.

Resumen

Estima la tendencia de cada píxel a lo largo de una dimensión para una o varias variables de un ráster multidimensional.

Uso

  • Esta herramienta se podría utilizar, por ejemplo, si tuviera 40 años de datos de temperatura del océano mensuales y quisiera ajustar una línea de tendencia para cada píxel a fin de ver dónde y cómo cambió la temperatura a lo largo del tiempo.

  • Entre los datasets ráster multidimensionales admitidos se encuentran netCDF, GRIB, HDF y CRF de Esri. También se admiten datasets de mosaico multidimensionales.

  • Esta herramienta produce un dataset ráster multidimensional en formato de ráster de nube (CRF). En este momento, no se admite ningún otro formato de salida.

  • De forma predeterminada, la salida del ráster multidimensional se comprimirá con el tipo de compresión LZ77. Sin embargo, se recomienda que cambie el tipo de compresión a LERC y ajuste el Error máximo en función de sus datos. Por ejemplo, si espera que los resultados del análisis sean precisos hasta tres posiciones decimales, use 0,001 para el Error máximo. Lo mejor es evitar requisitos de precisión innecesarios, puesto que aumentarán el tiempo de procesamiento y el tamaño de almacenamiento.

  • Existen tres opciones de línea de tendencia para ajustar una tendencia a los valores de la variable a lo largo de una dimensión: lineal, armónica y polinómica. A continuación, se describen las tres opciones de ajuste de tendencia.

    Tipos de tendencias lineal, armónica y polinómica de segundo y tercer orden
    • Lineal: la línea de tendencia lineal es una línea recta de mejor ajuste que se utiliza para estimar relaciones lineales simples. Una tendencia lineal resalta una tasa de cambio que aumenta o disminuye a un ritmo constante. La fórmula de la línea de tendencia lineal es la siguiente:
      Ecuación de línea de tendencia lineal
      • y = el valor de la variable del píxel
      • x = el valor de la dimensión
      • ß0 = la intercepción y
      • ß1 = la pendiente lineal o tasa de cambio

        ß1 > 0 indica una tendencia creciente

        ß1 < 0 indica una tendencia decreciente

    • Armónica: la línea de tendencia armónica es una línea curva que se repite periódicamente y que se utiliza preferiblemente para describir datos que siguen un patrón cíclico, por ejemplo, cambios de temperatura estacionales. La fórmula de la línea de tendencia armónica es la siguiente:
      Ecuación de línea de tendencia armónica
      • y = el valor de la variable del píxel
      • t = la fecha juliana
      • ß0 = la intercepción y
      • ß1 = la tasa de cambio
      • α, γ = coeficientes de cambios interanuales o intraanuales
      • ω = i
      • f = la frecuencia armónica
    • Polinómica: la línea de tendencia polinómica es una línea curva que resulta de utilidad para datos que fluctúan. En este caso, se utiliza un valor de orden polinómico para indicar el número máximo de fluctuaciones que tienen lugar. La fórmula de la línea de tendencia polinómica es la siguiente:
      Ecuación de línea de tendencia polinómica
      • y = el valor de la variable del píxel
      • x = el valor de la dimensión
      • ß0, ß1, ß2, ß3, ..., ßn = coeficientes constantes
  • El ráster de tendencia de salida generado con esta herramienta se utiliza como entrada para la herramienta Predecir con ráster de tendencia. La salida es un ráster multidimensional donde cada división es un ráster multibanda que contiene información sobre la línea de tendencia. Si va a analizar la tendencia de una sola variable de un dataset que contiene una sola dimensión (por ejemplo, tiempo), el dataset de salida tendrá una única división. Si va a analizar una sola variable de un dataset que contiene varias dimensiones (por ejemplo, tiempo y profundidad), cada división contendrá información de tendencia de cada valor de dimensión a lo largo de la dimensión que no se incluyó en el análisis.

    En el caso del análisis de tendencia lineal, la salida contiene rásteres de tres bandas, donde:

    • Banda 1 = Pendiente
    • Banda 2 = Interceptar
    • Banda 3 = Error cuadrático medio (RMSE) o error alrededor de la línea de mejor ajuste

    En el caso del análisis de tendencia armónico, el número de bandas de la salida depende de la frecuencia armónica. Si la frecuencia se establece en 1, la salida será un ráster de cinco bandas, donde:

    • Banda 1 = Pendiente
    • Banda 2 = Interceptar
    • Banda 3 = Harmonic_sin1
    • Banda 4 = Harmonic_cos1
    • Banda 5 = RMSE

    Si la frecuencia se establece en 2, la salida será un ráster de siete bandas, donde:

    • Banda 1 = Pendiente
    • Banda 2 = Interceptar
    • Banda 3 = Harmonic_sin1
    • Banda 4 = Harmonic_cos1
    • Banda 5 = Harmonic_sin2
    • Banda 6 = Harmonic_cos2
    • Banda 7 = RMSE

    En el caso del análisis de tendencia polinómica, el número de bandas de la salida depende del orden polinómico. Un ajuste polinómico de segundo orden produce un ráster de cuatro bandas, donde:

    • Banda 1 = Polynomial_2
    • Banda 2 = Polynomial_1
    • Banda 3 = Polynomial_0
    • Banda 4 = RMSE

    Un ajuste polinómico de tercer orden produce un ráster de cinco bandas, donde:

    • Banda 1 = Polynomial_3
    • Banda 2 = Polynomial_2
    • Banda 3 = Polynomial_1
    • Banda 4 = Polynomial_0
    • Banda 5 = RMSE

  • El parámetro Longitud del ciclo del análisis de tendencia armónico se utiliza para indicar el número y longitud de ciclos que espera ver en sus datos a lo largo de un día o año. Por ejemplo, si espera que sus datos pasen dos ciclos de variación en un año, la longitud de ciclo será 182,5 días o 0,5 años. Si recopila datos de temperatura cada tres horas y hay un ciclo de variación al día, la longitud de ciclo es de un día.

  • El parámetro Frecuencia del análisis de tendencia armónico se utiliza para describir el modelo armónico que se ajustará a los datos. Si la frecuencia se define como 1, se utilizará una combinación de curva lineal y curva armónica de primer orden para ajustar el modelo. Si la frecuencia es 2, se utilizará una combinación de lineal, curva armónica de primer orden y curva armónica de segundo orden para ajustar los datos. Si la frecuencia es 3, se utilizará una curva armónica adicional de tercer orden para modelar los datos, y así sucesivamente.

  • Se pueden generar estadísticas de idoneidad de ajuste del modelo como salidas opcionales. Se pueden calcular el error cuadrático medio (RMSE), R cuadrado y el valor P de pendiente de tendencia y mostrar en la ventana Propiedades del ráster de salida, en la sección Estadísticas. También puede visualizar las estadísticas simbolizando el ráster de tendencia de salida con simbología RGB y especificando las estadísticas como las bandas roja, verde y azul.

Sintaxis

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value})
ParámetroExplicaciónTipo de datos
in_multidimensional_raster

El dataset ráster multidimensional de entrada.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
dimension

La dimensión a lo largo de la cual se extraerá una tendencia para la variable o variables seleccionadas en el análisis.

String
variables
[variables,...]
(Opcional)

La variable o variables para las que se calcularán tendencias. Si no se especifica ninguna variable, se analizará la primera variable del ráster multidimensional.

String
line_type
(Opcional)

Especifica el tipo de línea que se utilizará para ajustar a los valores de píxel a lo largo de una dimensión.

  • LINEARLos valores de píxel de las variables se ajustarán a lo largo de una línea de tendencia lineal. Esta es la opción predeterminada.
  • POLYNOMIALLos valores de píxel de las variables se ajustarán a lo largo de una línea de tendencia polinómica de segundo orden.
  • HARMONICLos valores de píxel de las variables se ajustarán a lo largo de una línea de tendencia armónica.
String
frequency
(Opcional)

La frecuencia o número de orden polinómico que se utilizarán en el ajuste de tendencia. Si el tipo de tendencia es polinómico, este parámetro especifica el orden polinómico. Si el tipo de tendencia es armónico, este parámetro especifica el número de modelos que se utilizarán para ajustar la tendencia.

Este parámetro solo se incluye en el análisis de tendencia cuando la dimensión que se analizará es el tiempo.

Si el parámetro line_type es HARMONIC, el valor predeterminado es 1, lo que significa que se utiliza una curva armónica de primer orden para ajustar el modelo.

Si el parámetro line_type es POLYNOMIAL, el valor predeterminado es 2, o polinómico de segundo orden.

Long
ignore_nodata
(Opcional)

Especifica si los valores NoData se ignorarán en el análisis.

  • DATA El análisis incluirá todos los píxeles válidos a lo largo de una dimensión determinada y se ignorarán los píxeles NoData. Esta es la opción predeterminada.
  • NODATAEl análisis dará como resultado NoData si no hay valores NoData para los píxeles a lo largo de la dimensión determinada.
Boolean
cycle_length
(Opcional)

La longitud de la variación periódica que se va a modelar. Este parámetro es obligatorio si line_type tiene el valor HARMONIC. Por ejemplo, el verdor de las hojas tiene con frecuencia un ciclo fuerte de variación en un solo año, por lo que la longitud de ciclo es 1 año. Los datos de temperatura por hora tienen un ciclo fuerte de variación en un solo día, por lo que la longitud de ciclo es 1 día.

La longitud predeterminada es 1 año para los datos que varían en un ciclo anual.

Double
cycle_unit
(Opcional)

Especifica la unidad de tiempo que se utilizará para la longitud del ciclo armónico.

  • DAYSLa unidad de la longitud del ciclo armónico es días.
  • YEARSLa unidad de la longitud del ciclo armónico es años. Esta es la opción predeterminada.
String
rmse
(Opcional)

Especifica si se calculará el error cuadrático medio (RMSE) de la línea de ajuste de tendencia.

  • RMSEEl RMSE se calculará. Esta es la opción predeterminada.
  • NO_RMSEEl RMSE no se calculará.
Boolean
r2
(Opcional)

Especifica si se calculará la estadística de idoneidad de ajuste de R cuadrado para la línea de ajuste de tendencia.

  • R2El valor R cuadrado se calculará.
  • NO_R2El valor R cuadrado no se calculará. Esta es la opción predeterminada.
Boolean
slope_p_value
(Opcional)

Especifica si se calculará la estadística de valor P para el coeficiente de pendiente de la línea de tendencia.

  • SLOPEPVALUEEl valor P se calculará.
  • NO_SLOPEPVALUEEl valor P no se calculará. Esta es la opción predeterminada.
Boolean

Valor de retorno

NombreExplicaciónTipo de datos
out_multidimensional_raster

El dataset ráster multidimensional de formato de ráster de nube (CRF) de salida.

Raster

Muestra de código

Ejemplo 1 de GenerateTrendRaster (ventana de Python)

Este ejemplo calcula el ajuste de tendencia polinómico de datos de precipitación a lo largo del tiempo.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Execute 
trendCoeffMultidim = arcpy.ia.GenerateTrendRaster("model_time_series.crf", 
	"StdTime", "precip", "POLYNOMIAL", 2, "DATA", None, '', "RMSE","R2", None)
	
# Save output
trendCoeffMultidim.save("C:/data/polynomial_trend_coefficients.crf")
Ejemplo 2 de GenerateTrendRaster (script independiente)

Este ejemplo calcula el ajuste de tendencia lineal de datos de temperatura y salinidad a lo largo del tiempo.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/Data/ClimateVariables.crf"
dimensionName = "Depth"
variables = "salinity;temp"
trend_type = "LINEAR"
frequency = None
ignore_Nodata = "DATA"
cycle_length = None
cycle_unit = ''
rmse = "RMSE"
r2 = "R2"
slopeP = "NO_SLOPEPVALUE")

# Execute - fit a linear model for salinity and temperature
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_type, frequency, ignore_nodata, cycle_length,
	cycle_unit, rmse, r2, slopeP)
	
# Save output
trendCoeffMultidim.save("C:/data/linear_trend_coefficients.crf")
Ejemplo 3 de GenerateTrendRaster (script independiente)

Este ejemplo calcula el ajuste de tendencia armónico a lo largo de una serie temporal de NDVI.

# Import system modules
import arcpy
from arcpy.ia import *

# Check out the ArcGIS Image Analyst extension license
arcpy.CheckOutExtension("ImageAnalyst")

# Define input parameters

inFile = "C:/data/ndvi_time_series.crf"
dimensionName = "StdTime"
variables = "ndvi"
trend_model = "HARMONIC"
harmonic_frequency = 1
ignore_Nodata = "DATA"
length_of_cycle = 1
cycle_unit = "YEARS"
rmse = "RMSE"
r_square = "NO_R2"
p_value = "NO_SLOPEPVALUE"

# Execute 
trendCoeffMultidim = GenerateTrendRaster(inFile, dimensionName, 
	variables, trend_model, harmonic_frequency, ignore_nodata,
	length_of_cycle, cycle_unit, rmse,r_square,p_value)
	
# Save output
trendCoeffMultidim.save("C:/data/harmonic_trend_coefficients.crf")

Información de licenciamiento

  • Basic: Requiere Image Analyst
  • Standard: Requiere Image Analyst
  • Advanced: Requiere Image Analyst

Temas relacionados