Reklassifizieren (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 ein Wertebereich reklassifiziert werden muss, dürfen die Bereiche nur an der Grenze zweier Eingabebereiche überlappen. Wenn es zu einer Überlappung kommt, gilt der höhere Grenzwert des niedrigeren Eingabebereichs als einschließlich und der untere Grenzwert des höheren Ausgabebereichs als ausschließlich.
Wenn beispielsweise zwei Bereiche angegeben sind, wie durch Reklassifizierung der Werte 1 bis 5 als 100 und der Werte 5 bis 10 als 200, wird dem Wert 100 in der Ausgabe ein Eingabewert zugeordnet, der kleiner als oder gleich 5 ist, und dem Wert 200 wird ein Eingabewert zugeordnet, der größer als 5 ist, wie beispielsweise 5.01.
-
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 Reklassifizieren 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 Reklassifizieren 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 Reklassifizieren 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 Reklassifizieren 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 Arten der Reklassifizierung 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")