Couche 3D vers classe d'entités (3D Analyst)
Récapitulatif
Exporte des couches d'entités dont les propriétés 3D sont définies sur une classe d'entités multipatch.
Utilisation
-
Seules les entités dont le rendu peut être conservé en tant que multipatch sont converties, par exemple les points symbolisés par des symboles ponctuels 3D. Les symboles de remplissage de texture et les couches ArcMap ne sont pas pris en charge, car ils ne conservent aucune propriété 3D.
-
Seules certaines propriétés 3D s'appliquent, notamment :
- des symboles 3D attribués aux points,
- des symboles 3D attribués aux lignes,
- l'extrusion appliquée aux polygones,
- des polygones non extrudés avec des valeurs z,
- le sous-échantillonnage des textures attribué aux multipatch.
-
Les couches drapées dans ArcGlobe ne sont pas prises en charge. En raison de la nature dynamique des surfaces drapées, les valeurs de hauteur ne sont pas conservées.
-
Les symboles de remplissage texturés ne sont pas pris en charge. Si une entité de la couche utilise des symboles ponctuels 3D avec des propriétés restreintes, comme des textures, l'entité n'est pas ajoutée en sortie.
Remarque :Une couche d'entités contenant des propriétés 3D convient à la plupart des applications de visualisation et ne requiert pas d'être convertie en multipatch. Toutefois, la conversion de la couche en multipatch s'avère particulièrement utile si le multipatch obtenu est utilisé pour des mises à jour supplémentaires dans des logiciels de modélisation tiers ou si le multipatch est volumineux et considéré comme une couche mise en cache dans ArcGlobe.
Syntaxe
Paramètre | Explication | Type de données |
in_feature_layer |
Couche d'entités en entrée dont les propriétés 3D sont définies. | Feature Layer |
out_feature_class |
Classe d'entités multipatch en sortie. | Feature Class |
group_field (Facultatif) |
Champ dans la classe d'entités en entrée qui identifie les entités qui seront combinées dans la même entité multipatch. Les valeurs d'attribut obtenues sont définies sur l'un des enregistrements en entrée. | Field |
Exemple de code
The following sample demonstrates the use of this tool in the Python window:
import arcpy from arcpy import env arcpy.CheckOutExtension("3D") env.workspace = "C:/data" arcpy.Layer3DToFeatureClass_3d("Points_3D.lyr", "Test.gdb/trees")
The following sample demonstrates the use of this tool in a stand-alone Python script:
'''**************************************************************************** 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 from arcpy import env import exceptions, sys, traceback try: # Obtain a license for the ArcGIS 3D Analyst extension arcpy.CheckOutExtension("3D") # Set environment settings 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: "There are no layer files in {0}.".format(env.workspace) except arcpy.ExecuteError: print arcpy.GetMessages() except: # Get the traceback object tb = sys.exc_info()[2] tbinfo = traceback.format_tb(tb)[0] # Concatenate error information into message string pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\ .format(tbinfo, str(sys.exc_info()[1])) msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2)) # Return python error messages for script tool or Python Window arcpy.AddError(pymsg) arcpy.AddError(msgs)