Résumé
Exporte des couches d'entités avec propriétés d'affichage en 3D vers des lignes 3D ou des entités multipatch.
Utilisation
Les règles procédurales et les symboles attributaires sont pris en charge par cet outil et sont conservés dans le multipatch obtenu.
Les couches d’entités dont la symbologie présente les propriétés suivantes sont exportées dans un multipatch :
- Paramètres d'extrusion ou de hauteur de base.
- Symboles ponctuels de type caractère avec profondeur.
- Symboles ponctuels de type modèle 3D dont la taille est spécifiée en unités réelles, tels que les pieds, les pouces, les mètres et les centimètres. La couleur (notamment la couleur de texture) est la seule propriété de matériau provenant de la symbologie ponctuelle de type 3D qui est respectée.
- Les symboles ponctuels de type image peuvent uniquement être convertis en multipatchs s’ils s’affichent dans une étendue spatiale fixe. C’est-à-dire qu’ils doivent être affichés avec des unités réelles et ils ne peuvent pas avoir d’effet billboard.
- Symbologie linéaire.
- Symbologie de polygone. Si une couche de polygones est fournie sans propriétés d'affichage en 3D, elle est exportée en tant que multipatch ressemblant au polygone.
Cet outil ne prend pas en charge les entités symbolisées avec les propriétés suivantes :
- Symboles ponctuels de type forme fournis avec un fichier sur le disque.
- Couches rasterisées drapées à la surface de la scène.
- Symboles ponctuels de type forme provenant d'une police mais qui n'ont pas de propriété de profondeur.
- Symboles ponctuels de type 3D dont la taille n’est pas spécifiée en unités réelles, comme les pieds, pouces, mètres ou centimètres.
- Symboles ponctuels avec effet billboard. La position de ces symboles 2D est orientée de façon dynamique pour faire face à la caméra dans une scène 3D. Ils n'ont donc pas d'orientation fixe susceptible d'être utilisée pour l'exportation.
Les paramètres d'environnement de la tolérance XYZ et de la résolution sont uniquement pris en charge lorsque la sortie est une entité linéaire.
Syntaxe
arcpy.3d.Layer3DToFeatureClass(in_feature_layer, out_feature_class, {group_field}, {disable_materials})
Paramètre | Explication | Type de données |
in_feature_layer | Couche d'entités en entrée avec propriétés d'affichage en 3D définies. | Feature Layer |
out_feature_class | Classe d’entités en sortie avec des entités 3D. Les points extrudés seront exportés sous forme de lignes 3D. Les points avec symboles 3D, les lignes extrudées et les polygones seront exportés sous forme d’entités multipatch. | Feature Class |
group_field (Facultatif) | Champ de texte de l'entité en entrée qui servira à fusionner plusieurs entités en entrée dans la même entité en sortie. Les attributs restants de la sortie obtenue sont hérités d'un des enregistrements en entrée. | Field |
disable_materials (Facultatif) | Spécifie si les propriétés des couleurs et textures seront conservées lors de l’exportation d’une couche 3D vers une classe d’entités multipatch.
| Boolean |
Exemple de code
L'exemple suivant illustre l'utilisation de cet outil dans la fenêtre Python.
arcpy.env.workspace = "C:/data"
arcpy.Layer3DToFeatureClass_3d("Points_3D.lyr", "Test.gdb/trees")
L'exemple suivant illustre l'utilisation de cet outil dans un script Python autonome.
'''****************************************************************************
Name: Layer3DToFeatureClass Example
Description: This script demonstrates how to use the
Layer3DToFeatureClass tool to create multipatches from all
layers in a target workspace. The layer files are assumed to have
been saved wtih 3D rendering from ArcScene.
****************************************************************************'''
# Import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = "C:/data"
# Use the ListFiles method to identify all layer files in workspace
if arcpy.ListFiles("*.lyr"):
for lyrFile in arcpy.ListFiles("*.lyr"):
# Set Local Variables
outFC = "Test.gdb/{0}".format(lyrFile[:-4]) #Strips '.lyr' from name
#Execute Layer3DToFeatureClass
arcpy.Layer3DToFeatureClass_3d(file, outFC)
else:
print("There are no layer files in {0}.".format(env.workspace))
Environnements
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?