Veränderungs-Raster berechnen (Image Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Zusammenfassung

Berechnet den absoluten, relativen oder kategoriellen Unterschied zwischen zwei Raster-Datasets.

Verwendung

  • Dieses Werkzeug vergleicht zwei Raster und erstellt ein neues Raster mit der Differenz der beiden Raster. Mit diesem Werkzeug können Sie beispielsweise Veränderungen an den Pixelwerten von Kohlenstoffeinlagerungen zwischen 2001 und 2020 oder Veränderungen an der Landbedeckung zwischen 2010 und 2015 herausfinden.

  • Für die Berechnung des Veränderungs-Rasters stehen folgende Berechnungsarten zur Verfügung:

    • Unterschied: Der mathematische Unterschied (Subtraktion) zwischen Pixelwerten im Von Raster und Pixelwerten im In Raster.

      Output = (To Raster) - (From Raster)

    • Relativer Unterschied: Der Unterschied zwischen den Pixelwerten unter Berücksichtigung des Betrags der verglichenen Werte.

      Output = (To Raster - From Raster) / max(To Raster, From Raster)

    • Kategorischer Unterschied: Der Unterschied zwischen zwei kategorischen oder thematischen Rastern, wobei die Ausgabe jeden Klassenübergang anzeigt, der zwischen den beiden Rastern erfolgt ist.

  • Die Ausgabe einer Berechnung des Typs Kategorischer Unterschied ist ein Raster-Dataset mit einer Attributtabelle. Die Tabelle enthält die Übergangstypen (zum Beispiel "Forest" zu "Urban"), die Anzahl der Pixel in jedem Übergangstyp und die geschätzte Fläche jedes Übergangstyps. Die Fläche wird als Produkt aus Pixelgröße und Anzahl der Pixel in jedem Übergangstyp berechnet. Die Einheiten entsprechen den linearen Einheiten der Eingabe-Raster-Daten.

  • Beim Berechnen der Unterschiede zwischen zwei kategorisierten Rastern können Sie Ihre Analyse auf bestimmte Klassen beschränken. Wenn Sie zum Beispiel das Städtewachstum visualisieren möchten, können Sie in die Liste Von Klassen alle Klassen einbeziehen und in die Liste In Klassen nur die Klasse "Urban". Das Ergebnis enthält alle Übergänge, die zur Kategorie "Urban" gehören.

  • Wenn die Eingabe-Raster unterschiedliche Zellengrößen oder Ausdehnungen enthalten, können Sie die Zellengröße und Ausdehnung in den Umgebungseinstellungen Zellengröße und Ausgabeausdehnung festlegen.

Syntax

ComputeChangeRaster(from_raster, to_raster, {compute_change_method}, {from_classes}, {to_classes}, {filter_method}, {define_transition_colors})
ParameterErklärungDatentyp
from_raster

Das ursprüngliche oder erste zu analysierende Raster.

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

Das endgültige oder letzte zu analysierende Raster. Dies ist das Raster, das mit dem ursprünglichen Raster verglichen wird.

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

Gibt die Berechnungsmethode zwischen den beiden Rastern an.

  • DIFFERENCEDie mathematische Differenz zwischen den Pixelwerten in den Rastern wird berechnet (Subtraktion). Dies ist die Standardeinstellung.
  • RELATIVE_DIFFERENCEDer Unterschied zwischen den Pixelwerten wird berechnet, wobei die Mengen der Werte verglichen werden.
  • CATEGORICAL_DIFFERENCEDer Unterschied zwischen zwei kategorischen oder thematischen Rastern wird berechnet, wobei die Ausgabe Klassenübergänge enthält, die zwischen den beiden Rastern erfolgt sind.
String
from_classes
[from_classes,...]
(optional)

Die Liste der Klassennamen aus dem Parameter from_raster, die in die Berechnung einbezogen werden sollen. Wenn keine Klassen angegeben werden, werden alle Klassen einbezogen.

Dieser Parameter wird aktiviert, wenn der Parameter compute_change_method auf CATEGORICAL_DIFFERENCE gesetzt ist

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

Die Liste der Klassennamen aus dem Parameter to_raster, die in die Berechnung einbezogen werden sollen. Wenn keine Klassen angegeben werden, werden alle Klassen einbezogen.

Dieser Parameter wird aktiviert, wenn der Parameter compute_change_method auf CATEGORICAL_DIFFERENCE gesetzt ist

String
filter_method
(optional)

Gibt die im Ausgaberaster zu kategorisierenden Pixel an. Dieser Parameter wird aktiviert, wenn der Parameter compute_change_method auf CATEGORICAL_DIFFERENCE gesetzt ist

  • CHANGED_PIXELS_ONLYIn der Ausgabe werden nur Pixel kategorisiert, deren Kategorie geändert wurde. Pixel, deren Kategorie nicht geändert wurde, werden zu einer Klasse namens "Other" gruppiert.
  • UNCHANGED_PIXELS_ONLYIn der Ausgabe werden nur Pixel kategorisiert, deren Kategorie nicht geändert wurde. Pixel, deren Kategorie geändert wurde, werden zu einer Klasse namens "Other" gruppiert.
  • ALLAlle Pixel werden in der Ausgabe kategorisiert. Dies ist die Standardeinstellung.
String
define_transition_colors
(optional)

Gibt die Farbe zur Symbolisierung der Ausgabe-Klassen an. Wenn der Klassentyp eines Pixels geändert wird, stellt die Farbe des Ausgabe-Pixels den ursprünglichen Klassentyp, den endgültigen Klassentyp oder eine Mischung aus beiden dar.

Dieser Parameter wird aktiviert, wenn der Parameter compute_change_method auf CATEGORICAL_DIFFERENCE gesetzt ist

  • AVERAGEDie Farbe der Ausgabeklasse entspricht dem Durchschnitt der Farbe der Von-Klasse (ursprünglich) und der In-Klasse (endgültig). Dies ist die Standardeinstellung.
  • FROM_COLORDie Farbe der Ausgabeklasse entspricht der Farbe der Von-Klasse (ursprünglich).
  • TO_COLORDie Farbe der Ausgabeklasse entspricht der Farbe der In-Klasse (endgültig).
String

Rückgabewert

NameErklärungDatentyp
out_raster_dataset

Ausgabe-Raster-Dataset der Veränderung

Raster

Codebeispiel

ComputeChangeRaster –Beispiel 1 (Python-Fenster)

In diesem Beispiel wird der Unterschied in NDVI-Pixelwerten von 2000 bis 2020 berechnet.

# 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")
ComputeChangeRaster –Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird der relative Unterschied in NDVI-Pixelwerten von 2000 bis 2020 berechnet.

# 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")
ComputeChangeRaster –Beispiel 3 (eigenständiges Skript)

In diesem Beispiel wird die Veränderung der Landbedeckung von 2000 bis 2020 berechnet. Dabei werden nur die Pixel extrahiert, deren Klasse von "Forest", "Agriculture", "Water" oder "Barren" in "Urban" geändert wurde.

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

Lizenzinformationen

  • Basic: Erfordert Image Analyst
  • Standard: Erfordert Image Analyst
  • Advanced: Erfordert Image Analyst

Verwandte Themen