Выбрать в слое по атрибуту (Управление данными)
Резюме
Добавляет, обновляет или удаляет выборку на слое или представлении таблицы на основе атрибутивного запроса.
Использование
- 
Входными данными должен быть векторный слой или представление таблицы. Входными данными не могут быть класс пространственных объектов или таблица. 
- 
Этот инструмент работает со слоями или представлениями таблицы в таблице содержания ArcMap, а также со слоями или представлениями таблицы, созданными в скриптах с помощью инструментов Создать векторный слой (Make Feature Layer) или Создать представление таблицы (Make Table View). 
- 
Если задан параметр Экстент (Extent environment), или в параметре Входной слой или Представление таблицы (Input Layer or Table View) имеется определяющий запрос, будут выбраны только строки или объекты, находящиеся в пределах экстента или соответствующие определяющему запросу. 
- 
Инструмент Посчитать строки (Get Count) может использоваться для определения количества выбранных пространственных объектов или строк. Это может быть особенно полезно в скрипте или модели для определения, нужна ли последующая обработка. 
Синтаксис
| Параметр | Объяснение | Тип данных | 
| in_layer_or_view | Слой пространственных объектов или представление таблицы, к которому будет применена выборка. Входными данными может быть слой или представление таблицы в таблице содержания ArcMap или слой или представление таблицы, созданные в ArcCatalog или в скриптах с помощью инструментов Создать векторный слой (Make Feature Layer) или Создать представление таблицы (Make Table View). | Table View; Raster Layer; Mosaic Layer | 
| selection_type (дополнительно) | Определяет, как будет применятся выборка и что произойдет, если выборка уже существует. 
 | String | 
| where_clause (дополнительно) | SQL-выражение, использованное для выбора поднабора записей. Синтаксис выражения различается в зависимости от формата данных. Например, если вы строите запрос к файловой или ArcSDE базам геоданных, шейп-файлам, покрытиям, dBASE или таблицам INFO, заключите имена полей в двойные кавычки: "ИМЯ_ПОЛЯ" Если вы запрашиваете персональную базу геоданных, заключите поля в квадратные скобки: [ИМЯ_ПОЛЯ] В Python строковые значения заключаются в соответствующие одинарные или двойные кавычки. Чтобы создать строку с кавычками (что часто требуется при написании условия WHERE в выражениях SQL), можно использовать перед кавычками escape-символ (символ обратной косой черты) или заключить всю строку в три пары кавычек. Например, если требуется написать в условии WHERE "CITY_NAME" = 'Чикаго', можно заключить всю строку в двойные кавычки и добавить escape-символ перед внутренними двойными кавычками: " \"CITY_NAME\" = 'Чикаго' ", Или можно заключить всю строку в одинарные кавычки и добавить escape-символ перед внутренними одинарными кавычками: ' "CITY_NAME" = \'Чикаго\' ' Или можно заключить всю строку в три пары кавычек и не добавлять escape-символ: """ "CITY_NAME" = 'Чикаго' """, Более подробно о синтаксисе SQL и о том, как он различается между источниками данных, смотрите разделы справки: Литература по SQL для выражений запросов, используемых в ArcGIS. | SQL Expression | 
Пример кода
Пример скрипта 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' ")
Пример скрипта 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
# Author: ESRI
 
# 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")