Сводка
Вычисляет геометрическое пересечение между входными объектами. Пространственные объекты или части объектов, которые перекрываются во всех слоях или классах пространственных объектов, будут записаны в выходной класс объектов.
Для выполнения операций пересечения доступны и другие инструменты. Изучить подробности можно в документации к инструменту Попарное пересечение.
Инструмент Попарное пересечение сходен с инструментом Пересечение, в котором вычисляются геометрические пересечения объектов, но он существенно отличается подходом, при котором вычисления основаны на парах объектов, а не на всех возможных комбинациях объектов.
Иллюстрация
Использование
Входными объектами должны быть простые пространственные объекты: точки, мультиточки, линии или полигоны. Входные объекты не могут быть сложными, такими как объекты-аннотации, объекты-размеры или сетевые объекты.
Если у входных объектов разные геометрические типы (такие, как линия на полигон, точка на линию и т.д.), геометрический тип класса выходных объектов будет по умолчанию таким же, как у входных объектов с самой простой геометрией. Например, если один или несколько наборов входных данных – точечного типа, выходные данные по умолчанию будут точками; если один или несколько наборов входных данных – линейного типа, выходные данные по умолчанию будут линиями; если входные данные – полигоны, выходные данные будут полигонами.
Выходной тип может быть таким же, как у входных объектов с самой простой геометрией, или проще. Например, если все входные данные – полигоны, выходные могут быть полигонами, линиями или точками. Если один из входных наборов данных – линейного типа, и нет ни одного точечного типа, выходные могут быть линейными или точечными. Если какие-либо из входных данных являются точками, выходной тип может быть только точечным.
Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (Make Feature Layer), и отмечена опция поля Использовать правило пропорции (Use Ratio Policy), то тогда вычисляется доля входного значения атрибута и сохраняется как выходное атрибутивное значение. Если включено Использовать правило пропорции (Use Ratio Policy), всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена поровну, каждому новому атрибутивному значению пространственного объекта присваивается половина значения атрибутивного значение входного объекта. Использовать правило пропорции (Use Ratio Policy) применяется только к числовым типам полей.
Внимание:
Инструменты геообработки не поддерживают правила разбиения (split policies) для полей или таблиц класса пространственных объектов базы геоданных.
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости.Для получения более подробной информации см. Геообработка больших наборов данных.
Инструмент учитывает параметр среды Коэффициент параллельной обработки. Если параметр среды не задан (используется значение по умолчанию) или указан как 0, параллельная обработка будет отключена. Установка параметры среды равным 100 включит параллельную обработку.
Параллельная обработка на данном этапе поддерживается для операций наложения полигон на полигоне, линия на полигоне и точка на полигоне.
Лицензия:
При использовании лицензий ArcGIS Desktop Basic и Desktop Standard может быть использовано максимум два входных класса объектов или слоя пространственных объектов.
Синтаксис
arcpy.analysis.Intersect(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
Parameter | Объяснение | Тип данных |
in_features [[in_features, {Rank}],...] | Список входных классов объектов или слоев. Если расстояние между объектами меньше кластерного допуска, объекты с более низким рангом точности будут совмещены с объектами с более высоким рангом. Самый высокий ранг – 1. Для получения дополнительной информации см. Ранги и инструменты геообработки. | Value Table |
out_feature_class | Выходной класс объектов. | Feature Class |
join_attributes (Дополнительный) | Определяет, какие атрибуты входных объектов будут перенесены в выходной класс объектов.
| String |
cluster_tolerance (Дополнительный) | Минимальное расстояние, разделяющее координаты всех объектов (узлы и вершины), а также расстояние, на которое может переместиться координата по x или y (или по x и y). Внимание:Изменение значения этого параметра может привести к сбою или неожиданным результатам. Рекомендуется не изменять этот параметр. Он был удален из поля зрения в диалоговом окне инструмента. По умолчанию используется свойство пространственной привязки допуск x,y входного класса пространственных объектов. | Linear Unit |
output_type (Дополнительный) | Задает тип возвращаемых пересечений.
| String |
Пример кода
Пример скрипта окна Python для использования функции Intersect в режиме прямого запуска.
import arcpy
arcpy.env.workspace = "C:/data/RedRiver_basin.gdb"
arcpy.Intersect_analysis(["vegetation_stands", "road_buffer200m", "water_buffer100"], "mysites", "ALL")
arcpy.Intersect_analysis([["vegetation_stands", 2], ["road_buffer200m", 1], ["water_buffer100", 2]],
"mysites_ranked", "ALL")
Пример использования функции Intersect как части рабочего процесса анализа для определения типа растительности в радиусе 100 метров от области пересечения всех потоков (автономный режим).
#Name: VegRoadIntersect.py
# Purpose: Determine the type of vegetation within 100 meters of all stream
# crossings
# Import system modules
import arcpy
# Set the workspace (to avoid having to type in the full path to the data every
# time)
arcpy.env.workspace = "c:/data/data.gdb"
# Process: Find all stream crossings (points)
inFeatures = ["roads", "streams"]
intersectOutput = "stream_crossings"
arcpy.Intersect_analysis(inFeatures, intersectOutput, "", "", "point")
# Process: Buffer all stream crossings by 100 meters
bufferOutput = "stream_crossings_100m"
bufferDist = "100 meters"
arcpy.Buffer_analysis(intersectOutput, bufferOutput, bufferDist)
# Process: Clip the vegetation feature class to stream_crossing_100m
clipInput = "vegetation"
clipOutput = "veg_within_100m_of_crossings"
arcpy.Clip_analysis(clipInput, bufferOutput, clipOutput)
# Process: Summarize how much (area) of each type of vegetation is found
# within 100 meters of the stream crossings
statsOutput = "veg_within_100m_of_crossings_stats"
statsFields = [["shape_area", "sum"]]
caseField = "veg_type"
arcpy.Statistics_analysis(clipOutput, statsOutput, statsFields, caseField)
Environments
Информация о лицензиях
- Basic: Ограничено
- Standard: Ограничено
- Advanced: Да