Reclassify (Spatial Analyst)
Zusammenfassung
Klassifiziert die Werte in einem Raster neu (bzw. ändert sie).
Verwendung
-
Für das Eingabe-Raster müssen gültige Statistiken vorhanden sein. Falls keine Statistiken vorhanden sind, können diese mit dem Werkzeug Statistik berechnen in der Toolbox mit den Datenmanagementwerkzeugen erstellt werden.
-
Wenn das Werkzeugdialogfeld verwendet wird, kann die Remap-Tabelle über die Schaltfläche Speichern für zukünftige Verwendungszwecke gespeichert werden. Über die Schaltfläche Laden können Sie die Remap-Tabellen öffnen, die Sie zuvor mithilfe der Schaltfläche Speichern erstellt haben.
-
Es wird empfohlen, nur Tabellen zu laden, die zuvor mit dem Werkzeug Reclassify gespeichert wurden. Für das Tabellenformat gelten bestimmte Regeln, und die Tabelle muss die Felder FROM, TO, OUT und MAPPING enthalten.
-
Das Eingabe-Raster wird standardmäßig in neun Klassen für die Reklassifizierungstabelle unterteilt.
-
Wenn das Eingabe-Raster ein Layer ist, werden die alten Werte der Reklassifizierung aus dem Renderer abgerufen. Handelt es sich um einen Renderer des Typs "Gestreckt", wird die Reklassifizierung standardmäßig auf 255 Klassen festgelegt.
-
Nachdem die Remap-Tabelle der Reklassifizierung geändert wurde, werden die Werte nicht aktualisiert, wenn ein neues Eingabe-Raster ausgewählt wird. Wenn die Reklassifizierung für das neue Raster nicht geeignet ist, kann eine Standardreklassifizierung mit einem der folgenden Schritte neu initialisiert werden:
- Bearbeiten oder Auswählen eines neuen Wertes für das Reklassifizierungsfeld
- Neustarten des Werkzeugs
-
Dieses Werkzeug verfügt über eine Genauigkeitsfunktion, die steuert, wie Dezimalstellen behandelt werden.
-
Bei Verwendung des Werkzeugs Reclassify als Teil eines Modells:
- Wenn die Eingabedaten für das Werkzeug mit einem anderen Werkzeug erfasst werden, das noch nicht ausgeführt wurde, ist der Parameter <remap> des Werkzeugs Reclassify leer, bis das entsprechende Werkzeug ausgeführt und das Modell überprüft wurde. Um dies zu vermeiden, führen Sie die erforderlichen Werkzeuge immer aus, bevor Sie die Ausgabevariablen als Eingabe mit dem Werkzeug Reclassify verknüpfen. Sie können auch eine benutzerdefinierte Reklassifizierungstabelle erstellen und Eingaben darin vornehmen.
- Wenn Sie die Reklassifizierungstabelle als Modellparameter verwenden, muss das Reklassifizierungsfeld als Variable verfügbar gemacht werden. Es muss jedoch nicht als Modellparameter eingerichtet werden. Wenn das Feld nicht als Variable verfügbar gemacht wird, sind die Schaltflächen "Klassifizieren" und "Eindeutig" im Dialogfeld des Modellwerkzeugs deaktiviert.
Syntax
Parameter | Erläuterung | Datentyp |
in_raster |
Das zu reklassifizierende Eingabe-Raster. | Raster Layer |
reclass_field |
Feld mit den Werten, die reklassifiziert werden. | Field |
remap |
Mit dem Remap-Objekt kann angegeben werden, wie Werte des Eingabe-Rasters reklassifiziert werden. Es gibt zwei Möglichkeiten, um zu definieren, wie die Werte im Ausgabe-Raster reklassifiziert werden: RemapRange und RemapValue. Einem neuen Ausgabewert können entweder Bereiche von Eingabewerten oder einzelne Werte zugewiesen werden. Formate der Remap-Objekte:
| Remap |
missing_values (optional) |
Gibt an, ob fehlende Werte in der Reklassifizierungstabelle ihren Wert behalten oder "NoData" zugeordnet werden.
| Boolean |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster |
Das reklassifizierte Ausgabe-Raster. Das Ausgabe-Raster ist stets ein Ganzzahl-Raster. | Raster |
Codebeispiel
In den folgenden Beispielen werden mehrere Methoden zum Reklassifizieren eines Rasters veranschaulicht.
import arcpy from arcpy import env from arcpy.sa import * env.workspace = "C:/sapyexamples/data" outReclass1 = Reclassify("landuse", "Value", RemapValue([[1,9],[2,8],[3,1],[4,6],[5,3],[6,3],[7,1]])) outReclass1.save("C:/sapyexamples/output/landuse_rcls") outReclass2 = Reclassify("slope_grd", "Value", RemapRange([[0,10,"NODATA"],[10,20,1],[20,30,2], [30,40,3],[40,50,4],[50,60,5],[60,75,6]])) outReclass2.save("C:/sapyexamples/output/slope_rcls") outReclass3 = Reclassify("pop_density", "Value", RemapRange([[10,10,1],[10,20,2],[20,25,3], [25,50,4],[50,]]), "NODATA") outReclass3.save("C:/sapyexamples/output/popden_rcls")
In diesem Beispiel wird das Eingabe-Raster anhand der Werte in einem Zeichenfolgenfeld reklassifiziert.
# Name: reclassify_example02.py # Description: Reclassifies the values in a raster. # 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 = "landuse" reclassField = "LANDUSE" remap = RemapValue([["Brush/transitional", 0], ["Water", 1],["Barren land", 2]]) # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension("Spatial") # Execute Reclassify outReclassify = Reclassify(inRaster, reclassField, remap, "NODATA") # Save the output outReclassify.save("C:/sapyexamples/output/outreclass02")