Extract by Attributes (Spatial Analyst)
Zusammenfassung
Extrahiert die Zellen eines Rasters auf Basis einer logischen Abfrage.
Bild
Verwendung
-
Wenn die Where-Klausel "true" (wahr) ergibt, wird der ursprüngliche Eingabewert für die Zellenposition zurückgegeben. Wenn er "false" (falsch) ergibt, wird der Zellenposition der Wert "NoData" zugewiesen.
-
Alle zusätzlichen Elemente (abgesehen von Wert und Anzahl) des Eingabe-Rasters werden nicht in das Ausgabe-Raster aufgenommen.
-
Wenn ein anderes Element als Wert des Eingabe-Rasters in der Where-Klausel angegeben wird, wird der ursprüngliche Eingabewert für die Zellenposition zurückgegeben.
-
Wenn ein Multiband-Raster als Eingabe angegeben wird, wird als Ausgabe ein neues Multiband-Raster erstellt. Jedes Band im Eingabe-Multiband-Raster wird entsprechend analysiert.
Das Standardausgabeformat ist ein Esri Grid Stack. Beachten Sie, dass der Name eines Esri Grid Stack nicht mit einer Zahl beginnen, keine Leerzeichen enthalten und nicht mehr als 9 Zeichen aufweisen darf.
-
Wenn die Eingabe ein Layer ist, der aus einem Multiband-Raster mit mehr als drei Bändern erstellt wurde, berücksichtigt der Extraktionsvorgang nur die vom Layer geladenen (symbolisierten) Bänder. Das Ausgabe-Multiband-Raster kann demnach nur drei Bänder aufweisen, die den Bändern in der Anzeige des Eingabe-Layers entsprechen.
-
Bei einem ganzzahligen Eingabe-Raster ist auch das Ausgabe-Raster ganzzahlig. Wenn die Eingaben Gleitkommawerte sind, ist die Ausgabe ebenfalls ein Gleitkommawert.
Syntax
Parameter | Erläuterung | Datentyp |
in_raster |
Das Eingabe-Raster, aus dem Zellen extrahiert werden. | Raster Layer |
where_clause | Ein logischer Ausdruck, der eine Teilmenge von Raster-Zellen auswählt. Der Ausdruck entspricht der allgemeinen Form eines SQL-Ausdrucks. Lesen Sie die Dokumentation, um weitere Informationen zur SQl-Referenz für in ArcGIS verwendete Abfrageausdrücke und zum Festlegen einer Abfrage in Python zu erhalten. | SQL Expression |
Rückgabewert
Name | Erläuterung | Datentyp |
out_raster |
Das Ausgabe-Raster mit den Zellenwerten, die aus dem Eingabe-Raster extrahiert wurden. | Raster |
Codebeispiel
In diesem Beispiel werden Zellen auf Grundlage einer logischen Abfrage aus einem Raster extrahiert, wenn die Höhe 1,000 Meter übersteigt.
import arcpy
from arcpy import env
from arcpy.sa import *
env.workspace = "C:/sapyexamples/data"
attExtract = ExtractByAttributes("elevation", "VALUE > 1000")
attExtract.save("c:/sapyexamples/output/attextract")
In diesem Beispiel werden Zellen auf Grundlage einer logischen Abfrage aus einem Raster extrahiert, wenn die Höhe 1,000 Meter übersteigt.
# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query.
# 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 = "elevation"
inSQLClause = "VALUE > 1000"
# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")
# Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause)
# Save the output
attExtract.save("c:/sapyexamples/output/attextract02")