Calculer le raster de changements (Image Analyst)

Disponible avec une licence Image Analyst.

Synthèse

Calcule la différence absolue, relative, catégorielle ou spectrale entre deux jeux de données raster.

Utilisation

  • Cet outil compare deux rasters et génère un nouveau raster contenant la différence entre les deux. Vous pouvez par exemple utiliser cet outil pour connaître l’évolution des valeurs de pixel de stockage du carbone entre 2001 et 2020 ou pour visualiser la manière dont l’occupation du sol a évolué entre 2010 et 2015.

  • Les types de calcul suivants permettent de calculer le raster de changements :

    • Différence : différence mathématique, ou soustraction, entre les valeurs de pixel du paramètre Raster d’origine et les valeurs de pixel du paramètre Raster de destination.

      Sortie = (Raster de destination) - (Raster d’origine)

    • Différence relative : différence en valeurs de pixel, en tenant compte des quantités des valeurs comparées.

      Sortie = (Raster de destination - Raster d’origine) / max(Raster de destination, Raster d’origine)

    • Différence catégorielle : différence entre deux rasters catégoriels ou thématiques, dans lesquels la sortie montre chaque transition de classe ayant eu lieu entre les deux rasters.
    • Distance euclidienne spectrale : distance euclidienne entre deux rasters multibandes, où chaque pixel est traité comme un vecteur. Des valeurs supérieures indiquent un plus grand nombre de changements entre les images.
    • Différence d’angle spectral : angle spectral entre deux rasters multibandes, où chaque pixel est traité comme un vecteur. Des angles supérieurs indiquent un plus grand nombre de changements entre les images.
    • Bande avec le plus de changements : bande qui compte le plus grand nombre de changements dans chaque pixel entre deux rasters multibandes.

  • La sortie du type de calcul Différence catégorielle est un jeu de données raster avec une table attributaire. La table contient les types de transition (par exemple, forêt vers zone urbaine), le nombre de pixels inclus dans chaque type de transition et la zone estimée de chaque type de transition. La zone est calculée en multipliant la taille de pixel par le nombre de pixels inclus dans chaque type de transition. Les unités correspondent aux unités linéaires des données du raster en entrée.

  • Vous pouvez limiter l’analyse à des classes spécifiques lors du calcul de la différence entre deux rasters catégoriels. Par exemple, pour visualiser le développement urbain, vous pouvez inclure toutes les classes dans la liste Classes d’origine, mais uniquement la classe Urbain dans la liste Classes de destination. Le résultat contiendra toutes les transitions ayant contribué à la catégorie Urbain.

  • Si les rasters en entrée contiennent des étendues ou tailles de cellule différentes, vous pouvez spécifier l’étendue ou la taille de cellule dans les paramètres d’environnement Taille de cellule et Étendue en sortie.

  • Lorsque le paramètre Mode de calcul des changements est défini sur Différence catégorielle, les paramètres Raster d’origine et Raster de destination doivent être associés à une table attributaire raster avec un champ Value ou ClassValue. Les noms de classe des valeurs de classe correspondantes sont utilisés pour les noms de transmission des classes en sortie. L’outil utilise les noms de classe de champ standard CLASS_NAME ou CLASSNAME. Si ces noms de champ n’existent pas, vous pouvez utiliser les paramètres Champ de nom de classe du raster d’origine et Champ de nom de classe du raster de destination pour les définir.

Paramètres

ÉtiquetteExplicationType de données
Depuis raster

Raster initial ou antérieur à analyser.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
Vers raster

Raster final ou ultérieur à analyser. Il s’agit du raster à comparer au raster initial.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
Méthode de calcul des changements
(Facultatif)

Indique le type de calcul qui sera réalisé entre les deux rasters.

  • DifférenceLa différence mathématique, ou soustraction, entre les valeurs de pixel dans les rasters est calculée. Il s’agit de l’option par défaut.
  • Différence relativeLa différence en valeurs de pixel, en tenant compte des quantités des valeurs comparées, est calculée.
  • Différence catégorielleLa différence entre deux rasters catégoriels ou thématiques est calculée. La sortie contiendra des transitions de classe ayant eu lieu entre les deux rasters.
  • Distance euclidienne spectraleLa distance euclidienne entre les valeurs de pixel de deux rasters multibandes est calculée.
  • Différence d’angle spectralL’angle spectral entre les valeurs de pixel de deux rasters multibandes est calculée. La sortie est en radians.
  • Bande avec le plus de changementsLa bande qui compte le plus grand nombre de changements dans chaque pixel entre deux rasters multibandes est calculée.
String
Classes d’origine
(Facultatif)

Liste des noms de classe du paramètre Raster d’origine à inclure dans le calcul. Si aucune classe n’est fournie, toutes les classes sont incluses.

Ce paramètre est actif lorsque le paramètre Mode de calcul des changements est défini sur Différence catégorielle.

String
Classes de destination
(Facultatif)

Liste des noms de classe du paramètre Raster de destination à inclure dans le calcul. Si aucune classe n’est fournie, toutes les classes sont incluses.

Ce paramètre est actif lorsque le paramètre Mode de calcul des changements est défini sur Différence catégorielle.

String
Filter Method (Méthode de filtrage)
(Facultatif)

Spécifie les pixels à classer dans le raster en sortie. Ce paramètre est actif lorsque le paramètre Mode de calcul des changements est défini sur Différence catégorielle.

  • Pixels modifiés uniquementSeuls les pixels dont la catégorie a changé sont classés dans la sortie. Les pixels dont la catégorie n’a pas changé sont regroupés dans une classe nommée Autre.
  • Pixels non modifiés uniquementSeuls les pixels dont la catégorie n’a pas changé sont classés dans la sortie. Les pixels dont la catégorie a changé sont regroupés dans une classe nommée Autre.
  • Tous les pixelsTous les pixels sont classés dans la sortie. Il s’agit de l’option par défaut.
String
Couleurs des classes de transition
(Facultatif)

Spécifie la couleur à utiliser pour symboliser les classes en sortie. Lorsqu’un pixel change de type de classe, la couleur de pixel en sortie représente le type de classe initial, le type de classe final ou une combinaison des deux.

Ce paramètre est actif lorsque le paramètre Mode de calcul des changements est défini sur Différence catégorielle.

  • Utiliser la moyenne des couleurs d’origine et de destinationLa couleur de la classe en sortie correspond à la moyenne des couleurs de la classe d’origine (initiale) et de la classe de destination (finale). Il s’agit de l’option par défaut.
  • Couleur d’origineLa couleur de la classe en sortie correspond à la couleur de la classe d’origine (initiale).
  • Couleur de destinationLa couleur de la classe en sortie correspond à la couleur de la classe de destination (finale).
String
Champ de nom de classe du raster d’origine
(Facultatif)

Champ qui stocke les noms de classe dans la valeur du paramètre Raster d’origine. L’outil recherche automatiquement le champ ClassName ou Class_Name à utiliser.

Utilisez ce paramètre si l’entrée ne contient pas ces noms de champ standard.

Field
Champ de nom de classe du raster de destination
(Facultatif)

Champ qui stocke les noms de classe dans la valeur du paramètre Raster de destination. L’outil recherche automatiquement le champ ClassName ou Class_Name à utiliser.

Utilisez ce paramètre si l’entrée ne contient pas ces noms de champ standard.

Field

Valeur renvoyée

ÉtiquetteExplicationType de données
Raster en sortie

Jeu de données du raster de changements en sortie.

Raster

ComputeChangeRaster(from_raster, to_raster, {compute_change_method}, {from_classes}, {to_classes}, {filter_method}, {define_transition_colors}, {from_classname_field}, {to_classname_field})
NomExplicationType de données
from_raster

Raster initial ou antérieur à analyser.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
to_raster

Raster final ou ultérieur à analyser. Il s’agit du raster à comparer au raster initial.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
compute_change_method
(Facultatif)

Indique le type de calcul qui sera réalisé entre les deux rasters.

  • DIFFERENCELa différence mathématique, ou soustraction, entre les valeurs de pixel dans les rasters est calculée. Il s’agit de l’option par défaut.
  • RELATIVE_DIFFERENCELa différence en valeurs de pixel, en tenant compte des quantités des valeurs comparées, est calculée.
  • CATEGORICAL_DIFFERENCELa différence entre deux rasters catégoriels ou thématiques est calculée. La sortie contiendra des transitions de classe ayant eu lieu entre les deux rasters.
  • SPECTRAL_EUCLIDEAN_DISTANCELa distance euclidienne entre les valeurs de pixel de deux rasters multibandes est calculée.
  • SPECTRAL_ANGLE_DIFFERENCEL’angle spectral entre les valeurs de pixel de deux rasters multibandes est calculée. La sortie est en radians.
  • BAND_WITH_MOST_CHANGELa bande qui compte le plus grand nombre de changements dans chaque pixel entre deux rasters multibandes est calculée.
String
from_classes
[from_classes,...]
(Facultatif)

Liste des noms de classe du paramètre from_raster à inclure dans le calcul. Si aucune classe n’est fournie, toutes les classes sont incluses.

Ce paramètre est activé lorsque le paramètre compute_change_method est défini sur CATEGORICAL_DIFFERENCE.

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

Liste des noms de classe du paramètre to_raster à inclure dans le calcul. Si aucune classe n’est fournie, toutes les classes sont incluses.

Ce paramètre est activé lorsque le paramètre compute_change_method est défini sur CATEGORICAL_DIFFERENCE.

String
filter_method
(Facultatif)

Spécifie les pixels à classer dans le raster en sortie. Ce paramètre est activé lorsque le paramètre compute_change_method est défini sur CATEGORICAL_DIFFERENCE.

  • CHANGED_PIXELS_ONLYSeuls les pixels dont la catégorie a changé sont classés dans la sortie. Les pixels dont la catégorie n’a pas changé sont regroupés dans une classe nommée Autre.
  • UNCHANGED_PIXELS_ONLYSeuls les pixels dont la catégorie n’a pas changé sont classés dans la sortie. Les pixels dont la catégorie a changé sont regroupés dans une classe nommée Autre.
  • ALLTous les pixels sont classés dans la sortie. Il s’agit de l’option par défaut.
String
define_transition_colors
(Facultatif)

Spécifie la couleur à utiliser pour symboliser les classes en sortie. Lorsqu’un pixel change de type de classe, la couleur de pixel en sortie représente le type de classe initial, le type de classe final ou une combinaison des deux.

Ce paramètre est activé lorsque le paramètre compute_change_method est défini sur CATEGORICAL_DIFFERENCE.

  • AVERAGELa couleur de la classe en sortie correspond à la moyenne des couleurs de la classe d’origine (initiale) et de la classe de destination (finale). Il s’agit de l’option par défaut.
  • FROM_COLORLa couleur de la classe en sortie correspond à la couleur de la classe d’origine (initiale).
  • TO_COLORLa couleur de la classe en sortie correspond à la couleur de la classe de destination (finale).
String
from_classname_field
(Facultatif)

Champ qui stocke les noms de classe dans la valeur du paramètre from_raster. L’outil recherche automatiquement le champ ClassName ou Class_Name à utiliser.

Utilisez ce paramètre si l’entrée ne contient pas ces noms de champ standard.

Field
to_classname_field
(Facultatif)

Champ qui stocke les noms de classe dans la valeur du paramètre to_raster. L’outil recherche automatiquement le champ ClassName ou Class_Name à utiliser.

Utilisez ce paramètre si l’entrée ne contient pas ces noms de champ standard.

Field

Valeur renvoyée

NomExplicationType de données
out_raster_dataset

Jeu de données du raster de changements en sortie.

Raster

Exemple de code

Exemple 1 d’utilisation de la fonction ComputeChangeRaster (fenêtre Python)

Ce exemple calcule la différence en valeurs de pixel NDVI entre 2000 et 2020.

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

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

NDVIchange = arcpy.ia.ComputeChangeRaster(
	"NDVI_2000.tif", "NDVI_2020.tif", "DIFFERENCE")
	
NDVIchange.save("C:/Data/NDVI_2000_2020.tif")
Exemple 2 d’utilisation de la fonction ComputeChangeRaster (script autonome)

Ce exemple calcule la différence relative en valeurs de pixel NDVI entre 2000 et 2020.

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

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

# Define input parameters
FromRaster = "C:/Data/NDVI_2000.tif"
ToRaster = "C:/Data/NDVI_2020.tif"
ChangeType = "RELATIVE_DIFFERENCE"

# Execute - calculate the relative difference in NDVI from 2000 to 2020
NDVIrelativeChange = arcpy.ia.ComputeChangeRaster(
	FromRaster, ToRaster, ChangeType)
	
# Save output
NDVIrelativeChange.save("C:/Data/Relative_NDVI_2000_2020.tif")
Exemple 3 d’utilisation de la fonction ComputeChangeRaster (script autonome)

Cet exemple calcule l’évolution de l’occupation du sol de 2000 à 2020, en extrayant uniquement les pixels qui sont passés des classes Forêt, Agriculture, Eau ou Stérile à la classe Urbain.

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

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


LandcoverChange = arcpy.ia.ComputeChangeRaster(
	"Landcover_2000.tif", "Landcover_2020.tif", "CATEGORICAL_DIFFERENCE", 
	"'Forest';'Agriculture';'Water';'Barren'", "'Urban'", 
	"CHANGED_PIXELS_ONLY", "AVERAGE")
	
# Save output  
LandcoverChange.save("C:/Data/Landcover_2000_2020.tif")