ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Выбрать в слое по расположению

  • Сводка
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

Выбирает объекты в слое на основе пространственных отношений с объектами в другом слое.

Каждый объект во Входном векторном слое сравнивается с объектами в слое или классе объектов Вспомогательные объекты выборки; если входной объект соответствует значению параметра Отношения, он выбирается.

Графические примеры отношений

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

  • Входными данными должен быть векторный слой; это не может быть класс пространственных объектов.

  • Этот инструмент применяется для слоев 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
(Дополнительный)

Оцениваемое пространственное отношение.

  • INTERSECT —Объекты во входном слое будут выбраны, если они пересекаются со вспомогательным объектом выборки. Используется по умолчанию.
  • INTERSECT_3D —Объекты во входном слое будут выбраны, если они пересекаются со вспомогательным объектом выборки в трехмерном пространстве (x, y и z).
  • WITHIN_A_DISTANCE —Объекты во входном слое будут выбраны, если они находятся в пределах указанного расстояния от вспомогательного объекта выборки. Введите значение параметра Расстояние поиска.
  • WITHIN_A_DISTANCE_3D —Объекты во входном слое будут выбраны, если они находятся в пределах указанного расстояния от вспомогательного объекта выборки в трехмерном пространстве. Введите значение параметра Расстояние поиска.
  • WITHIN_A_DISTANCE_GEODESIC —Объекты во входном слое будут выбраны, если они находятся в пределах указанного расстояния от вспомогательного объекта выборки. Расстояние между объектами можно вычислить, используя геодезический метод, учитывающий кривизну земной поверхности и корректно обрабатывающий данные, расположенные недалеко линии дат и вдоль них и околополярные области.
  • CONTAINS —Объекты во входном слое будут выбраны, если они содержат вспомогательный объект выборки.
  • COMPLETELY_CONTAINS —Объекты во входном слое будут выбраны, если они полностью содержат вспомогательный объект выборки.
  • CONTAINS_CLEMENTINI —Это пространственное отношение дает те же результаты, что и COMPLETELY_CONTAINS, за исключением ситуаций, когда вспомогательный объект выборки находится целиком на границе входного объекта (ни одна часть не находится внутри или за пределами); в этом случае объект не будет выбираться. Опция Clementini предполагает, что граница полигона – это линия, отделяющая внутреннюю область полигона от внешней, граница линии – это ее конечные точки, а граница точки всегда является пустой.
  • WITHIN —Объекты во входном слое будут выбраны, если они находятся в пределах вспомогательного объекта выборки.
  • COMPLETELY_WITHIN —Объекты во входном слое будут выбраны, если они находятся полностью внутри или содержатся во вспомогательном объекте выборки.
  • WITHIN_CLEMENTINI —Результат будет идентичен WITHIN с одним исключением: если объект входного слоя полностью находится на границе объекта вспомогательного слоя выборки, объект не будет выбран. Опция Clementini предполагает, что граница полигона – это линия, отделяющая внутреннюю область полигона от внешней, граница линии – это ее конечные точки, а граница точки всегда является пустой.
  • ARE_IDENTICAL_TO —Объекты во входном слое будут выбраны, если они идентичны (по геометрии) вспомогательному объекту выборки.
  • BOUNDARY_TOUCHES —Объекты во входном слое будут выбраны, если их границы соприкасаются со вспомогательным объектом выборки. Если входные объекты являются линиями или полигонами, граница входного объекта может только касаться границы выделенного объекта, и ни одна часть входного объекта не может пересекать границу выделенного.
  • SHARE_A_LINE_SEGMENT_WITH —Объекты во входном слое будут выбраны, если они имеют общий линейный сегмент со вспомогательным объектом выборки. Входные и выбираемые объекты должны быть с типом линия или полигон.
  • CROSSED_BY_THE_OUTLINE_OF —Объекты во входном слое будут выбраны, если они пересекаются внешней линией вспомогательного объекта выборки. Входные и выбираемые объекты должны быть линиями или полигонами. Если полигоны используются для входных данных или выбранных слоев, будет использоваться граница (линия) полигона. Будут выбраны линии, которые пересекаются в точке, а не те, которые образуют общий линейный сегмент.
  • HAVE_THEIR_CENTER_IN —Объекты во входном слое будут выбраны, если их центр попадает в пределы вспомогательного объекта выборки. Центр объекта вычисляется следующим образом: для полигонального и мультиточечного объекта используется его геометрический центроид, а для линии используется ее геометрическая середина.
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 инструмента Выбрать в слое по атрибуту.

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

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

  • NOT_INVERT —Результат запроса не будет инвертироваться. Используется по умолчанию.
  • INVERT —Результат запроса будет инвертироваться. Инвертирование происходит перед тем, как выборка будет комбинирована с имеющимися при использовании опции selection_type.
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: Да

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

  • Обзор группы инструментов Слои и представления таблицы
  • Использование слоев и представлений таблиц
  • Работа со слоями и представлениями таблиц
  • Создание и использование выборки слоев
  • Использование Выбрать по расположению (диалоговое окно ArcMap)

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация