Layer nach Attributen auswählen (Data Management)

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})
ParameterErklärungDatentyp
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.

  • NEW_SELECTIONDie getätigte Auswahl ersetzt die aktuelle Auswahl. Dies ist die Standardeinstellung.
  • ADD_TO_SELECTIONDie getätigte Auswahl wird der aktuellen Auswahl hinzugefügt (wenn eine vorhanden ist). Wenn keine Auswahl vorhanden ist, entspricht diese Option der Option "Neue Auswahl".
  • REMOVE_FROM_SELECTIONDie getätigte Auswahl wird aus der aktuellen Auswahl entfernt. Wenn keine Auswahl vorhanden ist, ist diese Option irrelevant.
  • SUBSET_SELECTIONDie getätigte Auswahl wird mit der aktuellen Auswahl kombiniert. Nur Datensätze, die in beiden Auswahlen vorhanden sind, werden ausgewählt.
  • SWITCH_SELECTIONDie Auswahl wird umgekehrt. Alle bisher ausgewählten Datensätze werden aus der aktuellen Auswahl entfernt, und alle bisher nicht ausgewählten Datensätze werden der aktuellen Auswahl hinzugefügt. Wenn diese Option aktiviert ist, wird der Parameter Ausdruck (where_clause in Python) ignoriert.
  • CLEAR_SELECTIONDie Auswahl wird aufgehoben oder entfernt. Wenn diese Option aktiviert ist, wird der Parameter Ausdruck (where_clause in Python) ignoriert.
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.

  • NON_INVERTDie Abfrage wird unverändert verwendet. Dies ist die Standardeinstellung.
  • INVERTDas Gegenteil der Abfrage wird verwendet. Wenn der Parameter selection_type verwendet wird, erfolgt die Umkehrung der Auswahl vor dem Kombinieren mit einer vorhandenen Auswahl.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
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

SelectLayerByAttribute – Beispiel (Python-Fenster)

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'")
SelectLayerByAttribute – Beispiel 2 (eigenständiges Skript)

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

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

  • Basic: Ja
  • Standard: Ja
  • Advanced: Ja

Verwandte Themen