Skip To Content

Выбрать в слое по атрибуту

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

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

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

  • Если входные данные представлены классом пространственных объектов или путем к набору данных, этот инструмент будет автоматически создавать и возвращать новый слой с результатом примененного инструмента.

  • Если в качестве входного источника данных выступает сервис объектов, рекомендуется, чтобы связанный ArcGIS Server использовал стандартные запросы SQL.

  • Если для входных данных задан определяющий запрос, в выборке будут представлены только объекты или строки, которые отвечают параметрам этого запроса.

  • Если используются запросы Выше среднего или Ниже среднего, функция AVG всегда будет выполняться на исходных данных, даже когда входной слой представлен поднабором исходных данных.

  • Число выбранных записей будет указано в истории геообработки в разделе Параметры > Количество.Дополнительно, инструмент Посчитать строки может использоваться для определения числа выбранных записей. В Python также можно получить число выбранных записей из объекта Result инструмента.

Синтаксис

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

Данные, к которым будет применяться эта выборка.

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

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

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

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

SQL Expression
invert_where_clause
(Дополнительный)

Указывает, будет ли инвертирован результат выполнения выражения.

  • NON_INVERTРезультат выполнения запроса останется таким, как он есть. Используется по умолчанию.
  • INVERTРезультат запроса будет инвертироваться. Если используется параметр selection_type, инвертирование происходит до того, как эта выборка будет объединена с уже существующими выборками.
Boolean

Производные выходные данные

ИмяОбъяснениеТип данных
out_layer_or_view

Обновленный входной слой с применением выборки.

Представление таблицы; Растровый слой; Векторный слой
count

Число выбранных записей.

Long

Пример кода

SelectLayerByAttribute, пример (окно Python)

Пример скрипта окна Python для использования функции SelectLayerByAttribute в режиме прямого запуска.

import arcpy
arcpy.SelectLayerByAttribute_management("states", "NEW_SELECTION", 
                                        "[NAME] = 'California'")
SelectLayerByAttribute, пример 2 (автономный скрипт)

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

# Name: ExtractFeaturesByLocationAndAttribute.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
arcpy.env.workspace = 'c:/data/mexico.gdb'
# Select all cities which overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities which have a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new featureclass
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')

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

Этот инструмент не использует параметры среды геообработки

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

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы