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

Уровень лицензии:BasicStandardAdvanced

Резюме

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

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

Рисунок

Intersect illustration

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

Синтаксис

Intersect_analysis (in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {output_type})
ПараметрОбъяснениеТип данных
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 (или и то и другое).

Linear unit
output_type
(дополнительно)

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

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

Пример кода

Пересечение. Пример (окно Python)

Пример скрипта Python для выполнения функции Пересечение (Intersect) с запуском из окна Python в ArcGIS.

import arcpy
from arcpy import env
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", "", "")
Пересечение. Пример 2 (автономный скрипт)

Пример использования функции Пересечение (Intersect) как части рабочего процесса анализа для определения типа растительности в радиусе 100 метров от области пересечения всех потоков (автономный режим).

#Name: VegRoadIntersect.py
# Purpose: Determine the type of vegetation within 100 meters of all stream crossings
#Author: ESRI

# Import system modules
import arcpy
from arcpy import env
 
try:
    # Set the workspace (to avoid having to type in the full path to the data every time)
    env.workspace = "c:/data/data.gdb"    
    
    # Process: Find all stream crossings (points)
    inFeatures = ["roads", "streams"]
    intersectOutput = "stream_crossings"
    clusterTolerance = 1.5    
    arcpy.Intersect_analysis(inFeatures, intersectOutput, "", clusterTolerance, "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 meter 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)
 
except Exception, e:
    # If an error occurred, print line number and error message
    import traceback, sys
    tb = sys.exc_info()[2]
    print "Line %i" % tb.tb_lineno
    print e.message

Параметры среды

Связанные темы

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

ArcGIS for Desktop Basic: Требует Ограничено
ArcGIS for Desktop Standard: Требует Ограничено
ArcGIS for Desktop Advanced: Требует Да
9/10/2013