Multipatch vers Collada (Conversion)
Récapitulatif
Convertit une ou plusieurs entités multipatch en collection de fichiers COLLADA et de fichiers image de type texture référencés dans un dossier en sortie. Il est possible d'avoir en entrée une couche ou une classe d'entités.
Utilisation
-
Les fichiers COLLADA sont une représentation XML d'un objet 3D qui peut référencer des fichiers image supplémentaires qui agissent comme des textures drapées sur la géométrie 3D. Cela signifie que l'exportation d'une entité multipatch vers COLLADA peut aboutir à la création de plusieurs fichier, un fichier .dae contenant la représentation XML de l'objet 3D et un ou plusieurs fichiers image (par exemple, un fichier .jpg ou .png ) pour les textures.
Cet outil crée une représentation COLLADA pour chaque entité multipatch qu'il exporte. L'outil utilise une valeur de champ de chaque entité pour définir les nom de fichier en sortie. Par défaut, il s'agit de la valeur de champ Identifiant de l'objet. Cette procédure facile l'identification de l'entité exportée et du fichier COLLADA destinataire de l'export et propose une méthode pour définir des noms uniques lors de l'exportation de plusieurs entités vers le même répertoire. Les fichiers de texture sont stockés dans un sous-répertoire d'images, au-dessous du fichier COLLADA.
Cet outil remplace automatiquement tous les fichiers COLLADA existants portant le même nom de fichier. Dans ce cas, un message d'avertissement indique quels fichiers ont été remplacés par un nouveau fichier pendant le processus d'exportation. Le système renvoie également un message GP lorsque l'exportation des entités à échoué, par exemple si l'emplacement en sortie est accessible en lecture seule ou si le disque est saturé.
Pour garantir qu'un nouveau fichier COLLADA est créé pour toutes les entités multipatch exportées, sélectionnez comme répertoire de destination un nouveau dossier ou un dossier vide et choisissez comme nom de fichier un nom unique pour chaque entité. Si vous exportez deux entités avec la même valeur attributaire, l'entité exportée en second vient remplacer le fichier COLLADA de la première entité exportée.
Lorsque vous effectuez une mise à jour itérative d'une entité multipatch en l'exportant vers un fichier COLLADA et en apportant des modifications en dehors d'ArcGIS, veillez à exporter chaque fois l'entité vers le même emplacement. Vous aurez ainsi un fichier unique associé à cette entité sur le disque, contenant la dernière mise à jour de l'objet 3D.
Si le multipatch exporté se trouve dans un système de coordonnées projetées (construction stockée dans une zone UTM, par exemple), un fichier KML qui contient les coordonnées au format WGS84 est alors également créé dans le dossier en sortie. Notez que ce processus n'utilise pas de transformation de datum, car cela risquerait de provoquer des écarts de localisation lors de l'affichage du fichier KML.
Syntaxe
Paramètre | Explication | Type de données |
in_features |
Entités multipatch à exporter. | Feature Layer |
output_folder |
Dossier de destination contenant les fichiers COLLADA et les fichiers image de type texture en sortie. | Folder |
prepend_source (Facultatif) | Ajoute un préfixe aux noms de fichier COLLADA en sortie avec le nom de la couche d'entité source.
| Boolean |
field_name |
Attribut d'entité à utiliser comme nom de fichier COLLADA en sortie pour chaque entité exportée. Si aucun champ n'est spécifié, le système utilise l'identifiant objet de l'entité. | String |
Exemple de code
Le script de fenêtre Python suivant montre comment utiliser la fonction MultipatchToCollada en mode immédiat.
import arcpy from arcpy import env env.workspace = "C:/data" arcpy.MultipatchToCollada_conversion("Buildings","C:/COLLADA", PREPEND_SOURCE_NAME, "BldName")
Le script autonome suivant montre comment utiliser la fonction 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