Объединение 3D (3D Analyst)

Сводка

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

Иллюстрация

Объединение 3D

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

  • Для такого анализа требуется замкнутая геометрия мультипатч. Инструмент Замкнутые 3D можно использовать, чтобы определить, содержит ли класс объектов-мультипатчей замкнутые объекты. А инструмент Замкнуть мультипатч можно использовать для устранения разрывов в объектах-мультипатчах.

  • Объекты-мультипатчи, включающие в себя перекрывающиеся объемы, объединяются путем пересечения оболочек этих объектов, затем происходит удаление избыточных внутренних частей. Этот процесс повторяется итеративно до тех пор, пока не будут обработаны все мультипатчи в классе пространственных объектов.

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

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

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

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

  • Дополнительно может быть создана таблица с указанием атрибутов исходных объектов, которые были объединены в один выходной объект (для всех выходных объектов).

Синтаксис

arcpy.3d.Union3D(in_feature_class, out_feature_class, {group_field}, {disable_optimization}, {output_all}, {out_table})
ParameterОбъяснениеТип данных
in_feature_class

Объекты-мультипатчи, которые будут объединяться.

Feature Layer
out_feature_class

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

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

Поле, применяемое для идентификации пространственных объектов, которые следует объединить в один объект.

Field
disable_optimization
(Дополнительный)

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

  • ENABLEОптимизация включена, а поле группировки игнорируется. Используется по умолчанию. Используется по умолчанию.
  • DISABLEОптимизация входных данных не будет произведена. Объекты будут либо сохранены по-отдельности, либо соединены в соответствии с полем группировки – если оно задано.
Boolean
output_all
(Дополнительный)

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

  • ENABLEВ результат записываются все входные объекты. Используется по умолчанию.
  • DISABLEВ результат записываются только объединенные объекты. Не перекрывающие объекты будут пропущены.
Boolean
out_table
(Дополнительный)

Таблица многие-к-одному, находящая входные объекты, попадающие в каждый выходной.

Table

Пример кода

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

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

import arcpy
from arcpy import env

env.workspace = 'C:/data'
arcpy.Union3D_3d('multipatch.shp', 'union_output.shp', 'GROUP_FIELD', 
                'DISABLE', 'ENABLE', 'UnionTable.dbf')
Union3D, пример 2 (автономный скрипт)

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

'''****************************************************************************
Name: Union3D Example
Description: This script demonstrates how to use the 
             Union3D tool.
****************************************************************************'''
# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = 'C:/data'

# Set Local Variables
inMP = "multipatch.shp"

# Ensure output multipatch has a unique name
outMP = arcpy.CreateUniqueName("union_output.shp")
outTbl = arcpy.CreateUniqueName("UnionTable.dbf")
GroupField = "Type"
optimize = "DISABLE"
solids = "ENABLE"

# Execute Union3D
arcpy.ddd.Union3D(inMP, outMP, GroupField, optimize, solids, outTbl)

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

  • Basic: Требуется 3D Analyst
  • Standard: Требуется 3D Analyst
  • Advanced: Требуется 3D Analyst

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