Подпись | Описание | Тип данных |
Входные пространственные объекты-мультипатчи | Объекты-мультипатчи, которые будут объединяться. | Feature Layer |
Выходной класс объектов | Выходной класс объектов-мультипатчей, который будет хранить агрегированные объекты. | Feature Class |
Поле группировки (Дополнительный) | Поле, которое будет использовано для идентификации объектов для группировки. | Field |
Выключить оптимизацию (Дополнительный) | Определяет, будет ли выполняться оптимизация входных данных. Оптимизация выполнит предварительную обработку входных данных, сгруппировав их с целью улучшения производительности, и создаст уникальные выходные данные для каждого набора пересекающихся объектов.
| Boolean |
Выводить все объемные фигуры (Дополнительный) | Определяет, будет ли выходной класс объектов содержать все объекты или только перекрывающиеся объекты, которые были объединены.
| Boolean |
Выходная таблица (Дополнительный) | Таблица многие-к-одному, которая идентифицирует входные объекты, попадающие в каждый выходной. | Table |
Краткая информация
Производит слияние замкнутых, перекрывающихся объектов-мультипатчей из входного класса пространственных объектов.
Иллюстрация
Использование
Для такого анализа требуется замкнутая геометрия мультипатч. Инструмент Замкнутые 3D можно использовать, чтобы определить, содержит ли класс объектов-мультипатчей замкнутые объекты. А инструмент Замкнуть мультипатч можно использовать для устранения разрывов в объектах-мультипатчах.
Этот инструмент объединяет пересекающиеся объекты мультипатчи, охватывающие перекрывающиеся объемы, сохраняя самые внешние части входных объектов и удаляя геометрию, которая попадает внутрь объединенного объекта. Может быть создана отдельная таблица для определения исходных объектов, которые были объединены вместе для создания каждого из выходных объектов.
Поле группировки может использоваться для идентификации объединяемых объектов, например в случае, когда несколько мультипатчей представляют собой части одного здания. Это позволяет существенно повысить быстродействие, поскольку уменьшается количество проходов инструмента через весь набор данных. Вместо сравнения одного объекта со всеми объектами, производится только сравнение объекта с участвующими в его группе.
При включении оптимизации инструмент предпринимает попытку самостоятельно разделить объекты на группы, анализируя прямоугольные фигуры, в которые вписан каждый из объектов. Отключение оптимизации увеличит быстродействие инструмента, если было указано поле группировки. Оптимизация также может быть отключена и при отсутствии поля группировки, если в выходных данных требуется объединить все перекрывающиеся объекты в один мультипатч. Внимательно выбирайте количество объектов для агрегирования, поскольку в выходном классе могут получиться большие и сложные объекты, что повлечет за собой низкую производительность при отображении.
Сообщение об ошибке с указанием, что итоговый объект не является простым и не может быть создан, возникает в случае, когда два или более объекта-мультипатча имеют только одну общую вершину или ребро. Это сообщение означает, что объекты не были объединены, так как у них нет общего объема.
Текстуры и цвета из входных объектов мультипатч не будут сохранены в выходных данных.
Параметры
arcpy.ddd.Union3D(in_feature_class, out_feature_class, {group_field}, {disable_optimization}, {output_all}, {out_table})
Имя | Описание | Тип данных |
in_feature_class | Объекты-мультипатчи, которые будут объединяться. | Feature Layer |
out_feature_class | Выходной класс объектов-мультипатчей, который будет хранить агрегированные объекты. | Feature Class |
group_field (Дополнительный) | Поле, которое будет использовано для идентификации объектов для группировки. | Field |
disable_optimization (Дополнительный) |
Определяет, будет ли выполняться оптимизация входных данных. Оптимизация выполнит предварительную обработку входных данных, сгруппировав их с целью улучшения производительности, и создаст уникальные выходные данные для каждого набора пересекающихся объектов.
| Boolean |
output_all (Дополнительный) |
Определяет, будет ли выходной класс объектов содержать все объекты или только перекрывающиеся объекты, которые были объединены.
| Boolean |
out_table (Дополнительный) | Таблица многие-к-одному, которая идентифицирует входные объекты, попадающие в каждый выходной. | Table |
Пример кода
В следующем примере показано использование этого инструмента в окне 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')
В следующем примере показано использование этого инструмента как автономного скрипта 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)