De capa 3D a clase de entidad (3D Analyst)
Resumen
Exporta capas de entidades con propiedades 3D definidas a una clase de entidad multiparche.
Uso
-
Solo se convertirán las entidades cuya representación en pantalla se puede continuar como un multiparche, como puntos simbolizados con marcadores 3D. Los símbolos de relleno de textura no se admiten y no son capas de ArcMap debido a que no guarda ninguna propiedad 3D.
-
Solo se aplican determinadas propiedades 3D, por ejemplo:
- Símbolos 3D asignados a puntos
- Símbolos 3D asignados a líneas
- Extrusión aplicada a polígonos
- Polígonos sin extrusión con valores z
- Submuestreo de textura asignado a multiparches
-
No se admiten capas desplegadas en ArcGlobe. Dada la naturaleza dinámica de las superficies desplegadas, no se mantendrán los valores de altura.
-
No se admiten símbolos de relleno con textura. Si una entidad en la capa utiliza símbolos de marcador 3D con propiedades restringidas, como texturas, la entidad no se agregará a la salida.
Nota:Una capa de entidades con propiedades 3D se utiliza bien para la mayoría de aplicaciones de visualización y no será necesario convertirla a un multiparche. Sin embargo, convertir la capa a un multiparche sería particularmente útil si el multiparche resultante se utilizara para ediciones adicionales en el software de modelado de terceros o si el multiparche es grande y se consumirá en ArcGlobe como capa almacenada.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_feature_layer |
La capa de entidad de entrada que tiene propiedades 3D definidas. | Feature Layer |
out_feature_class |
La clase de entidad multiparche de salida. | Feature Class |
group_field (Opcional) |
El campo en la clase de entidad de entrada que identifica las entidades que se combinarán dentro de la misma entidad multiparche. Los atributos resultantes se establecerán en uno de los registros de entrada. | Field |
Ejemplo de código
El siguiente ejemplo muestra cómo usar de esta herramienta en la ventana Python:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.Layer3DToFeatureClass_3d("Points_3D.lyr", "Test.gdb/trees")
El siguiente ejemplo muestra cómo usar esta herramienta en una secuencia de comandos independiente de Python:
'''****************************************************************************
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)