É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 contenant les fichiers COLLADA et les fichiers image de type texture en sortie. | Folder |
Nom initial de la source
(Facultatif) | Ajoute un préfixe aux noms de fichier COLLADA en sortie avec le nom de la couche d'entité source.
| Boolean |
Utiliser le nom de champ
(Facultatif) | 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é. | Field |
Synthèse
Convertit une ou plusieurs entités multipatch en collection de fichiers COLLADA (.dae) 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 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) 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 noms 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 le même répertoire que le fichier COLLADA. Pour réduire la taille totale du fichier d'exportation, les textures qui sont utilisées dans plusieurs fichiers COLLADA (par exemple une brique répétée ou une texture de vitrine) ne sont exportées qu'une seule fois, puis référencées par les fichiers DAE appropriés.
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.
Conseil :
Lorsque vous convertissez des multipatchs à partir d'une couche, l'outil Multipatch vers COLLADA incorpore automatiquement toutes les couleurs définies dans le moteur de rendu de la couche. Par exemple, si la couche affiche des entités selon un attribut de type d'utilisation (par exemple rouge pour un usage commercial, bleu pour un usage résidentiel, etc.), ces couleurs sont incluses dans les fichiers COLLADA en sortie. La couleur affichée s'applique aux deux entités multipatch avec et sans texture, la première nécessitant une mise à jour des fichiers de texture sous-jacents de l'entité. Vous pouvez utiliser le blanc comme couleur d'affichage unique pour exporter des multipatchs texturés avec des images inchangées.
Paramètres
arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name})
Nom | 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 (Facultatif) | 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é. | Field |
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 ?