Mit der Spatial Analyst-Lizenz verfügbar.
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 erstellt.
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.
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.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
IsoCluster (in_raster_bands, out_signature_file, number_classes, {number_iterations}, {min_class_size}, {sample_interval})
Parameter | Erläuterung | Datentyp |
in_raster_bands [in_raster_band,...] | Die Eingabe-Raster-Bänder. Die Raster können den Typ "Integer" oder "Gleitkomma" haben. | 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
IsoCluster –Beispiel 1 (Python-Fenster)
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)
IsoCluster – Beispiel 2 (eigenständiges Skript)
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)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst