Zusammenfassung
Exportiert Feature-Layer mit 3D-Anzeigeeigenschaften in 3D-Linien oder Multipatch-Features.
Verwendung
- Feature-Layer, deren Symbolisierung folgende Eigenschaften aufweist, werden in ein Multipatch exportiert: - Extrusions- oder Basishöheneinstellungen.
- Zeichen-Markersymbole mit Tiefe.
- 3D-Modell-Markersymbole, deren Größe in realen linearen Einheiten wie Fuß, Zoll, Meter oder Zentimeter angegeben ist.
- Nur Liniensymbolisierung.
- Nur Polygon-Symbolisierung. Wenn ein Polygon-Layer ohne 3D-Ansichtseigenschaften angegeben wird, erfolgt ein Export als ein Multipatch, das dem Polygon ähnelt.
 
- 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. 
- Dieses Werkzeug unterstützt keine Features, die durch eine der folgenden Eigenschaften symbolisiert werden: - Bild-Markersymbole.
- Shape-Markersymbole, die aus einer Datei auf einem Datenträger stammen.
- Gerasterte Layer, die der Oberfläche der Szene hinzugefügt wurden.
- Shape-Markersymbole, die aus einer Schriftart stammen, jedoch über keine Tiefeneigenschaft verfügen.
- 3D-Modell-Markersymbole, deren Größe nicht in realen linearen Einheiten wie Fuß, Zoll, Meter oder Zentimeter angegeben ist.
- Markersymbole mit Billboarding. Diese 2D-Symbole sind dynamisch so ausgerichtet, dass sie auf die Kameraposition in einer 3D-Szene weisen. Sie haben deshalb keine feste Ausrichtung, die für den Export verwendet werden kann.
 
- Umgebungseinstellungen für XYZ-Toleranz und -Auflösung werden nur unterstützt, wenn die Ausgabe ein Linien-Feature ist. 
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-Anzeigeeigenschaften definiert sind. | Feature Layer | 
| out_feature_class | Extrudierte Punkte werden als 3D-Linien exportiert. Punkte mit 3D-Symbolen, extrudierte Linien und Polygone werden als Multipatch-Features exportiert. | Feature Class | 
| group_field (optional) | Das Textfeld des Eingabe-Features wird verwendet, um mehrere Eingabe-Features im selben Ausgabe-Feature zusammenzuführen. Die verbleibenden Attribute der resultierenden Ausgabe werden von einem der Eingabedatensätze übernommen. | 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)
Umgebungen
Lizenzinformationen
- ArcGIS Desktop Basic: Erfordert 3D Analyst
- ArcGIS Desktop Standard: Erfordert 3D Analyst
- ArcGIS Desktop Advanced: Erfordert 3D Analyst