Сводка
Выбирает объекты в слое на основе пространственных отношений с объектами в другом слое.
Каждый объект во Входном векторном слое сравнивается с объектами в слое или классе объектов Вспомогательные объекты выборки; если входной объект соответствует значению параметра Отношения, он выбирается.
Использование
Входными данными должен быть векторный слой; это не может быть класс пространственных объектов.
Этот инструмент применяется для слоев ArcMap, ArcGlobe или ArcScene, а также для слоев, созданных в моделях и скриптах с помощью инструмента Создать векторный слой.
Система координат, в которой оцениваемое пространственное отношение может влиять на результат. Объекты, пересекающиеся в одной системе координат, могут пересекаться или не пересекаться в другой системе.
- Данный инструмент оценивает пространственные отношения в системе координат источника данных Входного векторного слоя (класса пространственных объектов на диске). Задайте среду выходной системы координат для оценки пространственных отношений в другой системе координат.
Этот инструмент может использоваться для выбора пространственных объектов на основе их пространственных отношений к другим объектам в том же слое. Некоторые примеры см. в разделе Выбрать в слое по расположению.
Инструмент Посчитать строки может использоваться, чтобы найти пространственные объекты, выбранные инструментом Выбрать в слое по расположению. Он может быть полезен, если надо определить, подошли ли объекты под необходимое пространственное отношение, перед продолжением анализа в рамках автоматизированного рабочего процесса (то есть скрипта или модели).
Подробнее об использовании трехмерных пространственных отношений INTERSECT_3D и WITHIN_A_DISTANCE_3D, см. в разделе Отношения Выборка по расположению 3D.
Синтаксис
arcpy.management.SelectLayerByLocation(in_layer, {overlap_type}, {select_features}, {search_distance}, {selection_type}, {invert_spatial_relationship})
Параметр | Объяснение | Тип данных |
in_layer | Слой, содержащий объекты, которые будут оцениваться в сравнении с select_features. К этому слою будет применяться выборка. Входными данными не может быть путь к классу пространственных объектов на диске. | Feature Layer; Mosaic Layer; Raster Catalog Layer |
overlap_type (Дополнительный) | Оцениваемое пространственное отношение.
| String |
select_features (Дополнительный) | Пространственные объекты в слое входных объектов будут выбираться на основе их отношения к пространственным объектам из этого слоя или класса пространственных объектов. | Feature Layer |
search_distance (Дополнительный) | Это параметр допустим только в тех случаях, когда для параметра overlap_type выбрано одно из следующего: WITHIN_A_DISTANCE_GEODESIC, WITHIN_A_DISTANCE, WITHIN_A_DISTANCE_3D, INTERSECT, INTERSECT_3D, HAVE_THEIR_CENTER_IN, CONTAINS, или WITHIN. Если используется опция WITHIN_A_DISTANCE_GEODESIC, необходимо выбирать линейные единицы измерения, например, километры или мили. | Linear unit |
selection_type (Дополнительный) | Определяет, как выборка будет применяться к входным данным и как она будет комбинироваться с существующей выборкой. Обратите внимание, что здесь нет опции для очистки существующей выборки. Чтобы очистить выборку, используйте опцию CLEAR_SELECTION инструмента Выбрать в слое по атрибуту.
| String |
invert_spatial_relationship (Дополнительный) | После оценки пространственных отношений данная опция определяет, будет ли результат использоваться как есть, или его следует инвертировать. Например, эта опция может применяться для быстрого получения списка объектов, которые не пересекают или не находятся в пределах расстояния от объектов другого набора данных.
| Boolean |
Производные выходные данные
Имя | Объяснение | Тип данных |
out_layer_or_view | Обновленные входные данные с примененной выборкой. | Векторный слой; Слой каталога растров; Слой мозаики |
Пример кода
SelectLayerByLocation, пример 1 (окно Python)
Пример скрипта окна Python для использования функции SelectLayerByLocation в режиме прямого запуска.
import arcpy
# First, make a layer from the feature class
arcpy.MakeFeatureLayer_management("c:/kamsack.gdb/parcel", "parcel_lyr")
# Then add a selection to the layer based on location to features in another feature class
arcpy.SelectLayerByLocation_management("parcel_lyr", "have_their_center_in", "c:/kamsack.gdb/city_limits")
SelectLayerByLocation, пример 2 (автономный скрипт)
Пример автономного скрипта для использования функции SelectLayerByLocation, чтобы извлечь пространственные объекты в новый класс пространственных объектов по расположению и атрибутивному запросу.
# Name: ExtactFeaturesByLocationAndAttribute.py
# Description: Extract features to a new feature class based on a Location and an attribute query
# Import arcpy and set path to data
import arcpy
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer and select cities which overlap the chihuahua polygon
arcpy.MakeFeatureLayer_management('cities', 'cities_lyr')
arcpy.SelectLayerByLocation_management('cities_lyr', 'intersect', 'chihuahua')
# Within the previous selection sub-select cities which have population > 10,000
arcpy.SelectLayerByAttribute_management('cities_lyr',
'SUBSET_SELECTION',
'"population" > 10000')
# If features matched criteria write them to a new feature class
matchcount = int(arcpy.GetCount_management('cities_lyr')[0])
if matchcount == 0:
print('no features matched spatial and attribute criteria')
else:
arcpy.CopyFeatures_management('cities_lyr', 'chihuahua_10000plus')
print('{0} cities that matched criteria written to {0}'.format(
matchcount, chihuahua_10000plus))
Параметры среды
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да