Выборка (Select) (Анализ)
Резюме
Извлекает пространственные объекты из входного класса пространственных объектов или входного слоя пространственных объектов, как правило, с помощью выражения SQL (Structured Query Language), и сохраняет их в выходном классе объектов.
Использование
-
Выражение выборки или SQL-запрос строится с помощью Query Builder или путем ввода. Для получения более подробной информации о синтаксисе выражений см. Построение выражения SQL или Основы SQL.
-
Если для входных объектов используется слой и не вводится выражение, в выходной класс объектов записываются только выбранные пространственные объекты. Если для входных объектов используется слой и вводится выражение, выражение выполняется только в отношении выбранных пространственных объектов, и основанный на выражении поднабор выбранного набора записывается в выходной класс объектов.
-
Если вы хотите создать класс пространственных объектов из выбранного набора пространственных объектов в слое, используйте инструмент Копировать объекты (Copy Features).
Синтаксис
Параметр | Объяснение | Тип данных |
in_features |
Входной класс пространственных объектов или слой, из которого выбираются объекты. | Feature Layer |
out_feature_class |
Создаваемый выходной класс пространственных объектов. Если выражение не используется, он содержит все входные объекты. | Feature Class |
where_clause (дополнительно) |
SQL-выражение, использованное для выбора поднабора пространственных объектов. Синтаксис выражения различается в зависимости от формата данных. Например, если вы запрашиваете файловые или ArcSDE базы геоданных, шейп-файлы или покрытия, заключите имена полей в двойные кавычки: "ИМЯ_ПОЛЯ" Если вы строите запрос к персональной базе геоданных, заключите поля в квадратные скобки: [ИМЯ_ПОЛЯ] В Python строковые значения заключаются в соответствующие одинарные или двойные кавычки. Чтобы создать строку с кавычками (что часто требуется при написании условия WHERE в выражениях SQL), можно использовать перед кавычками escape-символ (символ обратной косой черты) или заключить всю строку в три пары кавычек. Например, если требуется написать в условии WHERE "CITY_NAME" = 'Чикаго', можно заключить всю строку в двойные кавычки и добавить escape-символ перед внутренними двойными кавычками: " \"CITY_NAME\" = 'Чикаго' ", Или можно заключить всю строку в одинарные кавычки и добавить escape-символ перед внутренними одинарными кавычками: ' "CITY_NAME" = \'Чикаго\' ' Или можно заключить всю строку в три пары кавычек и не добавлять escape-символ: """ "CITY_NAME" = 'Чикаго' """, Более подробно о синтаксисе SQL и о том, как он различается между источниками данных, смотрите разделы справки: Литература по SQL для выражений запросов, используемых в ArcGIS. | SQL Expression |
Пример кода
import arcpy
from arcpy import env
env.workspace = "c:/basedata/roads.gdb"
arcpy.Select_analysis("nfroads", "paved", '[ROAD_CLASS] = "PAVED"')
В следующем скрипте окна Python показано, как использовать функцию Выборка в окне Python в ArcGIS.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.Select_analysis("majorrds.shp", "C:/output/majorrdsClass4.shp", '"CLASS" = \'4\'')
В следующем скрипте Python показано, как использовать функцию Выборка в автономном скрипте.
# Name: Select_Example2.py
# Description: Select roads of Class 4 from major roads tin the gnatcatcher habitat study area
# Author: ESRI
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/data"
# Set local variables
in_features = "majorrds.shp"
out_feature_class = "C:/output/majorrdsClass4.shp"
where_clause = '"CLASS" = \'4\''
# Execute Select
arcpy.Select_analysis(in_features, out_feature_class, where_clause)