Unüberwachte Iso-Cluster-Klassifizierung (Spatial Analyst)
Zusammenfassung
Führt mit den Werkzeugen Iso-Cluster und Maximum-Likelihood-Klassifizierung eine unüberwachte Klassifizierung für eine Reihe von Eingabe-Raster-Bändern aus.
Weitere Informationen zur Funktionsweise des Werkzeugs "Interaktive, überwachte Klassifizierung"
Verwendung
-
Dieses Werkzeug kombiniert die Funktionen der Werkzeuge Iso-Cluster und Maximum-Likelihood-Klassifizierung. Es wird ein klassifiziertes Raster ausgegeben. Optional wird auch eine Signaturdatei ausgegeben.
-
Die aus diesem Werkzeug resultierende Signaturdatei kann als Eingabe für ein anderes Klassifizierungswerkzeug, z. B. Maximum-Likelihood-Klassifizierung verwendet werden, um größere Kontrolle über die Klassifizierungsparameter zu erhalten.
-
Der zulässige Mindestwert für die Anzahl der Klassen ist 2. Es gibt keine maximale Anzahl von Clustern. Im Allgemeinen gilt, je mehr Cluster vorhanden sind, umso mehr Iterationen sind erforderlich.
-
Um genügend statistische Daten zum Generieren einer Signaturdatei für die zukünftige Klassifizierung bereitzustellen, muss jedes Cluster eine ausreichende Anzahl von Zellen für eine genaue Darstellung des Clusters enthalten. Der für die minimale Klassengröße eingegebene Wert sollte ungefähr 10-mal größer als die Anzahl der Layer in den Eingabe-Raster-Bändern sein.
-
Der für das Stichprobenintervall eingegebene Wert gibt an, dass eine Zelle aus jedem n-mal-n-Zellenblock in den Cluster-Berechnungen verwendet wird.
-
Sie dürfen keine Klassen zusammenführen bzw. entfernen oder die Statistiken der ASCII-Signaturdatei ändern.
-
Je mehr Zellen in der Ausdehnung des Schnittpunktes der Eingabebänder enthalten sind, umso größer sollten die Werte sein, die Sie für die minimale Klassengröße und das Stichprobenintervall angeben. Die für das Stichprobenintervall eingegebenen Werte sollte aber gleichzeitig klein genug sein, dass die kleinsten erwünschten Kategorien in den Eingabedaten angemessen referenziert werden.
-
Die Werte für die Klassen-ID in der Ausgabe-Signaturdatei beginnen bei 1 und steigen sequenziell bis auf die Anzahl der Eingabeklassen an. Die Zuweisung der Klassennummern erfolgt willkürlich.
-
Die Ausgabe-Signaturdatei muss die Erweiterung .gsg aufweisen.
Bessere Ergebnisse werden erzielt, wenn alle Eingabebänder die gleichen Datenbereiche aufweisen. Wenn die Bänder höchst unterschiedliche Datenbereiche aufweisen, können die Datenbereiche mit Map Algebra auf denselben Bereich transformiert werden, damit die Gleichung ausgeführt werden kann.
where: Z is the output raster with new data ranges. X is the input raster. oldmin is the minimum value of the input raster. oldmax is the maximum value of the input raster. newmin is the desired minimum value for the output raster. newmax is the desired maximum value for the output raster.
-
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 Werkzeugdialogfeldes in das Multiband-Raster, indem Sie die 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.
Syntax
Parameter | Erläuterung | Datentyp |
Input_raster_bands [in_raster_band,...] |
Die Eingabe-Raster-Bänder. | Raster Layer |
Number_of_classes number_of_classes |
Anzahl von Klassen, in die die Zellen gruppiert werden sollen. | Long |
Minimum_class_size minimum_class_size (optional) | Minimale Anzahl von Zellen in einer gültigen Klasse. Die Standardeinstellung ist 20. | Long |
Sample_interval sample_interval (optional) |
Das Intervall, das für Stichproben verwendet werden soll. Die Standardeinstellung ist 10. | Long |
Output_signature_file out_signature_file (optional) |
Die Ausgabe-Signaturdatei. Die Erweiterung .gsg muss angegeben werden. | File |
Rückgabewert
Name | Erläuterung | Datentyp |
Output_classified_raster |
Das klassifizierte Ausgabe-Raster. | Raster |
Codebeispiel
In diesem Beispiel wird eine unüberwachte Klassifizierung durchgeführt, bei der die Eingabebänder in 5 Klassen untergliedert werden und ein klassifiziertes Raster ausgegeben wird.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outUnsupervised = IsoClusterUnsupervisedClassification("redlands", 5, 20, 50) outUnsupervised.save("c:/temp/unsup01")
In diesem Beispiel wird eine unüberwachte Klassifizierung durchgeführt, bei der die Eingabebänder in 5 Klassen untergliedert werden und ein klassifiziertes Raster ausgegeben wird.
# Name: IsoClusterUnsupervisedClassification_Ex_02.py # Description: Uses an isodata clustering algorithm to determine the # characteristics of the natural groupings of cells in multidimensional # attribute space and stores the results in an output ASCII signature file. # 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" classes = 5 minMembers = 50 sampInterval = 15 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute IsoCluster outUnsupervised = IsoClusterUnsupervisedClassification(inRaster, classes, minMembers, sampInterval) outUnsupervised.save("c:/temp/outunsup01.tif")