Etiqueta | Explicación | Tipo de datos |
Entidades multiparche de entrada | Las entidades multiparche que se van a exportar. | Feature Layer |
Carpeta COLLADA de salida | La carpeta de destino en la que se colocarán los archivos COLLADA de salida y los archivos de imagen de textura. | Folder |
Anteponer nombre de origen (Opcional) | Especifica si los nombres de los archivos COLLADA de salida irán precedidos por el nombre de la capa de entidades de origen.
| Boolean |
Usar nombre de campo (Opcional) | El atributo de entidad que se utilizará como el nombre de archivo COLLADA de salida para cada entidad exportada. Si no se especifica ningún campo, se utilizará Id. de objeto de la entidad. | Field |
Versión de COLLADA | Especifica la versión de COLLADA a la que se exportarán los archivos.
| String |
Resumen
Convierte una o varias entidades multiparche en un conjunto de archivos COLLADA (.dae) y hace referencia a archivos de imagen de textura en una carpeta de salida.
Uso
Un archivo COLLADA es una representación XML de un objeto 3D que puede hacer referencia a archivos de imagen adicionales que actúan como texturas desplegadas en la geometría 3D. Significa que la exportación de una entidad multiparche a COLLADA puede resultar en la creación de varios archivos: un archivo .dae que contiene la representación XML del objeto 3D y uno o varios archivos de imagen (por ejemplo, un archivo .jpg o .png) que contienen 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 (de forma predeterminada, es el Id. de objeto) para definir los nombres de archivo de salida. Permite identificar qué entidad se exportó a qué archivo COLLADA y proporciona la metodología para definir nombres únicos al exportar 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 (por ejemplo, una textura repetitiva de ventanas o ladrillos) solo se exportan una vez y se hace referencia a ellas en los archivos .dae aplicables.
Esta herramienta sobrescribe automáticamente los archivos COLLADA existentes con el mismo nombre de archivo. Cuando esto ocurre, aparece un mensaje de advertencia que indica los archivos que se sobrescribieron con un nuevo archivo durante el proceso de exportación. También se genera un mensaje de geoprocesamiento para las entidades que no se pueden exportar; por ejemplo, si la ubicación de salida es de solo lectura o el disco está lleno.
Para asegurarse de que se crea un nuevo archivo COLLADA para todas las entidades multiparche que se exportaron, establezca el directorio de destino en 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 hará que la segunda entidad exportada sobrescriba el archivo COLLADA de la primera.
Cuando actualice una entidad multiparche de forma iterativa exportándola a COLLADA y realice cambios fuera de ArcGIS, exporte la entidad a la misma ubicación cada vez. Así, mantendrá un único archivo en el disco para esa entidad, que representa el estado más actualizado del objeto 3D.
Si el multiparche exportado está en un sistema de coordenadas proyectadas, como un edificio almacenado en una zona UTM, en la carpeta de salida también se creará un archivo .kml que contiene las coordenadas como WGS84. Este proceso no utiliza una transformación de datum, lo que puede resultar en discrepancias de posición al visualizar el KML.
Sugerencia:
Al convertir multiparches de una capa, la herramienta integrará automáticamente los colores definidos en el renderizador de la capa. Por ejemplo, si la capa renderiza las entidades basándose en un atributo de tipo de uso (como rojo para comercial, azul para residencial, etc.), estos colores se incluirán en los archivos COLLADA de salida. El color visualizado se aplica a las entidades multiparche tanto con textura como sin ella, y estas últimas requieren una actualización en los archivos de la textura subyacente de la entidad. Puede utilizar el blanco como color de visualización único para exportar multiparches texturados con imágenes sin alterar.
Parámetros
arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name}, collada_version)
Nombre | Explicación | Tipo de datos |
in_features | Las entidades multiparche que se van a exportar. | Feature Layer |
output_folder | La carpeta de destino en la que se colocarán los archivos COLLADA de salida y los archivos de imagen de textura. | Folder |
prepend_source (Opcional) | Especifica si los nombres de los archivos COLLADA de salida irán precedidos por el nombre de la capa de entidades de origen.
| Boolean |
field_name (Opcional) | El atributo de entidad que se utilizará como el nombre de archivo COLLADA de salida para cada entidad exportada. Si no se especifica ningún campo, se utilizará Id. de objeto de la entidad. | Field |
collada_version | Especifica la versión de COLLADA a la que se exportarán los archivos.
| String |
Muestra de código
En el siguiente ejemplo se muestra cómo usar esta herramienta en la ventana de Python.
import arcpy
arcpy.env.workspace = "C:/data"
arcpy.conversion.MultipatchToCollada("Sample.gdb/Buildings", "C:/COLLADA",
"PREPEND_SOURCE_NAME", "BldName")
En el siguiente ejemplo se muestra cómo usar esta herramienta en una secuencia de comandos 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'
# Run MultipatchToCollada
arcpy.conversion.MultipatchToCollada(fc, outDir, prepend, fldName)
else:
print('There are no feature classes in {0}.'.format(inWorkspace))