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
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.
Wenn die Eingabe ein Layer ist, der aus einem Multiband-Raster mit mehr als drei Bändern erstellt wurde, berücksichtigt der Vorgang alle mit dem Quellen-Dataset verknüpften Bänder und nicht nur die drei vom Layer geladenen (symbolisierten) Bänder.
Sie haben verschiedene Möglichkeiten, eine Teilmenge von Bändern eines Multiband-Rasters als Eingabe für das Werkzeug festzulegen.
- Wechseln Sie bei Verwendung des Werkzeugdialogfelds in das Multiband-Raster mithilfe der Schaltfläche "Durchsuchen" neben dem Eintrag Eingabe-Raster-Bänder verwenden. Öffnen Sie das Raster, und wählen Sie die gewünschten Bänder aus.
- Wenn es sich bei dem Multiband-Raster um einen Layer im Inhaltsverzeichnis handelt, können Sie mit dem Werkzeug Raster-Layer erstellen einen neuen Multiband-Layer erstellen, der nur die gewünschten Bänder enthält.
- Sie können auch mithilfe der Option Bänder zusammensetzen ein neues Dataset erstellen, das nur die gewünschten Bänder enthält, und dieses als Eingabe für das Werkzeug verwenden.
- In Python können die gewünschten Bänder direkt als Liste im Werkzeugparameter festgelegt werden.
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 Zeichenketten handelt (z. B. Nadelbäume, Wasser und städtischer Bereich), 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 | Erläuterung | 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) | Der Anteil der Zellen, die aufgrund der niedrigsten Wahrscheinlichkeit richtiger Zuweisungen nicht klassifiziert werden. Der Standardwert beträgt 0.0, daher wird jede Zelle 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) | Dataset für das Ausgabe-Konfidenz-Raster, das die Sicherheit der Klassifizierung in 14 Konfidenzniveaus anzeigt, wobei die niedrigsten Werte die höchste Zuverlässigkeit darstellen. Es hat den Typ "Ganzzahl". | Raster Dataset |
Rückgabewert
Name | Erläuterung | Datentyp |
out_classified_raster | Das klassifizierte Ausgabe-Raster. Es hat den Typ "Ganzzahl". | 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")
Umgebung
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert Spatial Analyst
- ArcGIS for Desktop Standard: Erfordert Spatial Analyst
- ArcGIS for Desktop Advanced: Erfordert Spatial Analyst