Beschriftung | Erläuterung | Datentyp |
Eingabe-Raster | Das Raster-Dataset, das klassifiziert werden soll. Das Einzelband-Raster oder segmentierte Raster, Multiband-Raster oder multidimensionale Raster, das klassifiziert werden soll. | Mosaic Layer; Raster Layer; Image Service; String |
Eingabe-Trainingsgebietdatei | Die Trainingsgebietdatei bzw. der Trainingsgebiet-Layer, der die Training-Sites abgrenzt. Die Trainingsgebiete können entweder in Shapefiles oder in Feature-Classes enthalten sein. In der Trainingsgebietsdatei werden die folgenden Feldnamen benötigt:
| Feature Layer |
Eingabe-Klassifikatordefinitions-Datei | Eine JSON-formatierte .ecd-Datei, die Attributinformationen, Statistiken oder weitere Daten für den Klassifikator enthält. | File |
Zusätzliches Eingabe-Raster (optional) | Zusatz-Raster-Datasets, wie ein Multispektralbild oder ein DEM, werden integriert, um Attribute und weitere erforderliche Informationen für die Klassifizierung zu generieren. Dieser Parameter ist optional. | Raster Layer; Mosaic Layer; Image Service; String |
Nächste Nachbarn (K) (optional) | Die Anzahl der Nachbarn, die bei der Suche nach den einzelnen Eingabepixeln oder Segmenten verwendet werden. Je höher die Anzahl der Nachbarn, desto geringer ist der Einfluss eines einzelnen Nachbars auf das Ergebnis der Klassifizierung. Der Standardwert ist 1. | Long |
Maximale Anzahl von Stichproben pro Klasse (optional) | Die maximale Anzahl von Trainingsgebieten, die zum Definieren der jeweiligen Klasse verwendet werden sollen. Empfehlenswert ist ein Standardwert von 1000, wenn es sich bei den Eingaben um unsegmentierte Raster handelt. Ein Wert kleiner oder gleich 0 bedeutet, dass zum Trainieren des Klassifikators alle in den Training-Sites enthaltenen Stichproben verwendet werden. | Long |
Segmentattribute (optional) | Gibt die Attribute an, die in die dem Ausgabe-Raster zugeordnete Attributtabelle aufgenommen werden. Dieser Parameter ist nur aktiv, 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 Konvergierender Farbwert, Pixelanzahl, Kompaktheit und Rechteckigkeit. Wenn ein Wert für Zusätzliches Eingabe-Raster als Eingabe mit einem segmentierten Bild einbezogen wird, sind die Attribute Digitaler Mittelwert und Standardabweichung ebenfalls verfügbar.
| String |
Dimensionswertefeld (optional) | Enthält Dimensionswerte in der Eingabe-Trainingsgebiet-Feature-Class. Dieser Parameter ist erforderlich, um mit dem Veränderungsanalyse-Raster, das vom Werkzeug Veränderungen mit CCDC analysieren in der Toolbox Image Analyst ausgegeben wird, eine Zeitserie von Raster-Daten zu klassifizieren. | Field |
Mit der Image Analyst-Lizenz verfügbar.
Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Generiert unter Verwendung der Klassifizierungsmethode "K-Nächster-Nachbar (KNN)" eine Esri Klassifikator-Definitionsdatei (.ecd).
Der Klassifikator "Nächste Nachbarn (K)" ist eine nichtparametrische Klassifizierungsmethode, mit der ein Pixel oder Segment nach der relativen Mehrheit der umliegenden Nachbarn klassifiziert wird. K ist die definierte Anzahl der Nachbarn bei der Abstimmung.
Verwendung
Das Werkzeug weist den jeweiligen Klassen Trainingsgebiete zu. Die Klasse des Eingabepixels wird durch die relative Mehrheit der nächsten Nachbarn (K) bestimmt.
Als Eingabe werden beliebige von Esri unterstützte Raster akzeptiert, darunter Raster-Produkte, segmentierte Raster, Mosaike, Image-Services und generische Raster-Datasets. Die segmentierten Raster müssen 8-Bit-Raster mit 3 Bändern sein.
Die Ausgabe dieses Werkzeugs ist eine .ecd-Datei, die zum Klassifizieren neuer Raster im Werkzeug Raster klassifizieren verwendet wird. Mit dem Werkzeug Raster klassifizieren wird daraufhin die Entfernung von den einzelnen Eingabepixeln oder Segmenten zu allen Trainingsgebieten berechnet.
Die Trainingsgebietsdaten müssen zu mehreren Zeitpunkten mit dem Trainingsgebiet-Manager erfasst werden. Der Dimensionswert für jede Stichprobe wird in einem Feld in der Trainingsgebiet-Feature-Class aufgelistet, das im Parameter Dimensionswertefeld angegeben wird.
Verwenden Sie zum Erstellen der Trainingsgebietdatei den Bereich Trainingsgebiet-Manager im Dropdown-Menü Klassifizierungswerkzeuge.
Indexbild und damit verbundene Segmentattribute von segmentierten Rastern (Schlüssel ist auf Segmentiert festgelegt) berechnet das Werkzeug aus dem RGD-segmentierten Raster. Die Berechnung der Attribute erfolgt zwecks Generierung der Klassifikatordefinitionsdatei, die in einem separaten Klassifizierungswerkzeug verwendet werden kann. Die Attribute des jeweiligen Segments lassen sich aus einem beliebigen von Esri unterstützten Bild berechnen.
Der Parameter Segmentattribute ist nur aktiv, wenn eine der Raster-Layer-Eingaben ein segmentiertes Bild ist.
Parameter
TrainKNearestNeighborClassifier(in_raster, in_training_features, out_classifier_definition, {in_additional_raster}, {kNN}, {max_samples_per_class}, {used_attributes}, {dimension_value_field})
Name | Erläuterung | Datentyp |
in_raster | Das Raster-Dataset, das klassifiziert werden soll. Das Einzelband-Raster oder segmentierte Raster, Multiband-Raster oder multidimensionale Raster, das klassifiziert werden soll. | Mosaic Layer; Raster Layer; Image Service; String |
in_training_features | Die Trainingsgebietdatei bzw. der Trainingsgebiet-Layer, der die Training-Sites abgrenzt. Die Trainingsgebiete können entweder in Shapefiles oder in Feature-Classes enthalten sein. In der Trainingsgebietsdatei werden die folgenden Feldnamen benötigt:
| Feature Layer |
out_classifier_definition | Eine JSON-formatierte .ecd-Datei, die Attributinformationen, Statistiken oder weitere Daten für den Klassifikator enthält. | File |
in_additional_raster (optional) | Zusatz-Raster-Datasets, wie ein Multispektralbild oder ein DEM, werden integriert, um Attribute und weitere erforderliche Informationen für die Klassifizierung zu generieren. Dieser Parameter ist optional. | Raster Layer; Mosaic Layer; Image Service; String |
kNN (optional) | Die Anzahl der Nachbarn, die bei der Suche nach den einzelnen Eingabepixeln oder Segmenten verwendet werden. Je höher die Anzahl der Nachbarn, desto geringer ist der Einfluss eines einzelnen Nachbars auf das Ergebnis der Klassifizierung. Der Standardwert ist 1. | Long |
max_samples_per_class (optional) | Die maximale Anzahl von Trainingsgebieten, die zum Definieren der jeweiligen Klasse verwendet werden sollen. Empfehlenswert ist ein Standardwert von 1000, wenn es sich bei den Eingaben um unsegmentierte Raster handelt. Ein Wert kleiner oder gleich 0 bedeutet, dass zum Trainieren des Klassifikators alle in den Training-Sites enthaltenen Stichproben verwendet werden. | Long |
used_attributes [used_attributes;used_attributes,...] (optional) | Gibt die Attribute an, die in die dem Ausgabe-Raster zugeordnete Attributtabelle aufgenommen werden.
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-Wert als Eingabe mit einem segmentierten Bild einbezogen wird, sind die Attribute MEAN und STD ebenfalls verfügbar. | String |
dimension_value_field (optional) | Enthält Dimensionswerte in der Eingabe-Trainingsgebiet-Feature-Class. Dieser Parameter ist erforderlich, um mit dem Veränderungsanalyse-Raster, das vom Werkzeug Veränderungen mit CCDC analysieren in der Toolbox Image Analyst ausgegeben wird, eine Zeitserie von Raster-Daten zu klassifizieren. | Field |
Codebeispiel
Dies ist ein Python-Beispiel für die Funktion TrainKNearestNeighborClassifier.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute
arcpy.sa.TrainKNearestNeighborClassifier("landsat.tif", "training_sample.shp", r"c:\data\trained_knn.ecd", 5, "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY")
Dies ist ein Python-Skriptbeispiel für die Funktion TrainKNearestNeighborClassifier.
# Import system modules
import arcpy
from arcpy.sa import *
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Define input parameters
in_raster = r"C:/Data/landsat.tif"
in_training_features = r"C:/Data/training_sample.shp"
out_classifier_definition = r"C:/Data/trained_knn.ecd"
number_of_neighbors = 5
attributes = "COLOR;MEAN;STD;COUNT;COMPACTNESS;RECTANGULARITY"
# Execute - train K-Nearest Neighbor Classifier
arcpy.sa.TrainKNearestNeighborClassifier(in_raster, in_training_features,
out_classifier_definition,
number_of_neighbors, attributes)
Umgebungen
Lizenzinformationen
- Basic: Erfordert Spatial Analyst oder Image Analyst
- Standard: Erfordert Spatial Analyst oder Image Analyst
- Advanced: Erfordert Spatial Analyst oder Image Analyst