Выбрать в слое по атрибуту (Select Layer By Attribute) (Управление данными)

Уровень лицензии:BasicStandardAdvanced

Краткая информация

Добавляет, обновляет или удаляет выборку на слое или представлении таблицы на основе атрибутивного запроса.

Использование

Синтаксис

SelectLayerByAttribute_management (in_layer_or_view, {selection_type}, {where_clause})
ПараметрОбъяснениеТип данных
in_layer_or_view

Слой пространственных объектов или представление таблицы, к которому будет применена выборка.

Входными данными может быть слой или представление таблицы в таблице содержания ArcMap или слой или представление таблицы, созданные в ArcCatalog или в скриптах с помощью инструментов Создать векторный слой (Make Feature Layer) или Создать представление таблицы (Make Table View).

Table View; Raster Layer; Mosaic Layer
selection_type
(дополнительно)

Определяет, как будет применятся выборка и что произойдет, если выборка уже существует.

  • NEW_SELECTIONРезультирующая выборка заменяет любую существующую выборку. Это значение используется по умолчанию.
  • ADD_TO_SELECTIONРезультирующая выборка добавляется к существующей выборке, если таковая существует. Если никакой выборки не существует, данная опция работает так же, как опция NEW_SELECTION.
  • REMOVE_FROM_SELECTIONРезультирующая выборка удаляется из существующей выборки. Если во входном слое объекты не были выбраны, выбор данной опции не приведет ни к какому результату.
  • SUBSET_SELECTIONРезультирующая выборка комбинируется с существующей выборкой. Выбранными останутся только те записи, которые являются общими для обеих выборок.
  • SWITCH_SELECTIONПереключает выборку. Все записи, которые были выбраны, удаляются из выборки, а все невыбранные записи становятся выбранными. Выражение игнорируется, если установлена эта опция.
  • CLEAR_SELECTIONОчищает или удаляет любую выборку. Выражение игнорируется, если установлена эта опция.
String
where_clause
(дополнительно)

SQL-выражение, использованное для выбора поднабора записей. Более подробно о синтаксисе SQL смотрите в разделах справки: Литература по SQL для выражений запросов, используемых в ArcGIS.

SQL Expression

Пример кода

Выбрать в слое по атрибуту. Пример (окно Python)

Пример скрипта Python для выполнения функции Выбрать в слое по атрибуту (Select Layer By Attribute) с запуском из окна Python в ArcGIS.

import arcpy
arcpy.MakeFeatureLayer_management ("C:/data/data.mdb/states", "stateslyr")
arcpy.SelectLayerByAttribute_management ("stateslyr", "NEW_SELECTION", " [NAME] = 'California' ")
Выбрать в слое по атрибуту. Пример 2 (автономный скрипт)

Пример скрипта Python для выполнения функции Выбрать в слое по атрибуту (Select Layer By Attribute) в рабочем потоке, чтобы извлекать пространственные объекты в новый класс пространственных объектов на основе местоположения и атрибутивного запроса.

# 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")

Параметры среды

Связанные темы

Информация о лицензировании

ArcGIS for Desktop Basic: Да
ArcGIS for Desktop Standard: Да
ArcGIS for Desktop Advanced: Да
5/10/2014