Analyze Changes Using LandTrendr (Analyser les modifications avec l’algorithme LandTrendr) (Image Analyst)

Disponible avec une licence Image Analyst.

Synthèse

Évaluer les changements des valeurs de pixels au fil du temps à l’aide de la méthode de détection des tendances en matière de perturbation et de récupération des forêts basée sur Landsat (LandTrendr), puis générer un raster d’analyse des changements contenant les résultats du modèle.

En savoir plus sur le fonctionnement de LandTrendr

Utilisation

  • L’algorithme LandTrendr constitue une méthode d’identification des changements en valeurs de pixel au fil du temps. Développé pour une série chronologique d’imagerie Landsat multicanal, il sert à détecter les changements et à classer la couverture terrestre avant et après la modification. Vous pouvez utiliser cet outil avec des images issues des capteurs pris en charge, et pour détecter des changements sur des rasters monocanal. Par exemple, cet outil peut servir à détecter des changements dans une série temporelle de rasters NDVI, afin d’identifier les événements liés à la déforestation.

  • L’algorithme LandTrendr extrait la trajectoire de la série chronologique pour chaque pixel au fil du temps en utilisant la valeur de pixel d’un seul canal ou index spectral. La trajectoire est ensuite découpée en segments, afin de capturer et modéliser les périodes sans changement, avec changement et de récupération après changement.

  • Cet outil a pour sortie des informations de modèle dans un raster d’analyse des changements dans lequel chaque pixel stocke un ensemble d’informations de modèle décrivant l’historique du pixel au fil du temps. Le raster d’analyse des changements est un raster multidimensionnel dans lequel chaque tranche est un raster multibande composé des coefficients de modèle, de l’erreur quadratique moyenne (EQM) et des changements observés. Il peut être utilisé comme entrée pour l’outil Détecter les modifications à l’aide du raster d’analyse des changements, ce qui génère un raster contenant des informations sur les changements pour chaque pixel.

    There is one slice for each year in the analysis.
  • Cet outil extrait les changements survenus pour une entité observée, de sorte que l’imagerie multidimensionnelle en entrée idéale puisse capturer une observation cohérente au fil du temps et ne puisse pas inclure d’interférences atmosphériques ou liées au capteur, de nuages ou l’ombre des nuages. Il est préférable d’utiliser des données normalisées et pouvant être masquées à l’aide d’une bande d’assurance qualité (QA), comme les produits de réflectance de surface Landsat Collection 1 avec un masque de nuage.

  • L’outil effectue l’analyse sur une image par an, et le nombre de tranches annuelles doit être au moins égal à la valeur du paramètre Minimum Number of Observations (Nombre minimal d’observations). Il est recommandé de disposer d’au moins six années de données.

    Si vous disposez de données mensuelles, hebdomadaires ou quotidiennes, nous vous recommandons de sélectionner plusieurs images pour chaque année (si possible à la même saison), de supprimer les nuages et leur ombre, puis d’associer ces images pour générer une image unique qui capture bien l’observation. Si des données mensuelles, hebdomadaires ou quotidiennes sont fournies comme raster multidimensionnel en entrée, l’outil identifie une tranche pour l’analyse, en fonction de la date la plus proche à celle du paramètre Snapping Date (Date de capture).

  • Il faut souvent un peu de temps pour qu’une entité dans un paysage récupère après un changement temporaire comme un feu de forêt ou une invasion d’insectes. Pour contrôler le taux de récupération reconnu par le modèle, définissez le paramètre Recovery Threshold (Seuil de récupération). Le taux de récupération d’un segment ne peut pas être plus rapide que la valeur 1/seuil de récupération.

  • La récupération après un changement dans le paysage peut se faire dans le sens positif ou négatif. Par exemple, lorsqu’un paysage subit une déforestation, une série temporelle de valeurs d’index de végétation montre une chute des valeurs d’index, et la récupération se traduit par une augmentation progressive des valeurs d’index de végétation, soit une tendance de récupération positive. Spécifiez le sens de la tendance de récupération à l’aide du paramètre Recovery Has Increasing Trend (La tendance de récupération augmente).

  • Pour explorer les changements calculés dans le raster d’analyse des changements en sortie, créez un diagramme de profil temporel. Générez des graphiques pour plusieurs emplacements dans le raster d’analyse des changements à l’aide du canal Fitted Value (Valeur ajustée) ou Slope (Pente) pour voir où des changements se sont produits. Vous pouvez faire glisser le pointeur sur les points du graphique pour identifier la date du changement.

  • L’exécution de cet outil peut prendre longtemps et le stockage des résultats peut nécessiter une grande quantité d’espace disque. Pour réduire le temps de traitement et la quantité d’espace de stockage requis, nous vous recommandons de procéder comme suit :

    • Désactivez l’environnement Pyramid (Pyramide). Décochez la case Build Pyramids (Construire des pyramides) dans la fenêtre Environment (Environnement) ou définissez l’environnement sur NONE dans Python.
    • Définissez l’environnement Compression sur LERC et le paramètre Max error (Erreur max.) sur 0,000001.
    • Si vous pensez que vous allez exécuter l’outil Detect Change Using Change Analysis Raster (Détecter les changements à l’aide d’un raster d’analyse des changements) sur la sortie de cet outil, générez une transposition multidimensionnelle sur le résultat.

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

Paramètres

ÉtiquetteExplicationType de données
Raster multidimensionnel en entrée

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
Nom du canal de traitement
(Facultatif)

Nom de canal d’image à utiliser pour segmenter les trajectoires de valeur de pixel dans le temps. Choisissez le nom de canal qui capture le mieux les changements dans l’entité à observer.

Si aucune valeur de canal n’est spécifiée et que l’entrée est une imagerie multicanal, le premier canal de l’image multicanal est utilisé.

String
Snapping Date (Date de capture)
(Facultatif)

Date utilisée pour identifier une tranche pour chaque année dans le jeu de données multidimensionnelles en entrée. La tranche dont la date est la plus proche de la date de capture est utilisée. Ce paramètre est requis si le jeu de données en entrée contient des données pour des périodes inférieures aux années.

La valeur par défaut est 06-30, c’est-à-dire le 30 juin, date située à peu près au milieu de l’année calendaire.

String
Maximum Number of Segments (Nombre maximal de segments)
(Facultatif)

Nombre maximal de segments à associer à la série temporelle de chaque pixel. La valeur par défaut est 5.

Long
Vertex Count Overshoot Threshold (Seuil de dépassement du nombre de sommets)
(Facultatif)

Nombre de sommets supplémentaires au-delà de max_num_segments + 1 qui peut être utilisé pour ajuster le modèle pendant la phase initiale de l’identification des sommets. Plus tard dans le processus de modélisation, le nombre de sommets supplémentaires est réduit à max_num_segments + 1. La valeur par défaut est 2.

Long
Spike Threshold (Seuil de pic)
(Facultatif)

Seuil à utiliser pour amortir les pics ou les anomalies dans la trajectoire de valeur de pixel. La valeur doit être comprise entre 0 et 1, la valeur 1 signifiant qu’il n’y a pas d’amortissement. La valeur par défaut est 0,9.

Double
Recovery Threshold (Seuil de récupération)
(Facultatif)

Valeur du seuil de récupération en années. Si le taux de récupération d’un segment est plus rapide que la valeur 1/recovery threshold, ce segment est ignoré et n’est pas inclus dans le modèle de série chronologique. La valeur doit être comprise entre 0 et 1. La valeur par défaut est 0,25.

Double
Prevent One Year Recovery (Empêcher la récupération sur un an)
(Facultatif)

Indique si les segments qui présentent une récupération sur un an doivent être exclus.

  • Activé : les segments qui présentent une récupération sur un an doivent être exclus. Il s’agit de l’option par défaut.
  • Désactivé : les segments qui présentent une récupération sur un an ne doivent pas être exclus.

Boolean
Recovery Has Increasing Trend (La tendance de récupération augmente)
(Facultatif)

Indique si la récupération présente une tendance à la hausse (positive).

  • Activé : la récupération présente une tendance à la hausse. Il s’agit de l’option par défaut.
  • Désactivé : la récupération présente une tendance à la baisse.

Boolean
Nombre minimal d'observations
(Facultatif)

Nombre minimum d’observations valides nécessaire pour effectuer l’ajustement. Le nombre d’années dans le jeu de données multidimensionnelles en entrée doit être supérieur ou égal à cette valeur. La valeur par défaut est 6.

Long
Best Model Proportion (Proportion de modèle idéale)
(Facultatif)

Meilleure valeur de proportion de modèle. Pendant le processus de sélection de modèle, l’outil calcule la valeur p pour chaque modèle et identifie le modèle qui a le plus de sommets tout en conservant la valeur p la plus petite (la plus significative) en fonction de cette valeur de proportion. La valeur 1 signifie que le modèle a la valeur p la plus basse mais n’a peut-être pas un grand nombre de sommets. La valeur par défaut est 1,25.

Double
P-Value Threshold (Seuil de valeur p)

Seuil de valeur p à sélectionner pour un modèle. Une fois les sommets détectés à l’étape initiale d’ajustement du modèle, l’outil ajuste chaque segment et calcule la valeur p pour déterminer le niveau d’importance du modèle. À l’itération suivante, le modèle diminue le nombre de segments d’un et recalcule la valeur p. Le processus continue ainsi et, si la valeur p devient inférieure à la valeur spécifiée dans ce paramètre, le modèle est sélectionné et l’outil arrête de rechercher un meilleur modèle. Si aucun modèle n’est sélectionné, l’outil sélectionne un modèle dont la valeur p est inférieure à la valeur lowest p-value × best model proportion value. La valeur par défaut est 0,01.

Double
Include Other Bands (Inclure les autres canaux)
(Facultatif)

Indique si les autres canaux sont inclus dans les résultats.

  • Activé : les autres canaux sont inclus dans les résultats. Les informations sur la segmentation et les sommets issues du canal de segmentation initial spécifié dans le paramètre Processing Band (Canal de traitement) sont également ajustées aux autres canaux des images multicanal. Les résultats du modèle incluent d’abord le canal de segmentation, puis les autres canaux.
  • Non coché - Les autres canaux sont inclus dans les résultats. Il s’agit de l’option par défaut.

Boolean

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster multidimensionnel en sortie

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

Raster d’analyse des changements en sortie contenant les informations de modèle issues de l’analyse LandTrendr.

Raster

AnalyzeChangesUsingLandTrendr(in_multidimensional_raster, {processing_band}, {snapping_date}, {max_num_segments}, {vertex_count_overshoot}, {spike_threshold}, {recovery_threshold}, {prevent_one_year_recovery}, {recovery_trend}, {min_num_observations}, {best_model_proportion}, pvalue_threshold, {output_other_bands})
NomExplicationType de données
in_multidimensional_raster

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

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; File
processing_band
(Facultatif)

Nom de canal d’image à utiliser pour segmenter les trajectoires de valeur de pixel dans le temps. Choisissez le nom de canal qui capture le mieux les changements dans l’entité à observer.

Si aucune valeur de canal n’est spécifiée et que l’entrée est une imagerie multicanal, le premier canal de l’image multicanal est utilisé.

String
snapping_date
(Facultatif)

Date utilisée pour identifier une tranche pour chaque année dans le jeu de données multidimensionnelles en entrée. La tranche dont la date est la plus proche de la date de capture est utilisée. Ce paramètre est requis si le jeu de données en entrée contient des données pour des périodes inférieures aux années.

La valeur par défaut est 06-30, c’est-à-dire le 30 juin, date située à peu près au milieu de l’année calendaire.

String
max_num_segments
(Facultatif)

Nombre maximal de segments à associer à la série temporelle de chaque pixel. La valeur par défaut est 5.

Long
vertex_count_overshoot
(Facultatif)

Nombre de sommets supplémentaires au-delà de max_num_segments + 1 qui peut être utilisé pour ajuster le modèle pendant la phase initiale de l’identification des sommets. Plus tard dans le processus de modélisation, le nombre de sommets supplémentaires est réduit à max_num_segments + 1. La valeur par défaut est 2.

Long
spike_threshold
(Facultatif)

Seuil à utiliser pour amortir les pics ou les anomalies dans la trajectoire de valeur de pixel. La valeur doit être comprise entre 0 et 1, la valeur 1 signifiant qu’il n’y a pas d’amortissement. La valeur par défaut est 0,9.

Double
recovery_threshold
(Facultatif)

Valeur du seuil de récupération en années. Si le taux de récupération d’un segment est plus rapide que la valeur 1/recovery threshold, ce segment est ignoré et n’est pas inclus dans le modèle de série chronologique. La valeur doit être comprise entre 0 et 1. La valeur par défaut est 0,25.

Double
prevent_one_year_recovery
(Facultatif)

Indique si les segments qui présentent une récupération sur un an doivent être exclus.

  • ALLOW_ONE_YEAR_RECOVERYLes segments qui présentent une récupération sur un an ne doivent pas être exclus.
  • PREVENT_ONE_YEAR_RECOVERYLes segments qui présentent une récupération sur un an doivent être exclus. Il s’agit de l’option par défaut.
Boolean
recovery_trend
(Facultatif)

Indique si la récupération présente une tendance à la hausse (positive).

  • INCREASING_TRENDLa récupération présente une tendance à la hausse. Il s’agit de l’option par défaut.
  • DECREASING_TRENDLa récupération présente une tendance à la baisse.
Boolean
min_num_observations
(Facultatif)

Nombre minimum d’observations valides nécessaire pour effectuer l’ajustement. Le nombre d’années dans le jeu de données multidimensionnelles en entrée doit être supérieur ou égal à cette valeur. La valeur par défaut est 6.

Long
best_model_proportion
(Facultatif)

Meilleure valeur de proportion de modèle. Pendant le processus de sélection de modèle, l’outil calcule la valeur p pour chaque modèle et identifie le modèle qui a le plus de sommets tout en conservant la valeur p la plus petite (la plus significative) en fonction de cette valeur de proportion. La valeur 1 signifie que le modèle a la valeur p la plus basse mais n’a peut-être pas un grand nombre de sommets. La valeur par défaut est 1,25.

Double
pvalue_threshold

Seuil de valeur p à sélectionner pour un modèle. Une fois les sommets détectés à l’étape initiale d’ajustement du modèle, l’outil ajuste chaque segment et calcule la valeur p pour déterminer le niveau d’importance du modèle. À l’itération suivante, le modèle diminue le nombre de segments d’un et recalcule la valeur p. Le processus continue ainsi et, si la valeur p devient inférieure à la valeur spécifiée dans ce paramètre, le modèle est sélectionné et l’outil arrête de rechercher un meilleur modèle. Si aucun modèle n’est sélectionné, l’outil sélectionne un modèle dont la valeur p est inférieure à la valeur lowest p-value × best model proportion value. La valeur par défaut est 0,01.

Double
output_other_bands
(Facultatif)

Indique si les autres canaux sont inclus dans le processus de segmentation.

  • INCLUDE_OTHER_BANDSLes autres canaux sont inclus. Les informations sur la segmentation et les sommets issues du canal de segmentation initial spécifié dans le paramètre processing_band sont également ajustées en fonction des autres canaux des images multicanaux. Les résultats du modèle incluent d’abord le canal de segmentation, puis les autres canaux.
  • EXCLUDE_OTHER_BANDSLes autres canaux ne sont pas inclus. 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 multidimensionnel CRF (Cloud Raster Format) en sortie.

Raster d’analyse des changements en sortie contenant les informations de modèle issues de l’analyse LandTrendr.

Raster

Exemple de code

Exemple 1 d’utilisation de AnalyzeChangesUsingLandTrendr (fenêtre Python)

Dans cet exemple, l’algorithme LandTrendr est exécuté pour détecter les changements dans une série temporelle de données NDVI.

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

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


changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingLandTrendr(
	"Monthly_NDVI_30_years.crf","","",10,3,0.9,0.25, 'PREVENT_ONE_YEAR_RECOVERY', 
	'INCREASING_TREND',10,1.25,0.05, 'EXCLUDE_OTHER_BANDS')

# Save output
changeAnalysisRaster.save(r"C:\data\NDVI_ChangeAnalysis.crf")
Exemple 2 d’utilisation de l’outil AnalyzeChangesUsingLandTrendr (script autonome)

Dans cet exemple, la détection de changement est effectuée en continu sur une série temporelle d’imagerie Landsat.

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

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

# Define input parameters
in_multidimensional = r"C:\data\Landsat_time_series.crf"
processing_band = "Band_4"
snapping_date = ""
max_num_segments = 10
vertex_count_overshoot = 3
spike_threshold = 0.9
recovery_threshold = 0.25
prevent_one_year_recovery = "PREVENT_ONE_YEAR_RECOVERY"
recovery_trend = "INCREASING_TREND"
min_num_observations = 6
best_model_proportion = 1.25
pvalue_threshold = 0.01
output_other_bands = "EXCLUDE_OTHER_BANDS"

# Execute
changeAnalysisRaster = arcpy.ia.AnalyzeChangesUsingCCDC(
	in_multidimensional, processing_band, snapping_date, max_num_segments,
	vertex_count_overshoot, spike_threshold, recovery_threshold, prevent_one_year_recovery,
	recovery_trend, min_num_observations, best_model_proportion, pvalue_threshold, output_other_bands)

# Save output
changeAnalysisRaster.save(r"C:\data\Landsat_ChangeAnalysis.crf")

Rubriques connexes