Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Exportiert Feature-Layer mit definierten 3D-Eigenschaften in eine Multipatch-Feature-Class.
Verwendung
Nur Features, deren Rendering als Multipatch beibehalten werden kann, werden konvertiert, z. B. mit 3D-Markern symbolisierte Punkte. Texturfüllsymbole werden nicht unterstützt. Auch ArcMap-Layer werden nicht unterstützt, da sie keine 3D-Eigenschaften beibehalten.
Es werden nur bestimmte 3D-Eigenschaften angewendet, Beispiele:
- Punkten zugewiesene 3D-Symbole
- Linien zugewiesene 3D-Symbole
- Auf Polygone angewendete Extrusionen
- Nicht extrudierte Polygone mit Z-Werten
- Multipatches zugewiesene Texturreduzierung
Drapierte Layer in ArcGlobe werden nicht unterstützt. Aufgrund der Dynamik drapierter Oberflächen bleiben Höhenwerte nicht erhalten.
Füllsymbole mit Textur werden nicht unterstützt. Wenn ein Feature im Layer 3D-Markersymbole mit eingeschränkten Eigenschaften, z. B. Texturen, aufweist, wird das Feature nicht zur Ausgabe hinzugefügt.
Syntax
Layer3DToFeatureClass_3d (in_feature_layer, out_feature_class, {group_field})
Parameter | Erläuterung | Datentyp |
in_feature_layer | Der Eingabe-Feature-Layer, für den 3D-Eigenschaften definiert sind. | Feature Layer |
out_feature_class | Die Ausgabe-Multipatch-Feature-Class. | Feature Class |
group_field (optional) | Das Feld in der Eingabe-Feature-Class, das die Features definiert, die in das gleiche Multipatch-Feature kombiniert werden. Die resultierenden Attribute werden auf einen der Eingabedatensätze festgelegt. | Field |
Codebeispiel
Layer3DToFeatureClass – Beispiel 1 (Python-Fenster)
Anhand des folgenden Beispiels wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.Layer3DToFeatureClass_3d("Points_3D.lyr", "Test.gdb/trees")
Layer3DToFeatureClass – Beispiel 2 (eigenständiges Skript)
Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.
'''****************************************************************************
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)
Umgebung
- Aktueller Workspace
- Ausgabe-XY-Domäne
- Ausgabe-Z-Domäne
- Ausgabe-Koordinatensystem
- Ausdehnung
- Scratch-Workspace
- XY-Auflösung
- XY-Toleranz
- Z-Auflösung
- Z-Toleranz
- Qualifizierte Feldnamen
- Ausgabe-CONFIG-Schlüsselwort
- Auto Commit
- Räumliches Gitter 1 der Ausgabe
- Räumliches Gitter 2 der Ausgabe
- Räumliches Gitter 3 der Ausgabe
Lizenzierungsinformationen
- ArcGIS for Desktop Basic: Erfordert 3D Analyst
- ArcGIS for Desktop Standard: Erfordert 3D Analyst
- ArcGIS for Desktop Advanced: Erfordert 3D Analyst