Layer nach Attributen auswählen (Datenmanagement)

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 in der Eingabe eine Definitionsabfrage durchgeführt wird, können nur die Features oder Zeilen ausgewählt werden, die mit der Definitionsabfrage übereinstimmen.

  • Die Anzahl der ausgewählten Datensätze wird im Geoverarbeitungsverlauf aufgeführt. Klicken Sie für den Zugriff auf Parameter > Anzahl. 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.

  • Die in einem SQL-Ausdruck verwendeten Feldtrennzeichen unterscheiden sich je nach Format der abgefragten Daten. File-Geodatabases und Shapefiles verwenden beispielsweise doppelte Anführungszeichen, und Enterprise-Geodatabases verwenden keine Feldtrennzeichen. Mit der Funktion AddFieldDelimiters können Sie sicherstellen, dass die mit dem SQL-Ausdruck verwendeten Feldtrennzeichen richtig sind.

  • Wenn die Datenquelle der Eingabe ein Feature-Service ist, wird empfohlen, dass der zugrunde liegende ArcGIS Server standardisierte SQL-Abfragen verwendet.

Parameter

BeschriftungErläuterungDatentyp
Eingabezeilen

Die Daten, auf die die Auswahl angewendet wird.

Table View; Raster Layer; Mosaic Layer
Auswahltyp
(optional)

Gibt an, wie die Auswahl angewendet wird, und welche Aktion ausgeführt wird, wenn bereits eine Auswahl vorhanden ist.

  • Neue AuswahlDie getätigte Auswahl ersetzt die aktuelle Auswahl. Dies ist die Standardeinstellung.
  • Zur aktuellen Auswahl hinzufügenDie 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".
  • Aus aktueller Auswahl entfernenDie getätigte Auswahl wird aus der aktuellen Auswahl entfernt. Wenn keine Auswahl vorhanden ist, ist diese Option irrelevant.
  • Teilmenge aus der aktuellen Auswahl auswählenDie getätigte Auswahl wird mit der aktuellen Auswahl kombiniert. Nur Datensätze, die in beiden Auswahlen vorhanden sind, werden ausgewählt.
  • Aktuelle Auswahl umkehrenDie 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 ignoriert.
  • Aktuelle Auswahl löschenDie Auswahl wird aufgehoben oder entfernt. Wenn diese Option aktiviert ist, wird der Parameter Ausdruck ignoriert.
String
Ausdruck
(optional)

Ein SQL-Ausdruck, mit dem eine Teilmenge der Datensätze ausgewählt wird.

SQL Expression
Where-Klausel umkehren
(optional)

Gibt an, ob der Ausdruck unverändert verwendet wird oder der gegenteilige Ausdruck verwendet wird.

  • Deaktiviert: Die Abfrage wird unverändert verwendet. Dies ist die Standardeinstellung.
  • Aktiviert: Das Gegenteil der Abfrage wird verwendet. Wenn der Parameter Auswahltyp verwendet wird, erfolgt die Umkehrung der Auswahl vor dem Kombinieren mit einer vorhandenen Auswahl.
Boolean

Abgeleitete Ausgabe

BeschriftungErläuterungDatentyp
Aktualisierter Layer oder aktualisierte Tabellensicht

Die aktualisierten Eingaben mit angewendeter Auswahl.

Table View; Raster Layer; Feature Layer
Anzahl

Die Anzahl der ausgewählten Datensätze.

Long

arcpy.management.SelectLayerByAttribute(in_layer_or_view, {selection_type}, {where_clause}, {invert_where_clause})
NameErläuterungDatentyp
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 where_clause ignoriert.
  • CLEAR_SELECTIONDie Auswahl wird aufgehoben oder entfernt. Wenn diese Option aktiviert ist, wird der Parameter where_clause ignoriert.
String
where_clause
(optional)

Ein SQL-Ausdruck, mit dem eine Teilmenge der Datensätze ausgewählt wird.

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

NameErläuterungDatentyp
out_layer_or_view

Die aktualisierten Eingaben mit angewendeter Auswahl.

Table View; 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.management.SelectLayerByAttribute("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
SelectLayerByAttribute – Beispiel 2 (eigenständiges Skript)

Das folgende eigenständige Skript zeigt, wie mit der Funktion SelectLayerByAttribute in einem Workflow 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 
# relationship 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.management.SelectLayerByLocation('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')

# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.management.SelectLayerByAttribute(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')

# Write the selected features to a new feature class
arcpy.management.CopyFeatures(chihuahua_cities, 'chihuahua_10000plus')

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.