Пересечение (Анализ)

Сводка

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

Для выполнения операций пересечения доступны и другие инструменты. Изучить подробности можно в документации к инструменту Попарное пересечение.

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

Более подробно о том, как работает инструмент Пересечение

Иллюстрация

Иллюстрация инструмента Пересечение

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

  • Входными объектами должны быть простые пространственные объекты: точки, мультиточки, линии или полигоны. Входные объекты не могут быть сложными, такими как объекты-аннотации, объекты-размеры или сетевые объекты.

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

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

  • Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (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
(Дополнительный)

Определяет, какие атрибуты входных объектов будут перенесены в выходной класс объектов.

  • ALLВсе атрибуты из входных объектов будут перенесены в выходной класс объектов. Это значение по умолчанию.
  • NO_FIDВсе атрибуты, кроме FID, из входных объектов будут перенесены в выходной класс объектов.
  • ONLY_FIDВ выходной класс объектов будет скопировано только поле FID из входных объектов.
String
cluster_tolerance
(Дополнительный)

Минимальное расстояние, разделяющее координаты всех объектов (узлы и вершины), а также расстояние, на которое может переместиться координата по x или y (или по x и y).

Внимание:

Изменение значения этого параметра может привести к сбою или неожиданным результатам. Рекомендуется не изменять этот параметр. Он был удален из поля зрения в диалоговом окне инструмента. По умолчанию используется свойство пространственной привязки допуск x,y входного класса пространственных объектов.

Linear Unit
output_type
(Дополнительный)

Задает тип возвращаемых пересечений.

  • INPUTРезультирующие объекты пересечения будут иметь тот же тип геометрии, что и входные объекты с геометрией самого низкого порядка. Если все входные объекты – полигоны, результирующий класс объектов также будет полигональным. Если один или несколько входных классов объектов – линейные и среди входных классов нет точечных объектов, результирующий класс будет линейным. Если один из входных классов объектов представлен точечными объектами, результирующий класс также будет содержать точки. Это значение по умолчанию.
  • LINEБудет возвращена линия пересечения. Эта опция используется, если среди входных классов нет точечных объектов.
  • POINTБудет возвращена точка пересечения. Если входные данные – линии или полигоны, выходными данными будет класс мультиточечных объектов.
String

Пример кода

Intersect, пример (окно Python)

Пример скрипта окна 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, пример 2 (автономный скрипт)

Пример использования функции 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)

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

  • Basic: Ограничено
  • Standard: Ограничено
  • Advanced: Да

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