De multiparche a Collada (Conversión)

Resumen

Convierte una o más entidades multiparches en un conjunto de archivos COLLADA (.dae) y hacen referencia a archivos de imagen de textura en una carpeta de salida. Las entradas pueden ser una capa o clase de entidad.

Uso

  • Los archivos COLLADA son una representación XML de un objeto 3D que pueden hacer referencia a archivos de imagen adicional que actúan como texturas desplegadas en la geometría 3D. Esto significa que exportar una entidad multiparche a COLLADA puede dar como resultado la creación de varios archivos: un archivo .dae que contiene la representación XML del objeto 3D y uno o más archivos de imagen (por ejemplo, un archivo .jpg o .png) que contiene las texturas.

  • Esta herramienta crea una representación COLLADA para cada entidad multiparche que exporta. Esta herramienta utiliza un valor de campo de cada entidad, que por defecto es el Object ID, para definir los nombres de archivo de salida. Esto permite una identificación más fácil de qué entidad se exportó a qué archivo COLLADA y también proporciona la metodología para definir nombres únicos cuando se exportan varias entidades al mismo directorio. Los archivos de textura se almacenan en el mismo directorio que el archivo COLLADA. Para minimizar el tamaño total del archivo de exportación, las texturas que se utilizan en varios archivos COLLADA, como una textura de ladrillo o ventana repetida, solo se exportan una vez y los archivos DAE pertinentes hacen referencia a ella.

  • Esta herramienta sobrescribe automáticamente cualquier archivo COLLADA existente con el mismo nombre de archivo. Cuando esto ocurre, se proporciona un mensaje de advertencia que establece qué archivos se sobrescribieron con un nuevo archivo durante el proceso de exportación. También se genera un mensaje GP para cualquier entidad que no se pueda exportar, por ejemplo, si la ubicación de salida es de solo lectura o el disco está lleno.

  • Para asegurarse de que se cree un nuevo archivo COLLADA para todas las entidades multiparches que se exportaron, establezca el directorio de destino a una carpeta vacía o nueva y elija un campo de nombre de archivo que sea único para cada entidad. Exportar dos entidades con el mismo valor de atributo provocará que la segunda entidad que se exportó sobrescriba el archivo COLLADA de la primera.

  • Cuando actualiza una entidad multiparche de manera iterativa al exportarla a COLLADA y realiza cambios fuera de ArcGIS, exporte la entidad a la misma ubicación todas la veces. Esto mantendrá un solo archivo en el disco para esa entidad, lo que representa el estado más actualizado del objeto 3D.

  • Si el multiparche que se exportó está en un sistema de coordenadas proyectadas, como un edificio almacenado en una zona UTM, también se crea un archivo KML con las coordenadas como WGS84 en la carpeta de salida. Tenga en cuenta que este proceso no utiliza una transformación de datum, que puede resultar en discrepancias de posición cuando se visualiza el KML.

    Sugerencia:

    Cuando convierta multiparches desde una capa, la herramienta De multiparche a COLLADA integrará automáticamente los colores definidos en el renderizador de la capa. Por ejemplo, si la capa está representando entidades según una entidad de tipo de uso, por ejemplo rojo para comercial y azul para residencial, y así sucesivamente, estos colores se incluirán en los archivos COLLADA de salida. El color visualizado se aplica tanto a las entidades multiparche con y sin textura, necesitando esta última una actualización para los archivos de textura subyacentes de la entidad. Puede usar un solo color de visualización, como el blanco, para exportar multiparches con textura con imágenes inalteradas.

Sintaxis

arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name})
ParámetroExplicaciónTipo de datos
in_features

Las entidades multiparches que se van a exportar.

Feature Layer
output_folder

La carpeta de destino en la que se ubicarán los archivos COLLADA de salida y los archivos de imagen de textura.

Folder
prepend_source
(Opcional)

Anteponga los nombres de archivo de los archivos COLLADA de salida con el nombre de la capa de entidades de origen.

  • PREPEND_SOURCE_NAMEAntepone los nombres de archivo.
  • PREPEND_NONENo antepone los nombres de archivo. Esta es la opción predeterminada.
Boolean
field_name
(Opcional)

El atributo de entidad que se va a utilizar como el nombre de archivo COLLADA de salida para cada entidad que se exportó. Si no se especifica ningún campo, se utiliza el Object ID de la entidad.

Field

Muestra de código

Ejemplo 1 de MultipatchToCollada (ventana de Python)

En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.

import arcpy
from arcpy import env

env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA", 
                                   "PREPEND_SOURCE_NAME", "BldName")
Ejemplo 2 de MultipatchToCollada (secuencia de comandos independiente)

En el siguiente ejemplo se muestra cómo usar esta herramienta en un script independiente de 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))

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados