Выбрать в слое по атрибуту (Select Layer By Attribute) (Управление данными)
Краткая информация
Добавляет, обновляет или удаляет выборку на слое или представлении таблицы на основе атрибутивного запроса.
Использование
-
Входными данными должен быть векторный слой или представление таблицы. Входными данными не могут быть класс пространственных объектов или таблица.
-
Этот инструмент работает со слоями или представлениями таблицы в таблице содержания 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-выражение, использованное для выбора поднабора записей. Более подробно о синтаксисе 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
# 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")