Multipatch vers COLLADA (Conversion)

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

ÉtiquetteExplicationType 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.

  • Activé : les noms des fichiers sont préfixés avec le nom de la couche d'entités source.
  • Désactivé : les noms des fichiers ne sont pas préfixés avec le nom de la couche d'entités source. Il s’agit de l’option par défaut.

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.

  • 1,5Les fichiers sont exportés dans COLLADA version 1.5. La version 1.5 prend en charge l'inclusion des informations de géoréférencement et des fonctionnalités de rendu améliorées. Il s’agit de l’option par défaut.
  • 1.4Les fichiers sont exportés dans COLLADA version 1.4. La version 1.4 est la norme largement prise en charge utilisée sur de nombreuses plateformes d'application associées. Sélectionnez cette version si le fichier COLLADA doit être utilisé sur des systèmes qui ne prennent pas en charge la version 1.5.
String

arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name}, collada_version)
NomExplicationType 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.

  • PREPEND_SOURCE_NAMELes noms des fichiers sont préfixés avec le nom de la couche d'entités source.
  • PREPEND_NONELes noms des fichiers ne sont pas préfixés avec le nom de la couche d'entités source. Il s’agit de l’option par défaut.
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.

  • 1.5Les fichiers sont exportés dans COLLADA version 1.5. La version 1.5 prend en charge l'inclusion des informations de géoréférencement et des fonctionnalités de rendu améliorées. Il s’agit de l’option par défaut.
  • 1.4Les fichiers sont exportés dans COLLADA version 1.4. La version 1.4 est la norme largement prise en charge utilisée sur de nombreuses plateformes d'application associées. Sélectionnez cette version si le fichier COLLADA doit être utilisé sur des systèmes qui ne prennent pas en charge la version 1.5.
String

Exemple de code

Exemple 1 d'utilisation de l'outil MultipatchToCollada (fenêtre Python)

L’exemple suivant illustre l’utilisation de cet outil dans la fenêtre Python.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.conversion.MultipatchToCollada("Sample.gdb/Buildings", "C:/COLLADA", 
                                     "PREPEND_SOURCE_NAME", "BldName")
Exemple 2 d'utilisation de l'outil MultipatchToCollada (script autonome)

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'
           # Run MultipatchToCollada
           arcpy.conversion.MultipatchToCollada(fc, outDir, prepend, fldName)
else:
    print('There are no feature classes in {0}.'.format(inWorkspace))

Environnements

Cet outil n’utilise pas d’environnement de géotraitement.

Rubriques connexes