Lineare spektrale Entmischung (Spatial Analyst)

Mit der Image Analyst-Lizenz verfügbar.

Mit der Spatial Analyst-Lizenz verfügbar.

Zusammenfassung

Führt eine Subpixel-Klassifizierung durch und berechnet den Anteil verschiedener Landbedeckungstypen für einzelne Pixel.

Lineare spektrale Entmischung

Verwendung

  • Dieses Werkzeug berechnet den Anteil einzelner Pixel, die mehrere Arten von Landbedeckungen enthalten. Es erzeugt ein Multiband-Raster, in dem jedes Band dem Anteil der einzelnen Landbedeckungsklassen entspricht. Beispiel: Sie können mit diesem Werkzeug in einem Multispektralbild Landbedeckungen klassifizieren und Vegetation mit und ohne Photosyntheseaktiviät, nackte Erde und tote Pflanzen ermitteln.

  • Die Reihenfolge des Ausgabe-Multiband-Rasters entspricht der Reihenfolge des Eingabe-Spektralprofils.

  • Die Anzahl der Klassen darf nicht größer sein als die Anzahl an Bändern im Eingabe-Raster. Aus einem Beispiel: Einem Achtband-Raster können Sie Informationen zu maximal acht Klassen entnehmen.

  • Im Folgenden sehen Sie ein Beispiel für ein Spektralprofil, das in Form einer .json-Datei bereitgestellt wird:

    {
      "EsriEndmemberDefinitionFile" : 0,  "FileVersion" : 1,  "NumberEndmembers" : 3,  "NumberBands" : 7,  "Endmembers" : [	    {
          "EndmemberID" : 1,      "EndmemberName" : "urban",      "SpectralProfile" : [            88,			                     42,			                     48,			                     38,			                     86,			                    115,			                     59          ]    },    {
          "EndmemberID" : 2,      "EndmemberName" : "vegetation",      "SpectralProfile" : [			                       50,			                       21,			                       20,			                       35,			                       50,			                      110,			                       23          ]    },    {
          "EndmemberID" : 3,      "EndmemberName" : "water",      "SpectralProfile" : [			                       51,			                       20,			                       14,			                        9,			                        7,			                      116,			                        4          ]    }
      ]        
    }
  • Derzeit werden als Ausgabe des Klassifikators nur Klassifikatordefinitionsdateien (.ecd) unterstützt, die mit dem Werkzeug Maximum-Likelihood-Klassifikator trainieren generiert wurden.

  • Polygon-Features erfordern folgende Feldnamen:

    • classname: Ein Textfeld, das den Namen der Klassenkategorie angibt.
    • classvalue: Ein "Long Integer"-Feld, das den ganzzahligen Wert für die einzelnen Klassenkategorien enthält.
  • Bei der Berechnung des Anteils der Landbedeckungsklassen kann es vorkommen, dass die Lösung negative Koeffizienten oder Brüche enthält. Sehen Sie sich in diesem Fall die Trainingsgebiete in Ihrem Eingabe-Spektralprofil an, und vergewissern Sie sich, dass diese die einzelnen Klassen richtig darstellen. Wenn Sie keine Fehler finden, wählen Sie als Ausgabewert-Option die Option Nicht negativ aus.

Syntax

LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option})
ParameterErklärungDatentyp
in_raster

Das Eingabe-Raster-Dataset.

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

Spektralinformationen der verschiedenen Landbedeckungsklassen.

Dieser kann als Polygon-Features, als Klassifikatordefinitionsdatei (.ecd), die mit dem Werkzeug Maximum-Likelihood-Klassifikator trainieren erzeugt wurde, oder als JSON-Datei (.json), die die Spektralprofile der Klasse enthält, bereitgestellt werden.

File; Feature Layer; String
value_option
[value_option,...]
(optional)

Gibt an, wie die Ausgabepixelwerte definiert werden.

  • SUM_TO_ONEDie Klassenwerte für die einzelnen Pixel werden im Dezimalformat ausgegeben, wobei die Summe aller Klassen 1 ergibt. Beispiel: Klasse 1 = 0,16; Klasse 2 = 0,24; Klasse 3 = 0,60.
  • NON_NEGATIVEEs gibt keine negativen Ausgabewerte.
String

Rückgabewert

NameErklärungDatentyp
out_raster

Das Ausgabe-Multiband-Raster-Dataset.

Raster

Codebeispiel

LinearSpectralUnmixing – Beispiel 1 (Python-Fenster)

In diesem Beispiel wird der Anteil der Klassen aus einer Klassifikatordefinitionsdatei (.ecd) berechnet, und es wird ein Multiband-Raster generiert.

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

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")

# Execute 
unmixing_outputs = LinearSpectralUnmixing("C:/data/landsat7_image.crf",
    "C:/data/train_maxi_likelihood_ecd_output.ecd", "SUM_TO_ONE;NON_NEGATIVE")
	
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs.crf")
LinearSpectralUnmixing – Beispiel 2 (eigenständiges Skript)

In diesem Beispiel wird der Anteil der Klassen aus einer Klassifikatordefinitionsdatei (.ecd) berechnet, und es wird ein Multiband-Raster generiert.

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

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")

# Define input parameters
inFile = "C:/data/landsat7_image.crf"
json_file = "C:/data/customized_endmembers.json"
options = "SUM_TO_ONE" 

# Execute 
unmixing_outputs = LinearSpectralUnmixing(inFile, json_file, options)
	
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_json.crf")
LinearSpectralUnmixing – Beispiel 3 (eigenständiges Skript)

In diesem Beispiel wird der Anteil der Klassen aus einer Trainingsgebiet-Feature-Class (.ecd) berechnet, und es wird ein Multiband-Raster generiert.

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

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("SpatialAnalyst")

# Define input parameters
inFile = "C:/data/landsat7_image.crf"
training_features = "C:/data/training_features.shp"
options = "SUM_TO_ONE;NON_NEGATIVE" 

# Execute 
unmixing_outputs = LinearSpectralUnmixing(inFile, training_features, options)
	
# Save output
unmixing_outputs.save("C:/data/unmixing_outputs_using_training_features.crf")

Lizenzinformationen

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

Verwandte Themen