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

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

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

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входная таблица

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

Table View; Raster Layer; Mosaic Layer
Тип выборки
(Дополнительный)

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

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

SQL-выражение, использованное для выбора поднабора записей.

SQL Expression
Инвертировать условие выражения
(Дополнительный)

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

  • Не отмечено – запрос останется в исходном виде. Это значение по умолчанию.
  • Отмечено – выражение запроса будет инвертировано. Если используется параметр Тип выборки, до того, как выборка будет объединена с существующими выборками, произойдет ее инвертирование.
Boolean

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

ПодписьОписаниеТип данных
Обновленный слой или представление таблицы

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

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

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

Long

arcpy.management.SelectLayerByAttribute(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 that overlap the chihuahua polygon
chihuahua_cities = arcpy.SelectLayerByLocation_management('cities', 'INTERSECT', 
                                                          'chihuahua', 0, 
                                                          'NEW_SELECTION')
# Within selected features, further select only those cities with a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management(chihuahua_cities, 'SUBSET_SELECTION', 
                                        '"population" > 10000')
# Write the selected features to a new feature class
arcpy.CopyFeatures_management(chihuahua_cities, 'chihuahua_10000plus')

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

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

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

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

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