Calcular cambio de ráster (Image Analyst)

Disponible con licencia de Image Analyst.

Resumen

Calcula la diferencia absoluta, relativa, categórica o espectral entre dos datasets ráster.

Uso

  • Esta herramienta compara dos rásteres y genera un nuevo ráster que contiene la diferencia entre ambos. Por ejemplo, utilice esta herramienta para averiguar cómo han cambiado los valores de píxel de almacenamiento de carbono entre 2001 y 2020 o para ver cómo ha cambiado la cobertura de suelo de 2010 a 2015.

  • Los siguientes tipos de cálculo están disponibles para calcular el ráster de cambio:

    • Diferencia: diferencia matemática, o resta, entre los valores de píxel del parámetro De ráster y los valores de píxel del parámetro A ráster.

      Salida = (A ráster) - (De ráster)

    • Diferencia relativa: diferencia en los valores de píxel teniendo en cuenta las cantidades de los valores que se comparan.

      Salida = (A ráster - De ráster) / máx(A ráster, De ráster)

    • Diferencia categórica: diferencia entre dos rásteres temáticos o de categorías en los que la salida muestra cada transición de clase que ocurrió entre los dos rásteres.
    • Distancia euclidiana espectral: distancia euclidiana entre dos rásteres multibanda, donde cada píxel se trata como un vector. Los valores más grandes indican un mayor cambio entre las imágenes.
    • Diferencia de ángulo espectral: ángulo espectral entre dos rásteres multibanda, donde cada píxel se trata como un vector. Los ángulos más grandes indican un mayor cambio entre las imágenes.
    • Banda con más cambio: banda que tiene en cuenta el mayor cambio en cada píxel entre dos rásteres multibanda.

  • La salida del tipo de cálculo Diferencia categórica es un dataset ráster con una tabla de atributos. La tabla contiene los tipos de transición (por ejemplo, Bosque a Urbano), el número de píxeles incluidos en cada tipo de transición y el área estimada de cada tipo de transición. El área se calcula como el tamaño de píxel multiplicado por el número de píxeles de cada tipo de transición. Las unidades coinciden con las unidades lineales de los datos ráster de entrada.

  • Puede limitar el análisis a clases específicas al calcular la diferencia entre dos rásteres de categorías. Por ejemplo, para visualizar el crecimiento urbano, puede incluir todas las clases en la lista De clases, pero solo la clase Urbano de la lista A clases. El resultado contendrá todas las transiciones que contribuyeron a la categoría Urbano.

  • Si los rásteres de entrada contienen diferentes tamaños de celda o extensiones, puede especificar el tamaño de celda y la extensión en la configuración del entorno Tamaño de celda y Extensión de salida.

  • Si el parámetro Método de cálculo del cambio se ha definido como Diferencia categórica, los parámetros De ráster y A ráster deben tener asociada una tabla de atributos de ráster con un campo Value o ClassValue. Los nombres de clase correspondientes a los valores de clase correspondientes se utilizan para los nombres de transmisión de clases de salida. La herramienta utiliza los nombres de clase de campo estándar CLASS_NAME o CLASSNAME. Si estos nombres de campo no existen, puede utilizar los parámetros Campo de nombre de clase para De ráster y Campo de nombre de clase para A ráster para definirlos.

Parámetros

EtiquetaExplicaciónTipo de datos
De ráster

Ráster inicial o anterior que se analizará.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
A ráster

Ráster final o posterior que se analizará. Este es el ráster que se comparará con el ráster inicial.

Raster Dataset; Raster Layer; Mosaic Dataset; Mosaic Layer; Image Service; String
Método de cálculo del cambio
(Opcional)

Especifica el tipo de cálculo que se realizará entre los dos rásteres.

  • DiferenciaSe calculará la diferencia matemática (o resta) entre los valores de píxel de los rásteres. Esta es la opción predeterminada.
  • Diferencia relativaSe calculará la diferencia en los valores de píxel, teniendo en cuenta las cantidades de los valores que se comparan.
  • Diferencia categóricaSe calculará la diferencia entre dos rásteres temáticos o de categorías. La salida contendrá las transiciones de clase que se produjeron entre los dos rásteres.
  • Distancia euclidiana espectralSe calculará la distancia euclidiana entre los valores de píxel de dos rásteres multibanda.
  • Diferencia de ángulo espectralSe calculará el ángulo espectral entre los valores de píxel de dos rásteres multibanda. La salida está en radianes.
  • Banda con la mayoría de los cambiosSe calculará la banda que tiene en cuenta el máximo cambio en cada píxel entre dos rásteres multibanda.
String
De clases
(Opcional)

Lista de nombres de clase del parámetro De ráster que se incluirá en el cómputo. Si no se proporcionan clases, se incluirán todas las clases.

Este parámetro está activo cuando el parámetro Método de cálculo del cambio tiene el valor Diferencia categórica.

String
A clases
(Opcional)

Lista de nombres de clase del parámetro A ráster que se incluirá en el cómputo. Si no se proporcionan clases, se incluirán todas las clases.

Este parámetro está activo cuando el parámetro Método de cálculo del cambio tiene el valor Diferencia categórica.

String
Método Filtrar
(Opcional)

Especifique los píxeles que se categorizarán en el ráster de salida. Este parámetro está activo cuando el parámetro Método de cálculo del cambio tiene el valor Diferencia categórica.

  • Solo los píxeles cambiadosSolo los píxeles que han cambiado las categorías se categorizarán en la salida. Los píxeles que no cambiaron las categoría se agruparán en una clase llamada Otros.
  • Solo píxeles sin cambiosSolo los píxeles que no cambiaron las categorías se categorizarán en la salida. Los píxeles que cambiaron las categorías se agruparán en una clase llamada Otras.
  • Todos los píxelesTodos los píxeles se categorizarán en la salida. Esta es la opción predeterminada.
String
Colores de clase de transición
(Opcional)

Especifica el color que se utilizará para simbolizar las clases de salida. Cuando un píxel cambia de un tipo de clase a otro, el color de píxel de salida representa el tipo de clase inicial, el tipo de clase final o una combinación de ambas

Este parámetro está activo cuando el parámetro Método de cálculo del cambio tiene el valor Diferencia categórica.

  • Promedio de colores inicial y finalEl color de la clase de salida será el promedio de los colores de clase desde (inicial) y hasta (final). Esta es la opción predeterminada.
  • Color inicialEl color de la clase de salida coincidirá con el color de la clase desde (inicial).
  • Color finalEl color de la clase de salida coincidirá con el color de la clase hasta (final).
String
Campo de nombre de clase correspondiente a De ráster
(Opcional)

Campo que almacenará los nombres de clase en el valor del parámetro De ráster. La herramienta busca automáticamente el campo ClassName o el campo Class_Name para utilizarlo.

Utilice este parámetro si la entrada no contiene estos nombres de campo estándar.

Field
Campo de nombre de clase correspondiente a A ráster
(Opcional)

Campo que almacenará los nombres de clase en el valor del parámetro A ráster. La herramienta buscará automáticamente el campo ClassName o el campo Class_Name para utilizarlo.

Utilice este parámetro si la entrada no contiene estos nombres de campo estándar.

Field

Valor de retorno

EtiquetaExplicaciónTipo de datos
Ráster de salida

Dataset ráster de cambios de salida.

Raster

ComputeChangeRaster(from_raster, to_raster, {compute_change_method}, {from_classes}, {to_classes}, {filter_method}, {define_transition_colors}, {from_classname_field}, {to_classname_field})
NombreExplicaciónTipo de datos
from_raster

Ráster inicial o anterior que se analizará.

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

Ráster final o posterior que se analizará. Este es el ráster que se comparará con el ráster inicial.

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

Especifica el tipo de cálculo que se realizará entre los dos rásteres.

  • DIFFERENCESe calculará la diferencia matemática (o resta) entre los valores de píxel de los rásteres. Esta es la opción predeterminada.
  • RELATIVE_DIFFERENCESe calculará la diferencia en los valores de píxel, teniendo en cuenta las cantidades de los valores que se comparan.
  • CATEGORICAL_DIFFERENCESe calculará la diferencia entre dos rásteres temáticos o de categorías. La salida contendrá las transiciones de clase que se produjeron entre los dos rásteres.
  • SPECTRAL_EUCLIDEAN_DISTANCESe calculará la distancia euclidiana entre los valores de píxel de dos rásteres multibanda.
  • SPECTRAL_ANGLE_DIFFERENCESe calculará el ángulo espectral entre los valores de píxel de dos rásteres multibanda. La salida está en radianes.
  • BAND_WITH_MOST_CHANGESe calculará la banda que tiene en cuenta el máximo cambio en cada píxel entre dos rásteres multibanda.
String
from_classes
[from_classes,...]
(Opcional)

Lista de nombres de clase del parámetro from_raster que se incluirá en el cómputo. Si no se proporcionan clases, se incluirán todas las clases.

Este parámetro está habilitado cuando el parámetro compute_change_method tiene el valor CATEGORICAL_DIFFERENCE.

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

Lista de nombres de clase del parámetro to_raster que se incluirá en el cómputo. Si no se proporcionan clases, se incluirán todas las clases.

Este parámetro está habilitado cuando el parámetro compute_change_method tiene el valor CATEGORICAL_DIFFERENCE.

String
filter_method
(Opcional)

Especifique los píxeles que se categorizarán en el ráster de salida. Este parámetro está habilitado cuando el parámetro compute_change_method tiene el valor CATEGORICAL_DIFFERENCE.

  • CHANGED_PIXELS_ONLYSolo los píxeles que han cambiado las categorías se categorizarán en la salida. Los píxeles que no cambiaron las categoría se agruparán en una clase llamada Otros.
  • UNCHANGED_PIXELS_ONLYSolo los píxeles que no cambiaron las categorías se categorizarán en la salida. Los píxeles que cambiaron las categorías se agruparán en una clase llamada Otras.
  • ALLTodos los píxeles se categorizarán en la salida. Esta es la opción predeterminada.
String
define_transition_colors
(Opcional)

Especifica el color que se utilizará para simbolizar las clases de salida. Cuando un píxel cambia de un tipo de clase a otro, el color de píxel de salida representa el tipo de clase inicial, el tipo de clase final o una combinación de ambas

Este parámetro está habilitado cuando el parámetro compute_change_method tiene el valor CATEGORICAL_DIFFERENCE.

  • AVERAGEEl color de la clase de salida será el promedio de los colores de clase desde (inicial) y hasta (final). Esta es la opción predeterminada.
  • FROM_COLOREl color de la clase de salida coincidirá con el color de la clase desde (inicial).
  • TO_COLOREl color de la clase de salida coincidirá con el color de la clase hasta (final).
String
from_classname_field
(Opcional)

Campo que almacenará los nombres de clase en el valor del parámetro from_raster. La herramienta busca automáticamente el campo ClassName o el campo Class_Name para utilizarlo.

Utilice este parámetro si la entrada no contiene estos nombres de campo estándar.

Field
to_classname_field
(Opcional)

Campo que almacenará los nombres de clase en el valor del parámetro to_raster. La herramienta buscará automáticamente el campo ClassName o el campo Class_Name para utilizarlo.

Utilice este parámetro si la entrada no contiene estos nombres de campo estándar.

Field

Valor de retorno

NombreExplicaciónTipo de datos
out_raster_dataset

Dataset ráster de cambios de salida.

Raster

Muestra de código

Ejemplo 1 de ComputeChangeRaster (ventana de Python)

En este ejemplo se calcula la diferencia en los valores de píxel NDVI entre 2000 y 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")
Ejemplo 2 de ComputeChangeRaster (script independiente)

En este ejemplo se calcula la diferencia relativa en los valores de píxel NDVI entre 2000 y 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")
Ejemplo 3 de ComputeChangeRaster (script independiente)

En este ejemplo se calcula el cambio de cobertura del suelo de 2000 a 2020, extrayendo solo los píxeles que han cambiado de las clases Bosque, Agricultura, Agua o Inóspito a Urbano.

# 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")