Mit der Spatial Analyst-Lizenz verfügbar.
Zusammenfassung
Extrahiert die Zellen eines Rasters auf Basis einer logischen Abfrage.
Abbildung
Verwendung
Zusätzliche Attribute aus dem Eingabe-Raster, sofern vorhanden, werden unverändert in die Attributtabelle des Ausgabe-Rasters übernommen. Je nach den Merkmalen der Eigenschaft, die erfasst wird, müssen einige der Attributwerte möglicherweise neu berechnet werden.
Wenn ein Multiband-Raster als Eingabe-Raster (in_raster in Python) angegeben wird, werden alle Bänder verwendet.
Wenn eine Auswahl von Bändern aus einem Multiband-Raster verarbeitet werden soll, erstellen Sie zunächst mit dem Werkzeug Bänder zusammensetzen ein neues Raster-Dataset, das aus den betreffenden Bändern besteht, und verwenden Sie das Ergebnis als Eingabe-Raster (in_raster in Python).
Das Standardausgabeformat ist ein Geodatabase-Raster. Wenn ein Esri Grid Stack als Ausgabeformat angegeben wurde, beachten Sie, dass der Name nicht mit einer Zahl beginnen, keine Leerzeichen enthalten und nicht mehr als 9 Zeichen aufweisen darf.
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.
Die Where-Klausel verwendet eine SQL-Abfrage. Weitere Informationen zum Erstellen von Abfragen im Abfrage-Builder finden Sie in den folgenden Themen:
Um eine "{where_clause}" in Python verwenden zu können, muss diese in Anführungszeichen eingeschlossen werden. Zum Beispiel "Value > 5000".
In der Hilfe erhalten Sie weitere Informationen zum Festlegen einer Abfrage in Python.
Wenn ein anderes Element als Value des Eingabe-Rasters in der Abfrage angegeben wird, wird der ursprüngliche Eingabewert für die Zellenposition zurückgegeben.
Bei einem ganzzahligen Eingabe-Raster ist auch das Ausgabe-Raster ganzzahlig. Wenn die Eingaben Gleitkommawerte sind, ist die Ausgabe ebenfalls ein Gleitkommawert.
Weitere Informationen zur Geoverarbeitung von Umgebungen mit diesem Werkzeug finden Sie unter Analyseumgebungen und Spatial Analyst.
Syntax
ExtractByAttributes (in_raster, where_clause)
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. Ein Beispiel einer where_clause ist "VALUE > 100". | 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
ExtractByAttributes – Beispiel 1 (Python-Fenster)
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")
ExtractByAttributes – Beispiel 2 (eigenständiges Skript)
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")
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert Spatial Analyst
- ArcGIS Desktop Standard: Erfordert Spatial Analyst
- ArcGIS Desktop Advanced: Erfordert Spatial Analyst