Сводка
Конвертирует один или более объект-мультипатч в набор файлов COLLADA (.dae) и создает ссылки на текстурированные файлы изображений в выходной папке. Входными данными может быть слой или класс пространственных объектов.
Использование
Файлы COLLADA являются XML представлением 3D-объекта, который может иметь ссылки на дополнительные файлы изображений, ведущих себя как текстуры, драпированные в 3D геометрию. Это означает, что экспорт объекта типа мультипатч в COLLADA может привести к созданию нескольких файлов: файла .dae, содержащего XML представление 3D-объекта, и один или несколько файлов изображений (например, файл .jpg или .png), содержащих текстуры.
Этот инструмент создает одно представление COLLADA для каждого объекта типа мультипатч, который он экспортирует. Инструмент использует значение поля из каждого пространственного объекта (по умолчанию, это поле Object ID) для определения имен выходных файлов. Это позволяет облегчить определение того, какой пространственный объект был экспортирован в какой файл COLLADA, а также предоставляет методы для определения уникальных имен при экспорте нескольких пространственных объектов в ту же директорию. Файлы текстур хранятся в той же директории, что и файл COLLADA. Для уменьшения общего размера файла экспорта текстуры, которые используются в нескольких файлах COLLADA – например, повторяющиеся строительные блоки или окна, экспортируются только один раз и указываются в соответствующих файлах DAE.
Этот инструмент автоматически перезаписывает все существующие файлы COLLADA с такими же именами. Если это происходит, дается предупреждение о том, какие файлы были перезаписаны с новым файлом в процессе экспорта. Также возникает сообщение GP для тех пространственных объектов, которые не могут быть экспортированы (например, если выходное местоположение используется только для чтения, или если диск заполнен).
Чтобы убедиться в том, что новый файл COLLADA создан для всех экспортируемых объектов типа мультипатч, задайте пустую или новую папку в качестве директории назначения и выберите поле имени файла, уникальное для каждого пространственного объекта. В результате экспорта двух пространственных объектов с одним атрибутивным значением, получится второй экспортируемый пространственный объект, перезаписывающий файл COLLADA первого объекта.
При повторным обновлении объекта типа мультипатч путем экспорта его в COLLADA и выполнении изменений вне ArcGIS, каждый раз экспортируйте пространственный объект в то же местоположение. Это сохранит один файл на диске для этого пространственного объекта, представляющего самое последнее состояние 3D-объекта.
Если экспортируемый мультипатч – в системе координат проекции (например, здание, хранящееся в зоне UTM, то файл KML, содержащий координаты WGS84, также будет создан в выходной папке. Обратите внимание, что в этом процессе не будет использоваться трансформация датума, которая может привести к позиционным расхождениям при отображении KML.
Подсказка:
При конвертации мультипатчей из слоя инструмент Мультипатч в COLLADA автоматически вносит цвета, определенные в методе отображения слоя. Например, если слой представляет собой объекты отображения на основании атрибута использования, например, красный для коммерческого, синий для жилого и т.д., то такие цвета будут включены в выходной файл COLLADA. Отображаемый цвет применяется и к текстурированным, и к нетекстурированным объектам-мультипатчам, при этом последний требует обновления файлов базовой текстуры объекта. Вы можете использовать один цвет отображения – белый – для экспорта текстурированных мультипатчей с неизмененными изображениями.
Синтаксис
arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name})
Parameter | Объяснение | Тип данных |
in_features | Объекты типа мультипатч для экспорта. | Feature Layer |
output_folder | Папка-адресат, где будут размещены выходные файлы COLLADA и текстурные файлы изображений. | Folder |
prepend_source (Дополнительный) | Добавьте имена выходных файлов COLLADA к имени исходного векторного слоя.
| Boolean |
field_name (Дополнительный) | Атрибут объекта, который будет использоваться в качестве выходного имени файла COLLADA для всех экспортируемых объектов. Если не задано поле, используется Object ID объекта. | Field |
Пример кода
В следующем примере показано использование этого инструмента в окне Python.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA",
"PREPEND_SOURCE_NAME", "BldName")
В следующем примере показано использование этого инструмента в автономном скрипте Python.
'''*********************************************************************
Name: Convert Multipatch To Collada
Description: Converts multipatch features in an input workspace
to a Collada model.
*********************************************************************'''
# Import system modules
import arcpy
# Script variables
inWorkspace = arcpy.GetParameterAsText(0)
# Set environment settings
arcpy.env.workspace = inWorkspace
# Create list of feature classes in workspace
fcList = arcpy.ListFeatureClasses()
# Determine if the list contained any feature classes
if fcList:
# Iterate through each feature class
for fc in fcList:
# Describe the feature class
desc = arcpy.Describe(fc)
# Determine if feature class is a multipatch
if desc.shapeType is 'MultiPatch':
# Ensure unique name for output folder
outDir = arcpy.CreateUniqueName('collada_dir')
# Specify that collada file is prefixed by source name
prepend = 'PREPEND_SOURCE_NAME'
# Specify the feature attribute used to name Collada files
fldName = 'OID'
#Execute MultipatchToCollada
arcpy.MultipatchToCollada(fc, outDir, prepend, fldName)
else:
print('There are no feature classes in {0}.'.format(inWorkspace))
Environments
Информация о лицензиях
- Basic: Да
- Standard: Да
- Advanced: Да