Zusammenfassung
Erzeugen einer Esri Classifier Definition (.ecd)-Datei anhand der ISO-Cluster-Klassifizierung.
Dieses Werkzeug führt eine nicht überwachte Klassifizierung durch.
Verwendung
Als Eingabe werden beliebige, von Esri unterstützte Raster akzeptiert, darunter Raster-Produkte, segmentierte Raster, Mosaike, Image-Services oder generische Raster-Datasets. Die segmentierten Raster müssen 8-Bit-Raster mit 3 Bändern sein.
Der Parameter Segmentattribute ist nur dann aktiviert, wenn eine der Raster-Layer-Eingaben ein segmentiertes Bild ist.
Syntax
TrainIsoClusterClassifier (in_raster, max_classes, out_classifier_definition, {in_additional_raster}, {max_iterations}, {min_samples_per_cluster}, {skip_factor}, {used_attributes}, {max_merge_per_iter}, {max_merge_distance})
Parameter | Erläuterung | Datentyp |
in_raster | Wählen Sie das Raster-Dataset aus, das klassifiziert werden soll. | Raster Layer; Mosaic Layer; Image Service; String |
max_classes | Maximale Anzahl gewünschter Klassen für die Gruppierung von Pixeln oder Segmenten. Dieser Wert sollte größer sein als die Anzahl der Klassen in Ihrer Legende. Sie erhalten möglicherweise weniger Klassen als Sie für diesen Parameter angegeben haben. Falls Sie mehr benötigen, erhöhen Sie diesen Wert, und aggregieren Sie Klassen, nachdem Sie den Trainingsvorgang abgeschlossen haben. | Long |
out_classifier_definition | Dies ist eine JSON-Datei, die Attributinformationen, Statistiken, Hyperebenenvektoren und weitere für den Klassifikator erforderliche Daten enthält. Es wird eine Datei mit der Erweiterung .ecd erstellt. | File |
in_additional_raster (optional) | Integrieren Sie optional Zusatz-Raster-Datasets, wie ein Multispektralbild oder ein DEM, um Attribute und weitere erforderliche Informationen für die Klassifizierung zu erzeugen. | Raster Layer; Mosaic Layer; Image Service; String |
max_iterations (optional) | Die maximale Anzahl von Iterationen für die Ausführung der Cluster-Bildung Der empfohlene Wertebereich ist 10 bis 20 Iterationen. Wenn dieser Wert erhöht wird, steigt die Verarbeitungszeit linear an. | Long |
min_samples_per_cluster (optional) | Die minimale Anzahl von Pixeln oder Segmenten in einem gültigen Cluster bzw. einer gültigen Klasse Der Standardwert 20 hat sich bei der Erstellung statistisch signifikanter Klassen als effektiv herausgestellt. Sie können diese Anzahl erhöhen, um robustere Klassen zu erzielen. Hierdurch kann jedoch die Gesamtzahl der erstellten Klassen begrenzt werden. | Long |
skip_factor (optional) | Anzahl der zu überspringenden Pixel für die Eingabe eines Pixelbilds Wenn das segmentierte Bild eine Eingabe ist, geben Sie die Anzahl der zu überspringenden Segmente an. | Long |
used_attributes [used_attributes;used_attributes,...] (optional) | Geben Sie die Attribute an, die in die dem Ausgabe-Raster zugeordnete Attributtabelle aufgenommen werden sollen.
Dieser Parameter ist nur aktiviert, wenn die Schlüsseleigenschaft Segmentiert auf das Eingabe-Raster festgelegt ist. Wenn die einzige Eingabe für das Werkzeug ein segmentiertes Bild ist, lauten die Standardattribute COLOR, COUNT, COMPACTNESS und RECTANGULARITY. Wenn ein in_additional_raster ebenfalls als Eingabe mit einem segmentierten Bild einbezogen wird, sind die Optionen MEAN und STD verfügbar. | String |
max_merge_per_iter (optional) | Durch Erhöhen der Anzahl der Zusammenführungen wird die Anzahl der erstellten Klassen reduziert. Ein niedrigerer Wert führt zu mehr Klassen. | Long |
max_merge_distance (optional) | Durch Erhöhen der Entfernung können mehr Cluster zusammengeführt werden, sodass die Anzahl der Klassen reduziert wird. Ein niedrigerer Wert führt zu mehr Klassen. Dies ist die Entfernung zwischen den Cluster-Mittelpunkten in einem Feature-Raum. Obwohl Sie hierfür einen beliebigen Wert festlegen können, liefern Werte von 0 bis 5 die besten Ergebnisse. | Double |
Codebeispiel
TrainIsoClusterClassifier – Beispiel 1 (Python-Fenster)
Das folgende Skript für ein Python-Fenster nutzt den ISO-Cluster-Klassifikator für die Erstellung einer unüberwachten Esri Classification Definition-Datei mit bis zu zehn Klassen.
import arcpy
from arcpy.sa import *
TrainIsoClusterClassifier("c:/test/moncton_seg.tif", "10",
"c:/output/moncton_sig_iso.ecd","c:/test/moncton.tif",
"5", "10", "2", "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
TrainIsoClusterClassifier – Beispiel 2 (eigenständiges Skript)
Dieses Beispielskript nutzt den ISO-Cluster-Klassifikator für die Erstellung einer unüberwachten Esri Classification Definition-Datei mit bis zu zehn Klassen.
# Import system modules
import arcpy
from arcpy.sa import *
# Set local variables
inSegRaster = "c:/test/moncton_seg.tif"
maxNumClasses = "10"
out_definition = "c:/output/moncton_sig_iso.ecd"
in_additional_raster = "moncton.tif"
maxIteration = "20"
minNumSamples = "10"
skipFactor = "5"
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
TrainIsoClusterClassifier(inSegRaster, maxNumClasses, out_definition,
in_additional_raster, maxIteration,
minNumSamples, skipFactor, attributes)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst