Пересечение 3D-линий (3D Analyst)

Сводка

Вычисляет пересечение и наложение сегментов линий в 3D пространстве.

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

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

  • У входных объектов должен быть пространственный индекс. Используйте инструмент Добавить пространственный индекс, чтобы его построить (особенно это касается шейп-файлов) или перестроить уже существующий, чтобы он был абсолютно точен.

  • Если на вход подаются 2D линии, то предполагается, что высота всех вершин равна нулю.

  • Если пересекаются две линии с разными значениями z, поскольку разрешен вертикальный допуск для поиска пересечений, то выходная точка будет использовать большую из двух высот. Аналогично, если пересекаются два линейных сегмента с разными значениями z, то выходной линейный объект будет основан на сегментах с большим значением z.

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

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

  • Выходные точечные объекты будут включать следующие поля атрибутов:

    • I3L_TYPE—значение 0 говорит о точке, которая является конечной точкой перекрывающегося линейного сегмента, а значение 1 - пересечение двух линий.
    • I3L_GROUP—уникальное значение, которое идентифицирует все точки, у которых одно и то же местоположение в горизонтальном пространстве.
    • I3L_OID1—ID первого пересекающегося линейного объекта.
    • I3L_OID2—ID второго пересекающегося линейного объекта.
    • I3L_LINE1Z—значение Z точки пересечения на первой линии.
    • I3L_LINE2Z—значение Z точки пересечения второй линии.
    • I3L_Z_DIFF—разница в значениях Z между двумя входными линиями в точке пересечения XY.

Синтаксис

arcpy.3d.Intersect3DLines(in_lines, {max_z_diff}, {join_attributes}, {out_point_fc}, {out_line_fc})
ParameterОбъяснениеТип данных
in_lines
[in_lines,...]

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

Feature Layer
max_z_diff
(Дополнительный)

Максимальное расстояние по вертикали между пересекающимися сегментами.

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

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

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

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

Feature Class
out_line_fc
(Дополнительный)

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

Feature Class

Производные выходные данные

NameОбъяснениеТип данных
out_intersection_count

Количество найденных местоположений пересечений во входных линиях.

Long

Пример кода

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

В следующем примере показано использование этого инструмента в окне Python.

import arcpy
arcpy.env.workspace = 'C:/data'
arcpy.ddd.Intersect3DLines(['floor_centerlines.shp', 'stairs.shp'], '2 Meters', 
                           'ONLY_FID', 'intersection_pts.shp')

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

  • Basic: Требуется 3D Analyst или ArcGIS Location Referencing
  • Standard: Требуется 3D Analyst или ArcGIS Location Referencing
  • Advanced: Требуется 3D Analyst или ArcGIS Location Referencing

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