De multiparche a Collada (Conversión)
Resumen
Convierte una o más entidades multiparches en un conjunto de archivos COLLADA 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 resultar en 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, por defecto este 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 un subdirectorio de imágenes, debajo del archivo COLLADA.
Esta herramienta automáticamente sobrescribe 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 sólo 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.
Sintaxis
Parámetro | Explicación | Tipo 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.
| Boolean |
field_name |
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. | String |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python demuestra cómo utilizar la función MultipatchToCollada en el modo inmediato.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.MultipatchToCollada_conversion("Buildings","C:/COLLADA", PREPEND_SOURCE_NAME, "BldName")
La siguiente secuencia de comandos independiente demuestra cómo utilizar la función MultipatchToCollada.
# Name: MultipatchToCollada_Example2.py # Description: The following stand-alone script demonstrates how to use the # MultipatchToCollada tool to convert all multipatch shapefiles # in a target workspace. # Requirements: 3D Analyst extension # Author: ESRI # Import system modules import arcpy from arcpy import env # Obtain a license for the 3D Analyst extension arcpy.CheckOutExtension("3D") # Set environment settings env.workspace = "C:/data" try: # Create list of feature classes in workspace fcList = arcpy.ListFeatureClasses() # Determine if the list contained any feature classes if len(fcList) > 0: # 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": # Set Local Variables ## 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 = "Name" #Execute MultipatchToCollada arcpy.MultipatchToCollada(fc, outDir, prepend, fldName) del outDir, prepend, fldName else: print "There are no multipatch shapefiles in " + env.workspace + "." else: print "There are no feature classes in " + env.workspace + "." except Exception as e: # Returns any other error messages print arcpy.GetMessages(2) del arcpy