Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Führt eine Maximum-Likelihood-Klassifizierung für eine Menge von Raster-Bändern aus und erstellt ein klassifiziertes Raster als Ausgabe.
Weitere Informationen über die Funktionsweise von "Maximum-Likelihood-Klassifizierung"
Verwendung
Wenn ein Multiband-Raster als eines der Eingabe-Raster-Bänder (in_raster_bands in Python) angegeben wird, werden alle Bänder verwendet.
Wenn eine Auswahl von Bändern aus einem Multiband-Raster verarbeitet werden soll, können Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein neues Raster-Dataset erstellen, das aus den betreffenden Bändern besteht, und das Ergebnis in der Liste der Eingabe-Raster-Bänder (in_raster_bands in Python) verwenden.
Alle mit den Werkzeugen Signaturen erstellen, Signaturen bearbeiten oder Iso-Cluster erstellten Signaturdateien sind gültige Eingaben für die Eingabe-Signaturdatei. Diese haben die Erweiterung .gsg.
Standardmäßig werden alle Zellen im Ausgabe-Raster klassifiziert. Dabei wird bei jeder Klasse die gleiche Wahrscheinlichkeitsgewichtung an die Signatur angehängt.
Die Eingabe-A-Priori-Wahrscheinlichkeitsdatei muss eine ASCII-Datei sein, die aus zwei Spalten besteht. Die Werte in der linken Spalte stellen Klassen-IDs dar. Die Werte in der rechten Spalte stellen die A-Priori-Wahrscheinlichkeiten für die jeweiligen Klassen dar. Gültige Werte für Klassen-A-Priori-Wahrscheinlichkeiten müssen größer oder gleich 0 sein. Wenn eine Wahrscheinlichkeit von 0 angegeben wird, wird die Klasse auf dem Ausgabe-Raster nicht angezeigt. Die Summe der angegebenen A-Priori-Wahrscheinlichkeiten muss kleiner oder gleich 1 sein. Das Format der Datei lautet wie folgt:
1 .3 2 .1 4 .0 5 .15 7 .05 8 .2
Die in der Datei weggelassenen Klassen erhalten die durchschnittliche A-Priori-Wahrscheinlichkeit des verbleibenden Teiles des Wertes 1. Im obigen Beispiel werden alle Klassen von 1 bis 8 in der Signaturdatei dargestellt. Die A-Priori-Wahrscheinlichkeiten der Klassen 3 und 6 fehlen in der Eingabe-A-Priori-Wahrscheinlichkeitsdatei. Da die Summe aller Wahrscheinlichkeiten, die in der oben erwähnten Datei angegeben wurden, gleich 0,8 ist, wird der verbleibende Teil der Wahrscheinlichkeit (0,2) durch die Anzahl der nicht angegebenen Klassen (2) dividiert. Daher wird den Klassen 3 und 6 jeweils eine Wahrscheinlichkeit von 0,1 zugewiesen.
Eine angegebene Ausschlussfraktion, die zwischen zwei beliebigen gültigen Werten liegt, wird dem nächsthöheren gültigen Wert zugewiesen. Beispielsweise wird 0,02 zu 0,025.
Es gibt eine direkte Beziehung zwischen der Anzahl der nicht klassifizierten Zellen im Ausgabe-Raster, die sich aus der Ausschlussfraktion ergibt, und der Anzahl der Zellen, die durch die Summe der Konfidenzniveaus dargestellt werden, die kleiner sind als der betreffende für die Ausschlussfraktion eingegebene Wert.
Ist der Klassenname in der Signaturdatei nicht mit der Klassen-ID identisch, wird der Attributtabelle des Ausgabe-Rasters ein zusätzliches Feld mit der Bezeichnung CLASSNAME hinzugefügt. Dieses Feld enthält für jede Klasse in der Ausgabetabelle den mit der Klasse verknüpften Klassennamen. Wenn es sich beispielsweise bei den Namen der Klassen in der Signaturdatei um beschreibende Zeichenfolgen handelt (z. B. Nadelbäume, Wasser und Urbanbereich), werden diese Namen in das Feld CLASSNAME übertragen.
Die Erweiterung für eine Eingabe-A-Priori-Wahrscheinlichkeitsdatei lautet .txt.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
MLClassify(in_raster_bands, in_signature_file, {reject_fraction}, {a_priori_probabilities}, {in_a_priori_file}, {out_confidence_raster})
Parameter | Erklärung | Datentyp |
in_raster_bands [in_raster_band,...] | Die Eingabe-Raster-Bänder. Während die Bänder vom Typ "Ganzzahl" oder "Gleitkomma" sein können, lässt die Signaturdatei nur ganzzahlige Klassenwerte zu. | Raster Layer |
in_signature_file | Die Eingabe-Signaturdatei, deren Klassensignaturen vom Maximum-Likelihood-Klassifikator verwendet werden. Die Erweiterung .gsg ist erforderlich. | File |
reject_fraction (optional) | Anhand dieses Wertes wird bestimmt, ob eine Zelle basierend auf der Wahrscheinlichkeit klassifiziert wird, mit der sie einer der Klassen ordnungsgemäß zugewiesen wird. Zellen, deren Wahrscheinlichkeit, einer der Klassen richtig zugewiesen zu werden, niedriger als die Ausschlussfraktion ist, erhalten den Wert "NoData" im resultierenden klassifizierten Raster. Zellen, deren Wahrscheinlichkeit, einer der Klassen richtig zugewiesen zu werden, niedriger als die Ausschlussfraktion ist, erhalten den Wert "NoData" im klassifizierten Ausgabe-Raster. Der Standardwert ist 0.0, d. h. jede Zelle wird klassifiziert. Gültige Einträge sind
| String |
a_priori_probabilities (optional) | Gibt an, wie A-Priori-Wahrscheinlichkeiten bestimmt werden.
| String |
in_a_priori_file (optional) | Eine Textdatei, die A-Priori-Wahrscheinlichkeiten für die Eingabe-Signaturklassen enthält. Eine Eingabe für die A-Priori-Wahrscheinlichkeitsdatei ist nur bei Verwendung der Option FILE erforderlich. Die Erweiterung für die A-Priori-Datei kann .txt oder .asc lauten. | File |
out_confidence_raster (optional) | Das Dataset für das Ausgabe-Konfidenz-Raster zeigt die Sicherheit der Klassifizierung in 14 Konfidenzniveaus an, wobei die niedrigsten Werte die höchste Zuverlässigkeit darstellen. Wenn keine Zellen auf einem bestimmten Konfidenzniveau klassifiziert sind, ist dieses Konfidenzniveau nicht im Ausgabe-Konfidenz-Raster vorhanden. Es hat den Typ "Integer". | Raster Dataset |
Rückgabewert
Name | Erklärung | Datentyp |
out_classified_raster | Das klassifizierte Ausgabe-Raster. Es hat den Typ "Integer". | Raster |
Codebeispiel
MaximimumLikelihoodClassification – Beispiel 1 (Python-Fenster)
In diesem Beispiel wird ein klassifiziertes Ausgabe-Raster mit fünf Klassen erstellt, die aus einer Eingabe-Signaturdatei und einem Multiband-Raster abgeleitet wurden.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
mlcOut = MLClassify("redlands", "c:/sapyexamples/data/wedit5.gsg", "0.0",
"EQUAL", "", "c:/sapyexamples/output/redmlcconf")
mlcOut.save("c:/sapyexamples/output/redmlc")
MaximimumLikelihoodClassification – Beispiel 2 (eigenständiges Skript)
In diesem Beispiel wird ein klassifiziertes Ausgabe-Raster mit fünf Klassen erstellt, die aus einer Eingabe-Signaturdatei und einem Multiband-Raster abgeleitet wurden.
# Name: MLClassify_Ex_02.py
# Description: Performs a maximum likelihood classification on a set of
# raster bands.
# Requirements: Spatial Analyst Extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "redlands"
sigFile = "c:/sapyexamples/data/wedit5.gsg"
probThreshold = "0.0"
aPrioriWeight = "EQUAL"
aPrioriFile = ""
outConfidence = "c:/sapyexamples/output/redconfmlc"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
mlcOut = MLClassify(inRaster, sigFile, probThreshold, aPrioriWeight,
aPrioriFile, outConfidence)
# Save the output
mlcOut.save("c:/sapyexamples/output/redmlc02")
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst
- Standard: Erfordert Spatial Analyst
- Advanced: Erfordert Spatial Analyst