Краткая информация
Добавляет, обновляет или удаляет выборку на слое или представлении таблицы на основе атрибутивного запроса.
Использование
Входными данными должен быть векторный слой или представление таблицы. Входными данными не могут быть класс пространственных объектов или таблица.
Этот инструмент работает со слоями или представлениями таблицы в таблице содержания ArcMap, а также со слоями или представлениями таблицы, созданными в скриптах с помощью инструментов Создать векторный слой (Make Feature Layer) или Создать представление таблицы (Make Table View).
Если задан параметр Среда экстента (Extent environment), или в параметре Входной слой или Представление таблицы (Input Layer or Table View) имеется определяющий запрос, будут выбраны только строки или объекты, находящиеся в пределах экстента или соответствующие определяющему запросу.
Инструмент Посчитать строки (Get Count) может использоваться для определения количества выбранных пространственных объектов или строк. Это может быть особенно полезно в скрипте или модели для определения, нужна ли последующая обработка.
Синтаксис
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 (дополнительно) | Определяет, как будет применятся выборка и что произойдет, если выборка уже существует.
| 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")