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.

Abbildung des Werkzeugs "Lineare spektrale Entmischung"

Verwendung

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

  • Dieses Werkzeug unterstützt mehrere Arten von Spektraldaten, z. B. das Esri Spectral Library- (.esl) oder das ENVI Spectral Library-Format (.sli).

  • Das Werkzeug unterstützt eine Vorversion der JSON-Spektreneingabe. Im Folgenden sehen Sie ein Beispiel für eine Spektraldatei, die in Form einer .json-Datei bereitgestellt wird:

    
    {
      "EsriEndmemberDefinitionFile" : 0,
      "FileVersion" : 1,
      "NumberOfEndmembers" : 3,
      "NumberOfBands" : 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 im Eingabe-Spektralprofil an, und vergewissern Sie sich, dass diese die einzelnen Klassen richtig darstellen. Wenn Sie keine Fehler finden, geben Sie als Ausgabewert-Option die Option Nicht negativ an.

  • Die Anzahl der Bänder im Eingabebild und in den Eingabespektraldaten müssen übereinstimmen, wenn die Spektraleingabe eine .ecd-Datei, eine Trainingsgebiet-Feature-Class oder eine .json-Datei ist.

  • Wenn die Eingabespektren aus einer Spectral Library-Datei (.esl oder .sli) stammen, wird Spektral-Resampling mithilfe einer Band-Durchschnittsmethode angewendet, falls die Anzahl der Bänder nicht übereinstimmt. Optional können Sie das Resampling der Spektren mit dem Werkzeug Bibliotheksspektren-Resampling durchführen.

  • Wenn die Spektraldaten aus einer Spektralbibliothek stammen, bei der die Reflexionswerte zwischen 0 und 1 liegen, wie bei der USGS-Spektralbibliothek, muss das Eingabe-Oberflächenreflexions-Raster auch Werte zwischen 0 und 1 enthalten.

  • Wenn das Eingabebild nicht im Bereich von 0–1 liegt, wie 8 Bit oder 16 Bit, sollten Sie mit dem Werkzeug Spektral-Viewer die Spektralsignatur des Materials aus den Bilddaten erfassen. Aktivieren Sie optional den Parameter Kontinuum entfernen, um die Pixelwerte und die Daten der Eingabe-Bibliotheksspektren zu normalisieren.

  • Wenn das Kontrollkästchen Kontinuum entfernen aktiviert ist, wird unter Verwendung gerader Liniensegmente, die die lokalen Maxima von Spektren verbinden, eine konvexe Hülle über ein Spektrum gelegt. Das Kontinuum wird entfernt, indem es in das tatsächliche Spektrum für jedes Pixel im Bild und die Eingabespektren aufgeteilt wird. Dies ermöglicht einen Vergleich der Absorption-Features anhand einer Basislinie.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Raster

Das Raster-Dataset der Eingabe-Oberflächenreflektion.

Raster Dataset; Mosaic Dataset; Mosaic Layer; Raster Layer; File; Image Service
Spektren-Datei oder Trainings-Features

Spektralinformationen der verschiedenen Landbedeckungsklassen.

Für die Datei gibt es folgende Optionen:

  • Esri Spectral Library-Datei (.esl), die im Bereich Spektralbibliothek durchsuchen oder im Werkzeug Spektral-Viewer erstellt wird
  • ENVI Spectral Library-Datei (.sli)
  • Polygon-Feature-Class, die über den Bereich Trainingsgebiet-Manager erstellt wird
  • Esri Classifier Definition-Datei (.ecd), die mit dem Werkzeug Maximum-Likelihood-Klassifikator trainieren erstellt wurde
  • .json-Datei, die Spektraldaten enthält

File; Feature Layer; String
Ausgabewert-Option
(optional)

Gibt an, wie die Ausgabepixelwerte definiert werden.

  • Summenwert 1Die 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.
  • Nicht negativEs gibt keine negativen Ausgabewerte.
String
Kontinuum entfernen
(optional)

Gibt an, ob die Spektren anhand eines Bildes oder von Referenzdaten normalisiert werden

  • Aktiviert: Die Spektren werden anhand eines Bildes oder von Referenzdaten normalisiert.
  • Deaktiviert: Die Spektren werden nicht anhand eines Bildes oder von Referenzdaten normalisiert. Dies ist die Standardeinstellung.

Gibt an, ob die Spektren anhand eines Bildes oder von Referenzdaten normalisiert werden

  • REMOVE_CONTINUUMDie Spektren werden anhand eines Bildes oder von Referenzdaten normalisiert.
  • NO_REMOVE_CONTINUUMDie Spektren werden nicht anhand eines Bildes oder von Referenzdaten normalisiert. Dies ist die Standardeinstellung.
Boolean

Rückgabewert

BeschriftungErläuterungDatentyp
Ausgabe-Raster

Das Ausgabe-Multiband-Raster-Dataset.

Raster

LinearSpectralUnmixing(in_raster, in_spectral_profile_file, {value_option}, {remove_continuum})
NameErläuterungDatentyp
in_raster

Das Raster-Dataset der Eingabe-Oberflächenreflektion.

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

Spektralinformationen der verschiedenen Landbedeckungsklassen.

Für die Datei gibt es folgende Optionen:

  • Esri Spectral Library-Datei (.esl), die im Bereich Spektralbibliothek durchsuchen oder im Werkzeug Spektral-Viewer erstellt wird
  • ENVI Spectral Library-Datei (.sli)
  • Polygon-Feature-Class, die über den Bereich Trainingsgebiet-Manager erstellt wird
  • Esri Classifier Definition-Datei (.ecd), die mit dem Werkzeug Maximum-Likelihood-Klassifikator trainieren erstellt wurde
  • .json-Datei, die Spektraldaten enthält

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
remove_continuum
(optional)

Gibt an, ob die Spektren anhand eines Bildes oder von Referenzdaten normalisiert werden

  • Aktiviert: Die Spektren werden anhand eines Bildes oder von Referenzdaten normalisiert.
  • Deaktiviert: Die Spektren werden nicht anhand eines Bildes oder von Referenzdaten normalisiert. Dies ist die Standardeinstellung.

Gibt an, ob die Spektren anhand eines Bildes oder von Referenzdaten normalisiert werden

  • REMOVE_CONTINUUMDie Spektren werden anhand eines Bildes oder von Referenzdaten normalisiert.
  • NO_REMOVE_CONTINUUMDie Spektren werden nicht anhand eines Bildes oder von Referenzdaten normalisiert. Dies ist die Standardeinstellung.
Boolean

Rückgabewert

NameErläuterungDatentyp
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