Multipatch in Collada (Conversion)

Zusammenfassung

Konvertiert Multipatch-Features in eine Sammlung von COLLADA-Dateien (.dae) und referenzierte Texturbilddateien in einen Ausgabeordner.

Verwendung

  • Eine COLLADA-Datei ist eine XML-Darstellung eines 3D-Objekts, das auf zusätzliche Bilddateien verweisen kann, die als auf die 3D-Geometrie drapierte Texturen fungieren. Das bedeutet, dass das Exportieren eines Multipatch-Features in COLLADA dazu führen kann, dass mehrere Dateien erstellt werden: eine .dae-Datei mit der XML-Repräsentation des 3D-Objekts und mindestens eine Bilddatei (z. B. eine .jpg- oder eine .png-Datei) mit den Texturen.

  • Mit diesem Werkzeug wird für jedes Multipatch-Feature, das exportiert wird, eine COLLADA-Repräsentation erstellt. Für das Werkzeug wird ein Feldwert aus den einzelnen Features (standardmäßig die Objekt-ID) verwendet, um die Ausgabedateinamen festzulegen. Dadurch kann erkannt werden, welches Feature in welche COLLADA-Datei exportiert wurde, und beim Exportieren mehrerer Features in dasselbe Verzeichnis können eindeutige Namen festgelegt werden. Texturdateien werden im selben Verzeichnis gespeichert wie die COLLADA-Datei. Zur Minimierung der Gesamtgröße der Exportdatei werden Texturen, die in mehreren COLLADA-Dateien verwendet werden (z. B. Texturen mit sich wiederholenden Ziegeln oder Fenstern), nur einmal exportiert und von den jeweiligen .dae-Dateien referenziert.

  • Mit diesem Werkzeug werden vorhandene COLLADA-Dateien mit demselben Dateinamen automatisch überschrieben. In diesem Fall wird eine Warnmeldung mit den Dateien angezeigt, die beim Exportieren mit einer neuen Datei überschrieben wurden. Für Features, die nicht exportiert werden können, weil das Ausgabeverzeichnis beispielsweise schreibgeschützt oder der Datenträger voll ist, wird ebenfalls eine Geoverarbeitungsmeldung generiert.

  • Wenn Sie sicherstellen möchten, dass für alle exportierten Multipatch-Features eine neue COLLADA-Datei erstellt wird, legen Sie als Zielverzeichnis einen leeren oder neuen Ordner fest und wählen ein für jedes Feature eindeutiges Dateinamensfeld aus. Wenn zwei Features mit demselben Attributwert exportiert werden, wird mit dem als zweites exportierten Feature die COLLADA-Datei des als erstes exportierten Features überschrieben.

  • Wenn Sie ein Multipatch-Feature wiederholt aktualisieren, indem Sie es in eine COLLADA-Datei exportieren und Änderungen außerhalb von ArcGIS vornehmen, exportieren Sie das Feature jedes Mal in dasselbe Verzeichnis. Dadurch wird für dieses Feature nur eine Datei auf der Festplatte gespeichert, die den aktuellen Status des 3D-Objekts darstellt.

  • Wenn sich das exportierte Multipatch in einem projizierten Koordinatensystem befindet, wie etwa bei einem in einer UTM-Zone gespeicherten Gebäude, wird zudem im Ausgabeordner eine .kml-Datei erstellt, die die Koordinaten als WGS84 enthält. Dabei wird keine Datumstransformation verwendet, was bei der Anzeige des KML-Elements zu Positionsabweichungen führen kann.

    Tipp:

    Beim Konvertieren von Multipatches aus einem Layer werden vom Werkzeug automatisch im Renderer des Layers definierte Farben eingebettet. Wenn im Layer beispielsweise Features basierend auf einem Attribut für die Nutzungsart (wie Rot für Gewerbegebäude, Blau für Wohngebäude usw.) gerendert werden, werden diese Farben in die COLLADA-Ausgabedateien eingebunden. Die angezeigte Farbe wird auf Multipatch-Features mit und ohne Textur angewendet, wobei Multipatch-Features mit Textur auf die zugrunde liegenden Texturdateien des Features aktualisiert werden müssen. Zum Exportieren von Multipatches mit Textur und unveränderten Bildern können Sie als Anzeigefarbe Weiß verwenden.

Parameter

BeschriftungErläuterungDatentyp
Eingabe-Multipatch-Features

Die zu exportierenden Multipatch-Features.

Feature Layer
Ausgabe-Collada-Ordner

Der Zielordner, in den die COLLADA-Ausgabedateien und Texturbilddateien eingefügt werden.

Folder
Quellenname voranstellen
(optional)

Gibt an, ob den Namen der COLLADA-Ausgabedateien der Name des Quellen-Feature-Layers vorangestellt werden soll.

  • Aktiviert: Den Dateinamen wird der Name des Quellen-Feature-Layers vorangestellt.
  • Deaktiviert: Den Dateinamen wird der Name des Quellen-Feature-Layers nicht vorangestellt. Dies ist die Standardeinstellung.

Boolean
Feldname verwenden
(optional)

Das Feature-Attribut, das für alle exportierten Features als COLLADA-Ausgabedateiname verwendet wird. Wenn kein Feld angegeben wird, wird die Objekt-ID des Features verwendet.

Field
Collada-Version

Gibt an, in welche COLLADA-Version die Dateien exportiert werden.

  • 1.5Dateien werden in COLLADA 1.5 exportiert. Version 1.5 unterstützt das Einbinden von Georeferenzierungsinformationen sowie erweiterte Rendering-Funktionen. Dies ist die Standardeinstellung.
  • 1.4Dateien werden in COLLADA 1.4 exportiert. Version 1.4 ist der gängige Standard, der in vielen Designanwendungsplattformen verwendet wird. Wählen Sie diese Version aus, wenn die COLLADA-Datei in Systemen verwendet wird, die Version 1.5 nicht unterstützen.
String

arcpy.conversion.MultipatchToCollada(in_features, output_folder, {prepend_source}, {field_name}, collada_version)
NameErläuterungDatentyp
in_features

Die zu exportierenden Multipatch-Features.

Feature Layer
output_folder

Der Zielordner, in den die COLLADA-Ausgabedateien und Texturbilddateien eingefügt werden.

Folder
prepend_source
(optional)

Gibt an, ob den Namen der COLLADA-Ausgabedateien der Name des Quellen-Feature-Layers vorangestellt werden soll.

  • PREPEND_SOURCE_NAMEDen Dateinamen wird der Name des Quellen-Feature-Layers vorangestellt.
  • PREPEND_NONEDen Dateinamen wird der Name des Quellen-Feature-Layers nicht vorangestellt. Dies ist die Standardeinstellung.
Boolean
field_name
(optional)

Das Feature-Attribut, das für alle exportierten Features als COLLADA-Ausgabedateiname verwendet wird. Wenn kein Feld angegeben wird, wird die Objekt-ID des Features verwendet.

Field
collada_version

Gibt an, in welche COLLADA-Version die Dateien exportiert werden.

  • 1.5Dateien werden in COLLADA 1.5 exportiert. Version 1.5 unterstützt das Einbinden von Georeferenzierungsinformationen sowie erweiterte Rendering-Funktionen. Dies ist die Standardeinstellung.
  • 1.4Dateien werden in COLLADA 1.4 exportiert. Version 1.4 ist der gängige Standard, der in vielen Designanwendungsplattformen verwendet wird. Wählen Sie diese Version aus, wenn die COLLADA-Datei in Systemen verwendet wird, die Version 1.5 nicht unterstützen.
String

Codebeispiel

MultipatchToCollada – Beispiel 1 (Python-Fenster)

Im folgenden Beispiel wird die Verwendung dieses Werkzeugs im Python-Fenster veranschaulicht.

import arcpy
arcpy.env.workspace = "C:/data"
arcpy.conversion.MultipatchToCollada("Sample.gdb/Buildings", "C:/COLLADA", 
                                     "PREPEND_SOURCE_NAME", "BldName")
MultipatchToCollada – Beispiel 2 (eigenständiges Skript)

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

'''*********************************************************************
Name: Convert Multipatch To Collada
Description: Converts multipatch features in an input workspace 
             to a Collada model.
*********************************************************************'''
# Import system modules
import arcpy

# Script variables
inWorkspace = arcpy.GetParameterAsText(0)

# Set environment settings
arcpy.env.workspace = inWorkspace
# Create list of feature classes in workspace
fcList = arcpy.ListFeatureClasses()

# Determine if the list contained any feature classes
if fcList:
    # Iterate through each feature class
    for fc in fcList:
        # Describe the feature class
        desc = arcpy.Describe(fc)
        # Determine if feature class is a multipatch
        if desc.shapeType is 'MultiPatch':
           # Ensure unique name for output folder
           outDir = arcpy.CreateUniqueName('collada_dir')
           # Specify that collada file is prefixed by source name
           prepend = 'PREPEND_SOURCE_NAME'
           # Specify the feature attribute used to name Collada files
           fldName = 'OID'
           # Run MultipatchToCollada
           arcpy.conversion.MultipatchToCollada(fc, outDir, prepend, fldName)
else:
    print('There are no feature classes in {0}.'.format(inWorkspace))

Umgebungen

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Verwandte Themen