Selektieren (Analyse)
Zusammenfassung
Extrahiert Features aus einer Eingabe-Feature-Class oder einem Eingabe--Feature-Layer unter Verwendung eines SELECT- bzw. SQL-Ausdrucks (Structured Query Language) und speichert sie dann in einer Ausgabe-Feature-Class.
Verwendung
-
Der SELECT- bzw. SQL-Ausdruck wird mit dem Abfrage-Generator erstellt oder einfach eingegeben. Details zur Ausdruckssyntax finden Sie unter Erstellen von SQL-Ausdrücken oder SQL-Referenz.
-
Wenn ein Layer für Eingabe-Features verwendet wird und kein Ausdruck eingegeben wird, werden nur die selektierten Features in die Ausgabe-Feature-Class geschrieben. Wird ein Layer für Eingabe-Features verwendet und ein Ausdruck eingegeben, wird der Ausdruck nur für die selektierten Features ausgeführt. Die auf dem Ausdruck basierende Teilmenge der selektierten Features wird in die Ausgabe-Feature-Class geschrieben.
-
Falls Sie aus den selektierten Features in einem Layer eine Feature-Class erstellen möchten, verwenden Sie das Werkzeug Features kopieren.
Syntax
Parameter | Erläuterung | Datentyp |
in_features |
Die Eingabe-Feature-Class oder der Eingabe-Feature-Layer, aus der bzw. dem die Features selektiert werden. | Feature Layer |
out_feature_class |
Die zu erstellende Ausgabe-Feature-Class. Falls kein Ausdruck verwendet wird, enthält sie alle Eingabe-Features. | Feature Class |
where_clause (optional) |
Ein SQL-Ausdruck, mit dem eine Feature-Teilmenge ausgewählt wird. Die genaue Syntax für den Ausdruck hängt von der Datenquelle ab. Wenn Sie beispielsweise File- oder ArcSDE-Geodatabases bzw. Shapefiles oder Coverages abfragen, schließen Sie Feldnamen in doppelte Anführungszeichen ein: "MY_FIELD" Wenn Sie Personal-Geodatabases abfragen, schließen Sie die Felder in eckige Klammern ein: [MY_FIELD] In Python werden Zeichenfolgen in zusammenpassende einfache oder doppelte Anführungszeichen eingeschlossen. Um eine Zeichenfolge zu erstellen, die Anführungszeichen enthält (wie bei einer WHERE-Klausel in SQL-Ausdrücken üblich), können Sie die Anführungszeichen (durch einen umgekehrten Schrägstrich) mit Escapezeichen versehen oder die Zeichenfolge mit dreifachem Anführungszeichen versehen. Wenn die gewünschte WHERE-Klausel z. B. "CITY_NAME" = 'Chicago' lautet, könnten Sie die ganze Zeichenfolge in doppelte Anführungszeichen einschließen und dann die inneren doppelten Anführungszeichen wie folgt mit Escapezeichen versehen: " \"CITY_NAME\" = 'Chicago' " Oder Sie könnten die ganze Zeichenfolge in einfache Anführungszeichen einschließen und dann die inneren einfachen Anführungszeichen wie folgt mit Escapezeichen versehen: ' "CITY_NAME" = \'Chicago\' ' Oder Sie könnten die ganze Zeichenfolge in dreifache Anführungszeichen ohne Escapezeichen einschließen: """ "CITY_NAME" = 'Chicago' """ Weitere Informationen zur SQL-Syntax und zu den Unterschieden zwischen Datenquellen finden Sie im Hilfethema SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke. | SQL Expression |
Codebeispiel
import arcpy
from arcpy import env
env.workspace = "c:/basedata/roads.gdb"
arcpy.Select_analysis("nfroads", "paved", '[ROAD_CLASS] = "PAVED"')
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion „Select“ im unmittelbaren Modus verwenden.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Select_analysis("majorrds.shp", "C:/output/majorrdsClass4.shp", '"CLASS" = \'4\'')
Das folgende Skript im Python-Fenster veranschaulicht, wie Sie die Funktion „Select“ in einem eigenständigen Skript verwenden.
# Name: Select_Example2.py
# Description: Select roads of Class 4 from major roads tin the gnatcatcher habitat study area
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_features = "majorrds.shp"
out_feature_class = "C:/output/majorrdsClass4.shp"
where_clause = '"CLASS" = \'4\''
# Execute Select
arcpy.Select_analysis(in_features, out_feature_class, where_clause)