Zusammenfassung
Fügt eine Auswahl anhand einer Attributabfrage hinzu oder aktualisiert bzw. entfernt diese.
Verwendung
Wenn es sich bei der Eingabe um eine Feature-Class oder einen Dataset-Pfad handelt, wird von diesem Werkzeug mit dem Ergebnis des angewendeten Werkzeugs automatisch ein neuer Layer erstellt und zurückgegeben.
Wenn die Datenquelle der Eingabe ein Feature-Service ist, wird empfohlen, dass der zugrunde liegende ArcGIS Server standardisierte SQL-Abfragen verwendet.
Wenn in der Eingabe eine Definitionsabfrage durchgeführt wird, können nur die Features oder Zeilen ausgewählt werden, die mit der Definitionsabfrage übereinstimmen.
Bei Verwendung der Abfragen ist über dem Durchschnitt und ist unter dem Durchschnitt wird die Funktion AVG stets für die Quelldaten ausgeführt, auch wenn der Eingabe-Layer eine Teilmenge der Quelldaten umfasst.
Die Anzahl der ausgewählten Datensätze wird im Geoverarbeitungsverlauf unter Parameter > Anzahl aufgeführt. Zusätzlich kann die Anzahl der ausgewählten Datensätze mit dem Werkzeug Anzahl erhalten bestimmt werden. In Python kann auch über das Objekt Result des Werkzeugs auf die Anzahl der ausgewählten Datensätze zugegriffen werden.
Syntax
arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
Parameter | Erklärung | Datentyp |
in_layer_or_view | Die Daten, auf die die Auswahl angewendet wird. | Table View; Raster Layer; Mosaic Layer |
selection_type (optional) | Gibt an, 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 unter SQL-Referenz für in ArcGIS verwendete Abfrageausdrücke. | SQL Expression |
invert_where_clause (optional) | Gibt an, ob der Ausdruck unverändert verwendet wird, oder der gegenteilige Ausdruck verwendet wird.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_layer_or_view | Die aktualisierten Eingaben mit angewendeter Auswahl. | Tabellensicht; Raster-Layer; Feature-Layer |
count | Die Anzahl der ausgewählten Datensätze. | Long |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie die Funktion SelectLayerByAttribute im unmittelbaren Modus verwendet wird.
import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION",
"[NAME] = 'California'")
Das folgende eigenständige Skript zeigt, wie mit der Funktion SelectLayerByAttribute Features auf Grundlage von Position und einer Attributabfrage in eine neue Feature-Class extrahiert werden.
# Name: ExtractFeaturesByLocationAndAttribute.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
arcpy.env.workspace = 'c:/data/mexico.gdb'
# Select all cities that overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT',
'chihuahua', 0,
'NEW_SELECTION')
# Within selected features, further select only those cities with a
# population > 10,000
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION',
'"population" > 10000')
# Write the selected features to a new feature class
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')
Umgebungen
Lizenzinformationen
- Basic: Ja
- Standard: Ja
- Advanced: Ja