Iso-Cluster (Spatial Analyst)
Zusammenfassung
Verwendet einen Isodaten-Cluster-Algorithmus, um die Eigenschaften der natürlichen Gruppierungen der Zellen im mehrdimensionalen Attributraum zu bestimmen, und speichert die Ergebnisse in einer Ausgabe-ASCII-Signaturdatei.
Verwendung
-
Iso-Cluster führt eine Cluster-Bildung der multivariaten Daten durch, die in einer Liste von Eingabebändern kombiniert wurden. Die resultierende Signaturdatei kann als Eingabe für ein anderes Klassifizierungswerkzeug, z. B. Maximum-Likelihood-Klassifizierung verwendet werden, das ein Raster für unüberwachte Klassifizierungen erzeugt.
-
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.
-
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 |
in_raster_bands [in_raster_band,...] |
Die Eingabe-Raster-Bänder. | Raster Layer |
out_signature_file |
Die Ausgabe-Signaturdatei. Die Erweiterung .gsg muss angegeben werden. | File |
number_classes |
Anzahl von Klassen, in die die Zellen gruppiert werden sollen. | Long |
number_iterations (optional) | Anzahl von Iterationen für die Ausführung der Cluster-Bildung. Die Standardeinstellung ist 20. | Long |
min_class_size (optional) | Minimale Anzahl von Zellen in einer gültigen Klasse. Die Standardeinstellung ist 20. | Long |
sample_interval (optional) |
Das Intervall, das für Stichproben verwendet werden soll. Die Standardeinstellung ist 10. | Long |
Codebeispiel
In diesem Beispiel wird eine Signaturdatei zum Klassifizieren des Eingabe-Multiband-Rasters in fünf Klassen erstellt.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" IsoCluster("redlands", "c:/sapyexamples/output/isosig.gsg", 5, 20, 50, 15)
In diesem Beispiel wird eine Signaturdatei zum Klassifizieren des Eingabe-Multiband-Rasters in fünf Klassen erstellt.
# Name: IsoCluster_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" outSig = "redlndiso.gsg" classes = 5 cycles = 20 minMembers = 50 sampInterval = 15 # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute IsoCluster IsoCluster(inRaster, outSig, classes, cycles, minMembers, sampInterval)