Zusammenfassung
Hiermit wird eine Auswahl in einem Layer oder einer Tabellensicht auf Grundlage einer Attributabfrage hinzugefügt, aktualisiert oder entfernt.
Verwendung
Als Eingabe ist ein Feature-Layer oder eine Tabellensicht zulässig. Die Eingabe darf keine Feature-Class oder Tabelle sein.
Dieses Werkzeug eignet sich für Layer oder Tabellensichten im ArcMap-Inhaltsverzeichnis oder für mit einem Skript erstellte Layer oder Tabellensichten unter Verwendung der Werkzeuge Feature-Layer erstellen und Tabellensicht erstellen.
Wenn im Eingabe-Layer oder der Tabellensicht eine Ausdehnungsumgebung oder Definitionsabfrage vorhanden ist, können nur die Features oder Zeilen ausgewählt werden, die innerhalb der Ausdehnung liegen oder mit der Definitionsabfrage übereinstimmen.
Mit dem Werkzeug Anzahl erhalten kann die Anzahl der ausgewählten Features oder Zeilen bestimmt werden. Dies kann besonders in einem Skript oder Modell nützlich sein, um herauszufinden, ob eine weitere Verarbeitung gewünscht ist.
Syntax
arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause})
Parameter | Erklärung | Datentyp |
in_layer_or_view | Der Feature-Layer oder die Tabellensicht, auf die die Auswahl angewendet wird. Als Eingabe sind ein Layer oder eine Tabellensicht aus dem ArcMap-Inhaltsverzeichnis oder in ArcCatalog oder einem Skript mithilfe der Werkzeuge "Feature-Layer erstellen" und "Tabellensicht erstellen" erstellte Layer oder Tabellensichten zulässig. | Table View; Raster Layer; Mosaic Layer |
selection_type (optional) | Legt fest, wie die Auswahl angewendet wird, und welche Aktion ausgeführt wird, wenn bereits eine Auswahl vorhanden ist.
| String |
where_clause (optional) | Ein SQL-Ausdruck, mit dem eine Teilmenge der Datensätze ausgewählt wird. Weitere Informationen zur SQL-Syntax finden Sie in dem Hilfethema SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke. | SQL Expression |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_layer_or_view | Die aktualisierte Eingabe mit angewendeter Auswahl. | Tabellensicht; Raster-Layer; Mosaik-Layer |
Codebeispiel
SelectLayerByAttribute – Beispiel 1 (Python-Fenster)
Das folgende Skript im Python-Fenster veranschaulicht, wie die Funktion SelectLayerByAttribute im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.MakeFeatureLayer_management("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
SelectLayerByAttribute – Beispiel 2 (eigenständiges Skript)
Das folgende eigenständige Skript zeigt, wie mit der Funktion SelectLayerByAttributes Features auf Grundlage von Position und einer Attributabfrage in eine neue Feature-Class extrahiert werden.
# Name: ExtactFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a spatial relationships to another layer AND an attribute query
# Import system modules
import arcpy
# Set the workspace
env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "lyr")
# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")
# Within selected features, further select only those cities which have a population > 10,000
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ')
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management("lyr", "chihuahua_10000plus")
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja