Étiquette | Explication | Type de données |
Entités multipatch en entrée | Entités multipatch à exporter. | Feature Layer |
Dossier COLLADA en sortie | Dossier de destination des fichiers COLLADA et fichiers image de texture en sortie. | Folder |
Préfixer le nom source (Facultatif) | Indique si les noms des fichiers COLLADA en sorties sont préfixés avec le nom de la couche d'entités source.
| Boolean |
Utiliser le nom de champ (Facultatif) | Attribut d'entité utilisé comme nom de fichier COLLADA en sortie pour chaque entité exportée. Si aucun champ n'est spécifié, l'ID d'objet de l'entité est utilisé. | Field |
Version de COLLADA | Indique la version de COLLADA dans laquelle les fichiers sont exportés.
| String |
Synthèse
Convertit une ou plusieurs entités multipatch en une collection de fichiers COLLADA (.dae) et de fichiers image de texture référencés dans un dossier en sortie.
Utilisation
Un fichier COLLADA est une représentation XML d'un objet 3D qui peut faire référence à des fichiers image supplémentaires faisant office de textures drapées sur la géométrie 3D. Cela signifie que l'exportation d'une entité multipatch dans COLLADA peut entraîner la création de plusieurs fichiers (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) qui contient les textures.
Cet outil crée une représentation COLLADA par entité multipatch qu'il exporte. Cet outil utilise une valeur de champ de chaque entité (par défaut, il s'agit de l'ID objet) pour définir les noms de fichier en sortie. Cela permet de déterminer quelle entité a été exportée dans quel fichier COLLADA et fournit la méthodologie de définition de noms uniques lors de l'exportation de plusieurs entités dans le même répertoire. Les fichiers de texture sont stockés dans le même répertoire que le fichier COLLADA. Pour minimiser la taille totale du fichier d'exportation, les textures utilisées dans plusieurs fichiers COLLADA (par exemple, une texture de briques ou de fenêtres répétées) ne sont exportées qu'une seule fois et sont référencées par les fichiers .dae applicables.
Cet outil remplace automatiquement les fichiers COLLADA existants par les mêmes noms de fichier. Lorsque cela se produit, un message d'avertissement indique les fichiers remplacés par un nouveau fichier lors de l'exportation. Un message de géotraitement est également généré pour les entités dont l'exportation a échoué (par exemple, si l'emplacement en sortie est en lecture seule ou que le disque est saturé).
Pour qu'un fichier COLLADA soit créé pour toutes les entités multipatch exportées, spécifiez un répertoire de destination vide ou un nouveau dossier et sélectionnez un champ de nom de fichier unique pour chaque entité. Si deux entités possédant la même valeur attributaire sont exportées, la deuxième entité remplace le fichier COLLADA de la première.
Lors de la mise à jour itérative d'une entité multipatch en l'exportant dans COLLADA et en apportant des modifications en dehors d'ArcGIS, exportez toujours l'entité dans le même emplacement. Ainsi, un seul fichier est conservé sur le disque pour cette entité et ce fichier représente l'état le plus à jour de l'objet 3D.
Si le multipatch exporté se trouve dans un système de coordonnées projetées, tel qu'un bâtiment stocké dans une zone UTM, un fichier .kml contenant les coordonnées au format WGS84 est également créé dans le dossier en sortie. Ce traitement n'utilise pas de transformation de datum, ce qui peut générer des écarts de positionnement lors de l'affichage du fichier KML.
Conseil :
Lors de la conversion de multipatch d'une couche, l'outil imbrique automatiquement les couleurs définies dans le moteur de rendu de la couche. Par exemple, si la couche affiche les entités en fonction d'un attribut de type d'utilisation (par exemple, rouge pour commercial, bleu pour résidentiel, etc.), ces couleurs sont incluses dans les fichiers COLLADA en sortie. La couleur affichée est appliquée aux entités multipatch texturées et non texturées, les premières nécessitant une mise à jour des fichiers de texture sous-jacents de l'entité. Vous pouvez utiliser exclusivement la couleur d'affichage blanche pour exporter les multipatch texturés avec les images non modifiées.
Paramètres
arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name}, collada_version)
Nom | Explication | Type de données |
in_features | Entités multipatch à exporter. | Feature Layer |
output_folder | Dossier de destination des fichiers COLLADA et fichiers image de texture en sortie. | Folder |
prepend_source (Facultatif) | Indique si les noms des fichiers COLLADA en sorties sont préfixés avec le nom de la couche d'entités source.
| Boolean |
field_name (Facultatif) | Attribut d'entité utilisé comme nom de fichier COLLADA en sortie pour chaque entité exportée. Si aucun champ n'est spécifié, l'ID d'objet de l'entité est utilisé. | Field |
collada_version | Indique la version de COLLADA dans laquelle les fichiers sont exportés.
| String |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
import arcpy
from arcpy import env
env.workspace = "C:/data"
arcpy.MultipatchToCollada_conversion("Sample.gdb/Buildings", "C:/COLLADA",
"PREPEND_SOURCE_NAME", "BldName")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''*********************************************************************
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))
Environnements
Informations de licence
- Basic: Oui
- Standard: Oui
- Advanced: Oui
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?