ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

3D-Dateien importieren

  • Zusammenfassung
  • Verwendung
  • Syntax
  • Codebeispiel
  • Umgebungen
  • Lizenzinformationen

Zusammenfassung

Hiermit wird mindestens ein 3D-Modell in eine Multipatch-Feature-Class importiert.

Verwendung

  • Behalten Sie die Textur in den 3D-Modellen bei, indem Sie das Ausgabe-Multipatch in einer Geodatabase speichern. Shapefiles unterstützen die Beibehaltung von Texturen nicht.

  • Falls die obere Seite der entstehenden Multipatch-Features seitwärts ausgerichtet ist, versuchen Sie die Ausrichtung anzupassen, indem Sie das Werkzeug mit aktiviertem Parameter Y oben erneut verwenden.

  • GeoVRML ist das einzige Format mit einem definierten Koordinatensystem. Viele 3D-Modelle werden mit lokalen Koordinatensystemen generiert, deren XYZ-Achse um 0, 0, 0 zentriert ist. Solche Features können mit einer der folgenden Methoden mit realen Koordinaten georeferenziert werden:

    • Wenn die 3D-Modelle gedreht und verschoben werden müssen, müssen Sie die Methode der räumlichen Anpassung anwenden, um die Features ordnungsgemäß zu positionieren. Weitere Informationen zu räumlicher Anpassung.
    • Wenn die 3D-Modelle für ein bestimmtes Koordinatensystem ordnungsgemäß ausgerichtet sind und nur in die richtige Position verschoben werden müssen, passen Sie die Koordinatensystem-Eigenschaften so an, dass die notwendige Verschiebung erfolgt. Wenn Punkt-Features, die die Position des Schwerpunktes der einzelnen Modelle in realen Koordinaten definieren, verfügbar sind, verwenden Sie die Punkte als Eingaben für das Werkzeug, um die Modelle zu georeferenzieren.
  • Punkt- und Liniengeometrien, die in einer 3D-Datei vorhanden sein können, bleiben in der Ausgabe-Multipatch-Feature-Class nicht erhalten, da sie von Multipatches nicht unterstützt werden.

    Hinweis:

    Nicht unterstützte Geometrietypen für VRML-Dateien sind: Box, Kegel, Zylinder, Extrusion, PointSet, Kugel und Text.

Syntax

arcpy.ddd.Import3DFiles(in_files, out_featureClass, {root_per_feature}, {spatial_reference}, {y_is_up}, file_suffix, {in_featureClass}, {symbol_field})
ParameterErklärungDatentyp
in_files
[in_files,...]

Ein oder mehrere 3D-Modelle oder Ordner mit solchen Dateien in den unterstützten Formaten 3D Studio Max (*.3ds), SketchUp (*.skp), VRML und GeoVRML (*.wrl), OpenFlight (*.flt) und COLLADA (*.dae).

File; Folder
out_featureClass

Das Multipatch, das aus den Eingabedateien erstellt wird.

Feature Class
root_per_feature
(optional)

Gibt an, ob ein Feature pro Datei oder ein Feature für jeden Stammknoten in der Datei generiert werden soll. Diese Option gilt nur für VRML-Modelle.

  • ONE_ROOT_ONE_FEATURE —Die generierte Ausgabe enthält ein Feature für jeden Stammknoten in der Datei.
  • ONE_FILE_ONE_FEATURE —Die generierte Ausgabe enthält eine Datei für jedes Feature. Dies ist die Standardeinstellung.
Boolean
spatial_reference
(optional)

Das Koordinatensystem der Eingabedaten. Für die meisten Formate ist dies unbekannt. Nur beim GeoVRML-Format wird das Koordinatensystem gespeichert. Der Standardwert wird aus der ersten Datei in der Liste abgerufen, wenn hier kein Raumbezug angegeben ist.

Spatial Reference
y_is_up
(optional)

Gibt die Achse an, welche die vertikale Ausrichtung der Eingabedateien definiert.

  • Z_IS_UP —Gibt an, dass der Z-Wert vertikal ist. Dies ist die Standardeinstellung.
  • Y_IS_UP —Gibt an, dass der Y-Wert vertikal ist.
Boolean
file_suffix

Die Dateierweiterung der Dateien, die aus einem Eingabeordner importiert werden sollen. Dieser Parameter ist erforderlich, wenn als Eingabe mindestens ein Ordner angegeben wird.

  • * —Alle unterstützten Dateien. Dies ist die Standardeinstellung.
  • 3DS —3D Studio Max
  • WRL —VRML oder GeoVRML
  • SKP —SketchUp
  • FLT —OpenFlight
  • DAE —Collada
String
in_featureClass
(optional)

Die Punkt-Features, deren Koordinaten die reale Position der Eingabedateien definieren. Jeder Eingabedatei wird basierend auf den Dateinamen im Symbolfeld der entsprechende Punkt zugeordnet. Der Parameter Koordinatensystem sollte in Übereinstimmung mit dem Raumbezug der Punkte definiert werden.

Feature Layer
symbol_field
(optional)

Das Feld in den Punkt-Features, das für jeden Punkt den Namen der zugeordneten 3D-Datei enthält.

Field

Codebeispiel

Import3DFiles – 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.Import3DFiles_3d("AddisSheraton.skp", "Test.gdb/AddisSheraton", False, "", False)
Import3DFiles – Beispiel 2 (eigenständiges Skript)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs in einem eigenständigen Python-Skript veranschaulicht.

'''*********************************************************************
Name: Model Shadows For GeoVRML Models
Description: Creates a model of the shadows cast by GeoVRML models 
             imported to a multipatch feature class for a range of dates
             and times. A range of times from the start time and end 
             time can also be specified by setting the EnforceTimes 
             Boolean to True. This sample is designed to be used in a 
             script tool.
*********************************************************************'''
# Import system modules
import arcpy
from datetime import datetime, time, timedelta

#*************************  Script Variables  **************************
inFiles = arcpy.GetParameterAsText(0) # list of input features
spatialRef = arcpy.GetParameterAsText(1) # list of GeoVRML files
outFC = arcpy.GetParameterAsText(2) # multipatch from 3D files
inTimeZone = arcpy.GetParameterAsText(3) # time zone
startDate = arcpy.GetParameter(4) # starting date as datetime
endDate = arcpy.GetParameter(5) # ending date as datetime
dayInterval = arcpy.GetParameter(6) # day interval as long (0-365)
minInterval = arcpy.GetParameter(7) # minute interval as long (0-60)
enforceTime = arcpy.GetParameter(8) # minute interval as Boolean
outShadows = arcpy.GetParameterAsText(9) # output shadow models
outIntersection = arcpy.GetParameterAsText(10) # shadow & bldg intersection

# Function to find all possible date/time intervals for shadow modelling
def time_list():
    dt_result = [startDate]
    if dayInterval:
        if endDate: #Defines behavior when end date is supplied
            while startDate < endDate:
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
            dt_result.append(endDate)
        else: # Behavior when end date is not given
            daymonthyear = datetime.date(startDate)
            while startDate <= datetime(daymonthyear.year, 12, 31, 23, 59):
                startDate += timedelta(days=dayInterval)
                dt_result.append(startDate)
    return dt_result

try:
    arcpy.CheckOutExtension('3D')
    importFC = arcpy.CreateUniqueName('geovrml_import', 'in_memory')
    # Import GeoVRML files to in-memory feature
    arcpy.ddd.Import3DFiles(inFiles, importFC, 'ONE_FILE_ONE_FEATURE', 
                            spatialRef, 'Z_IS_UP', 'wrl')
    # Ensure that building models are closed
    arcpy.ddd.EncloseMultiPatch(importFC, outFC, 0.05)
    # Discard in-memory feature
    arcpy.management.Delete(importFC)
    dt_result = time_list()
    for dt in dt_result:
        if dt == dt_result[0]:
            shadows = outShadows
        else:
            shadows = arcpy.CreateUniqueName('shadow', 'in_memory')
        arcpy.ddd.SunShadowVolume(outFC, dt, shadows, 'ADJUST_FOR_DST', 
                                  inTimeZone, '', minInterval, 'MINUTES')
        if dt is not dt_result[0]:
            arcpy.management.Append(shadows, outShadows)
            arcpy.management.Delete(shadows)
    arcpy.ddd.Intersect3D(outFC, outIntersection, outShadows, 'SOLID')
    arcpy.CheckInExtension('3D')
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

  • Aktueller Workspace
  • Ausgabe-Koordinatensystem
  • Ausgabe-XY-Domäne
  • Ausgabe-Z-Domäne
  • Auto-Commit
  • Ausgabe-CONFIG-Schlüsselwort

Lizenzinformationen

  • Basic: Erfordert 3D Analyst
  • Standard: Erfordert 3D Analyst
  • Advanced: Erfordert 3D Analyst

Verwandte Themen

  • Überblick über das Toolset "Konvertierung"
  • Grundlagen der Geoverarbeitung mit der ArcGIS 3D Analyst-Erweiterung
  • Multipatches
  • Erstellen von Gebäuden mit Textur aus Modellen

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches