Générer un raster de tendance (Image Analyst)

Disponible avec une licence Image Analyst.

Résumé

Estime la tendance de chaque pixel par rapport à une dimension pour une ou plusieurs variables d’un raster multidimensionnel.

Utilisation

  • Un exemple d’utilisation pour cet outil consiste à disposer d’une quarantaine d’années de données mensuelles de température des océans et à vouloir afficher une ligne de tendance pour chaque pixel afin de voir où et comment la température a évolué au fil du temps.

  • Les jeux de données raster multidimensionnelles incluent les formats netCDF, GRIB, HDF et CRF d’Esri. Les jeux de données mosaïque multidimensionnelles sont également pris en charge.

  • Cet outil crée un jeu de données raster multidimensionnelles au format CRF (Cloud Raster Format). Actuellement, aucun autre format en sortie n’est pris en charge.

  • Par défaut, le raster multidimensionnel en sortie sera compressé selon le type de compression LZ77. Nous vous recommandons néanmoins de le remplacer par le type de compression LERC et d’ajuster la valeur d’erreur maximale en fonction de vos données. Par exemple, si vous voulez que la précision des résultats de l’analyse soit de trois décimales, utilisez la valeur d’erreur maximale 0,001. Il est préférable d’éviter les exigences de précision inutiles, car elles ne feront qu’augmenter le temps de traitement et l’espace nécessaire au stockage.

  • Trois options de ligne de tendance permettent d’ajuster une tendance aux valeurs de variable par rapport à une dimension : linéaire, harmonique et polynomiale. Ces trois options d’ajustement de tendance sont décrites ci-après.

    Types de tendance linéaire, harmonique et polynomiale de deuxième et troisième degré
    • Linear (Linéaire) : la ligne de tendance linéaire est la ligne droite la mieux adaptée utilisée pour estimer des relations linéaires simples. Une tendance linéaire met en évidence un taux de variation qui augmente ou diminue de manière régulière. La formule de la ligne de tendance linéaire est la suivante :
      Équation de la ligne de tendance linéaire
      • y = valeur variable du pixel
      • x = valeur de dimension
      • ß0 = interception avec l'axe des y
      • ß1 = pente linéaire ou taux de variation

        ß1 > 0 indique une tendance croissante

        ß1 < 0 indique une tendance décroissante

    • Harmonic (Harmonique) : la ligne de tendance harmonique est la courbe périodique la plus adaptée pour décrire des données qui suivent un modèle cyclique, telles que des changements de température saisonniers. La formule de la ligne de tendance harmonique est la suivante :
      Équation de la ligne de tendance harmonique
      • y = valeur variable du pixel
      • t = date julienne
      • ß0 = interception avec l'axe des y
      • ß1 = taux de variation
      • α, γ = coefficients des changements d’une année à l’autre ou au cours d’une même année
      • ω = i
      • f = fréquence harmonique
    • Polynomial (Polynomial) : la ligne de tendance polynomiale est une courbe utile pour les données qui fluctuent. Dans ce cas, une valeur d’ordre polynomial est utilisée pour indiquer le nombre maximum de fluctuations qui se produisent. La formule de la ligne de tendance polynomiale est la suivante :
      Équation de la ligne de tendance polynomiale
      • y = valeur variable du pixel
      • x = valeur de dimension
      • ß0, ß1, ß2, ß3, ..., ßn = coefficients constants
  • Le raster de tendance en sortie généré avec cet outil est utilisé en entrée dans l’outil Prévoir à l’aide du raster de tendance. La sortie est un raster multidimensionnel dans lequel chaque tranche correspond à un raster multi-canaux contenant des informations sur la ligne de tendance. Si vous analysez la tendance pour une seule variable d’un jeu de données contenant une seule dimension (par exemple, le temps), le jeu de données en sortie ne contient qu’une seule tranche. Si vous analysez une seule variable pour un jeu de données contenant plusieurs dimensions (par exemple, le temps et la profondeur), chaque tranche contient des informations sur les tendances de chaque valeur de dimension ainsi que la dimension non incluse dans l’analyse.

    Pour l’analyse de tendance linéaire, la sortie contient des rasters à trois canaux :

    • Canal 1 = Pente
    • Canal 2 = Ordonnée à l’origine
    • Canal 3 = Racine carrée de l'erreur quadratique moyenne (EQM) ou erreur autour de la ligne de compromis

    Pour l’analyse de tendance harmonique, le nombre de canaux dans la sortie dépend de la fréquence harmonique. Si la fréquence est définie sur 1, la sortie est un raster à cinq canaux :

    • Canal 1 = Pente
    • Canal 2 = Ordonnée à l’origine
    • Canal 3 = Harmonic_sin1
    • Canal 4 = Harmonic_cos1
    • Canal 5 = EQM

    Si la fréquence est définie sur 2, la sortie est un raster à sept canaux :

    • Canal 1 = Pente
    • Canal 2 = Ordonnée à l’origine
    • Canal 3 = Harmonic_sin1
    • Canal 4 = Harmonic_cos1
    • Canal 5 = Harmonic_sin2
    • Canal 6 = Harmonic_cos2
    • Canal 7 = EQM

    Pour l’analyse de tendance polynomiale, le nombre de canaux dans la sortie dépend du degré polynomial. Un ajustement polynomial du deuxième degré génère un raster à quatre canaux :

    • Canal 1 = Polynomial_2
    • Canal 2 = Polynomial_1
    • Canal 3 = Polynomial_0
    • Canal 4 = EQM

    Un ajustement polynomial du troisième degré génère un raster à cinq canaux :

    • Canal 1 = Polynomial_3
    • Canal 2 = Polynomial_2
    • Canal 3 = Polynomial_1
    • Canal 4 = Polynomial_0
    • Canal 5 = EQM

  • Le paramètre Length of Cycle (Durée du cycle) pour l’analyse des tendances harmoniques est utilisé pour indiquer le nombre et la durée des cycles que vous vous attendez à voir dans vos données tout au long d’une journée ou d’une année. Si, par exemple, vous prévoyez que vos données connaissent deux cycles de variation dans l’année, la durée du cycle sera de 182,5 jours, soit 0,5 an. Si vos données de température sont recueillies toutes les trois heures, et s’il y a un cycle de variation par jour, la durée du cycle est d’une journée.

  • Le paramètre Frequency (Fréquence) pour l’analyse des tendances harmoniques est utilisé pour décrire le modèle harmonique à ajuster aux données. Si la fréquence est définie sur 1, une combinaison de tendance linéaire et de courbe harmonique de premier degré est utilisée pour ajuster le modèle. Si la fréquence est définie sur 2, une combinaison de tendance linéaire, de courbe harmonique de premier degré linéaire et de courbe harmonique de second degré est utilisée pour ajuster les données. Si la fréquence est 3, une courbe harmonique de troisième degré supplémentaire est utilisée pour modéliser les données et ainsi de suite.

  • Des statistiques de la qualité d’ajustement du modèle peuvent être générées en sorties facultatives. L’erreur quadratique moyenne (EQM), la valeur R-carré et la valeur p du coefficient de pente tendance peuvent être calculées et affichées dans la fenêtre Properties (Propriétés) du raster en sortie dans la section Statistics (Statistiques). Vous pouvez également afficher les statistiques en symbolisant le raster de tendance en sortie à l’aide de la symbologie RGB (RVB) et en spécifiant les statistiques comme les canaux rouge, vert et bleu.

Syntaxe

GenerateTrendRaster(in_multidimensional_raster, dimension, {variables}, {line_type}, {frequency}, {ignore_nodata}, {cycle_length}, {cycle_unit}, {rmse}, {r2}, {slope_p_value})
ParamètreExplicationType de données
in_multidimensional_raster

Jeu de données raster multidimensionnelles en entrée.

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

Dimension le long de laquelle une tendance sera extraite pour la ou les variables sélectionnées dans l’analyse.

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

La variable ou les variables pour lesquelles les tendances sont calculées. Si aucune variable n’est spécifiée, la première variable du raster multidimensionnel est analysée.

String
line_type
(Facultatif)

Spécifie le type de ligne à utiliser pour ajuster les valeurs de pixel le long d’une dimension.

  • LINEARLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance linéaire. Il s’agit de l’option par défaut.
  • POLYNOMIALLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance polynomiale de deuxième degré.
  • HARMONICLes valeurs de pixel variables sont ajustées par rapport à une ligne de tendance harmonique.
String
frequency
(Facultatif)

Fréquence ou numéro d’ordre polynomial à utiliser dans l’ajustement de tendance. Si la tendance est de type polynomial, ce paramètre précise l’ordre polynomial. Si la tendance est de type harmonique, ce paramètre précise le nombre de modèles à utiliser pour ajuster la tendance.

Ce paramètre est inclus uniquement dans l’analyse des tendances lorsque la dimension analysée est le temps.

Si le paramètre line_type est défini sur HARMONIC, la valeur par défaut est définie sur 1. Autrement dit, une courbe harmonique de premier degré est utilisée pour ajuster le modèle.

Si le paramètre line_type est défini sur POLYNOMIAL, la valeur par défaut est définie sur 2 ou une tendance de type polynomial de deuxième degré.

Long
ignore_nodata
(Facultatif)

Indique si les valeurs NoData sont ignorées lors de l’analyse.

  • DATA L’analyse inclut tous les pixels valides le long d’une dimension donnée et ignore les pixels NoData. Il s’agit de l’option par défaut.
  • NODATALe résultat de l’analyse est NoData s’il existe des valeurs NoData pour les pixels selon la dimension donnée.
Boolean
cycle_length
(Facultatif)

Durée de la variation périodique à modéliser. Ce paramètre est obligatoire lorsque le paramètre line_type est défini sur HARMONIC. Par exemple, les composés phénoliques des feuilles affichent souvent un important cycle de variation dans une année ; aussi la durée du cycle est définie sur 1 année. Les données de température par heure affichent souvent un important cycle de variation dans une journée ; aussi la durée du cycle est définie sur 1 jour.

La durée par défaut est définie sur 1 année pour les données qui varient sur un cycle annuel.

Double
cycle_unit
(Facultatif)

Précise l’unité de temps à utiliser pour la durée d’un cycle harmonique.

  • DAYSL’unité de durée du cycle harmonique se définit en Jours.
  • YEARSL’unité de durée du cycle harmonique se définit en Années. Il s’agit de l’option par défaut.
String
rmse
(Facultatif)

Précise si l’erreur quadratique moyenne (EQM) de la ligne d'ajustement de la tendance est calculée.

  • RMSEL’EQM est calculée. Il s’agit de l’option par défaut.
  • NO_RMSEL’EQM n’est pas calculée.
Boolean
r2
(Facultatif)

Précise si la statistique de la qualité d’ajustement R-carré pour la ligne d’ajustement de la tendance est calculée.

  • R2La valeur R-carré est calculée.
  • NO_R2La valeur R-carré n’est pas calculée. Il s’agit de l’option par défaut.
Boolean
slope_p_value
(Facultatif)

Précise si la statistique de valeur P pour le coefficient de pente de la ligne de tendance est calculée.

  • SLOPEPVALUELa valeur P est calculée.
  • NO_SLOPEPVALUELa valeur P n’est pas calculée. Il s’agit de l’option par défaut.
Boolean

Valeur renvoyée

NomExplicationType de données
out_multidimensional_raster

Jeu de données raster multidimensionnelles CRF (Cloud Raster Format) en sortie.

Raster

Exemple de code

Exemple 1 d’utilisation de l’outil GenerateTrendRaster (fenêtre Python)

Cet exemple calcule l’ajustement de la tendance polynomiale pour les données relatives aux précipitations au fil du temps.

# 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")
Exemple 2 d’utilisation de l’outil GenerateTrendRaster (script autonome)

Cet exemple calcule l’ajustement de la tendance linéaire pour les données relatives aux températures et à la salinité au fil du temps.

# 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")
Exemple 3 d’utilisation de l’outil GenerateTrendRaster (script autonome)

Cet exemple calcule l’ajustement de la tendance harmonique par rapport à une série chronologique 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")

Informations de licence

  • Basic: Requiert Image Analyst
  • Standard: Requiert Image Analyst
  • Advanced: Requiert Image Analyst

Rubriques connexes