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

Краткая информация

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

Иллюстрация

Иллюстрация инструмента Объединение 3D

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

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

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

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

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

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

  • Текстуры и цвета из входных объектов мультипатч не будут сохранены в выходных данных.

Параметры

ПодписьОписаниеТип данных
Входные пространственные объекты-мультипатчи

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

Feature Layer
Выходной класс объектов

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

Feature Class
Поле группировки
(Дополнительный)

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

Field
Выключить оптимизацию
(Дополнительный)

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

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

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

  • Отмечено – в результат будут записаны все входные объекты. Это значение по умолчанию
  • Не отмечено – в результат будут записаны только объединенные объекты. Не перекрывающие объекты будут проигнорированы.
Boolean
Выходная таблица
(Дополнительный)

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

Table

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
(Дополнительный)

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

  • 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)

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