ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

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

  • Сводка
  • Иллюстрация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Сводка

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

Иллюстрация

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

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

  • Для такого анализа требуется замкнутая геометрия мультипатч. Инструмент Замкнутые 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
(Дополнительный)

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

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

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

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

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

Table

Пример кода

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

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

import arcpy
from arcpy import env

arcpy.CheckOutExtension('3D')
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
import exceptions, sys, traceback
from arcpy import env

try:
    arcpy.CheckOutExtension('3D')
    # Set environment settings
    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)
    arcpy.CheckInExtension('3D')


except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)

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

  • Текущая рабочая область
  • Экстент
  • Выходная система координат
  • Географические преобразования
  • Выходное ключевое слово CONFIG
  • Автоматическое подтверждение
  • Выходной XY домен
  • Выходной домен Z

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

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

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

  • Обзор группы инструментов 3D-объекты.
  • О 3D объектах
  • Основы геообработки с помощью дополнительного модуля ArcGIS 3D Analyst
  • Работа с операциями пересечения 3D объектов.
  • Как импортировать существующую 3D модель в класс объектов мультипатч
  • Мультипатчи
  • Импорт файлов 3D

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация