Mit der 3D Analyst-Lizenz verfügbar.
Zusammenfassung
Generiert 3D-Geometrien aus vorhandenen 2D- und 3D-Eingabe-Features mithilfe von Regeln, die in ArcGIS CityEngine erstellt wurden.
Verwendung
Eingabe-Features können Punkte, Polygone oder Multipatches sein. Die @StartRule in der CityEngine-Regelpaketdatei (.rpk) sollte den erwarteten Eingabe-Feature-Typ angeben: die Annotation @InPoint für Punkte, @InPolygon für Polygone oder @InMesh für Multipatch-Features. Wenn die @StartRule mit keinem dieser Feature-Typen beschriftet ist, wird Polygon als Feature-Typ vorausgesetzt. Bei Eingabe eines unerwarteten Geometrietyps wird ein Fehler generiert.
Eingabe-Features können prozedural symbolisierte Feature-Layer sein. CityEngine-Regeln definieren in der Regel eine Anzahl von Eigenschaften (in CityEngine als attrs bezeichnet), anhand derer die Erstellung von Ausgabe-3D-Modellen aus Eingabe-Shapes gesteuert wird. Eine Regel, die eine Gebäudehülle erstellt, verfügt möglicherweise über einen attr vom Typ "Double" für BuildingHeight und einen attr vom Typ "Integer" für FloorCount. Wenn die Eingabe-Feature-Class ein Attributfeld aufweist, das denselben Namen und Datentyp aufweist wie eine CityEngine-Regeleigenschaft, dann werden Werte aus diesem Attributfeld automatisch verwendet, um die Ausgabemodelle zu erstellen. Dieser automatische Abgleich von CityEngine-Regeleigenschaften mit Attributfeldern wird als Standardfeldzuordnung bezeichnet. Wenn der Eingabe-Feature-Layer prozedural symbolisiert ist, werden die benutzerdefinierten Feldzuordnungen und Symboleigenschaften berücksichtigt, die im prozeduralen Symbol-Layer definiert sind. Mittels benutzerdefinierter Feldzuordnung kann das Verhalten der von dem Regelpaket definierten Standardfeldzuordnung überschrieben werden.
Das Eingabe-Regelpaket ist ein CityEngine-Regelpaket (.rpk). Hierbei handelt es sich um eine komprimierte Datei, die eine kompilierte CityEngine-Regel sowie zugehörige Ressourcen enthält, die von dieser Regel verwendet werden. Der Parameter Leaf Shapes exportieren ist nur verfügbar, wenn im Eingabe-Regelpaket deklariert ist, dass dieser Vorgang durch Einbeziehung der folgenden CGA-Annotation unterstützt wird: @StartRule @Out (granularity=separatedShapes).
Wenn Leaf Shapes mit dem Parameter Leaf Shapes exportieren generiert werden, wird eine Gruppe von Feature-Classes im selben Verzeichnis wie die primäre Ausgabe-Multipatch-Feature-Class und mit den folgenden Namenskonventionen erstellt: <outputFC_Points>, <outputFC_MPoints> und <outputFC_Lines>. Alle Ausgabe-Feature-Classes enthalten ein Attributfeld mit dem Namen OriginalOID, das die ObjectID des Eingabe-Features referenziert, aus dem die Ausgabe generiert wurde. Das Feld OriginalOID kann verwendet werden, um die Ausgabe-Feature-Class mit der Eingabe-Feature-Class zu verbinden. Wenn Berichte mit dem Parameter Berichte einbeziehen erstellt werden, erhält die Ausgabe-Feature-Class außerdem ein Attribut für jeden Bericht.
Ein Feld namens OriginalOID wird zu der/den Ausgabe-Feature-Class(es) hinzugefügt. Es enthält die ObjectID des Eingabe-Features, aus dem jedes Ausgabe-Feature erstellt wurde. Wenn die Eingabe-Feature-Class bereits über ein Feld namens OriginalOID verfügt, wird der neue Feldname mit entsprechender Nummerierung angefügt, z. B. OriginalOID2.
Detaillierte Fehler oder Warnungen, die während der Konvertierung auftreten, werden in die Protokolldatei "PRT#.txt" geschrieben (wobei # eine Ziffer darstellt, die mit jeder Ausführung des Werkzeugs inkrementell erhöht wird). Diese Datei befindet sich unter <Install drive>:\Users\<user name>\AppData\Local\ESRI\GeoProcessing.
Syntax
arcpy.3d.FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
Parameter | Erklärung | Datentyp |
in_features | Eingabe-Punkt-, Polygon- oder Multipatch-Features. Eingabe-Features können prozedural symbolisierte Feature-Layer sein. Feldzuordnungen (attributgesteuerte Symboleigenschaften) werden berücksichtigt. | Feature Layer |
in_rule_package | Die Regelpaketdatei (*.rpk) von CityEngine, die die Informationen und Elemente der CGA-Regeln enthält. Die mit @StartRule beschriftete Regel in der CityEngine-Regelpaketdatei (.rpk) sollte mit @InPoint beschriftet werden, um auf ein Regelpaket für Punkt-Features hinzuweisen, mit @InPolygon, um auf ein Regelpaket für Polygon-Features hinzuweisen, oder mit @InMesh, um auf ein Regelpaket für Multipatch-Features hinzuweisen. Wenn die @StartRule weder mit @InPoint, @InPolygon noch mit @InMesh beschriftet ist, wird Polygon als Feature-Typ vorausgesetzt, | File |
out_feature_class | Die Ausgabe-Feature-Class, die Multipatch-Features mit angewendeten CGA-Regeln enthält. Ein Feld namens OriginalOID wird zu der/den Ausgabe-Feature-Class(es) hinzugefügt. Es enthält die ObjectID des Eingabe-Features, aus dem jedes Ausgabe-Feature erstellt wurde. | Feature Class |
in_existing_fields (optional) | Legt fest, ob die Ausgabe-Feature-Class die Attributfelder der Eingabe-Feature-Class übernimmt. Dieser Parameter wird nicht berücksichtigt, wenn der Parameter in_leaf_shapes verwendet wird.
| Boolean |
in_include_reports (optional) | Je nachdem, wie das Regelpaket erstellt wurde, enthält es möglicherweise Logik, die beim Erstellen der Modelle mindestens einen Bericht generiert. Diese Berichte können eine Vielzahl von Informationen zu den Features enthalten. Ein Beispiel ist ein Regelpaket, das die Anzahl der Fenster erfasst, die für jedes Gebäudemodell erstellt werden. Dieser Parameter wird ignoriert, wenn das Regelpaket keine Logik zum Generieren von Berichten enthält.
| Boolean |
in_leaf_shapes (optional) | CityEngine-Regelpakete konstruieren Inhalt, indem Komponententeile erstellt und in einem einzelnen 3D-Objekt zusammengeführt werden. Diese Komponenten oder Leaf Shapes können auch als getrennte Features gespeichert werden. Diese Option ist besonders wichtig, um Analysevorgänge für Unterelemente eines 3D-Objekts, beispielsweise die Fenster eines Gebäudes, durchzuführen. Mit diesem Parameter wird festgelegt, ob eine der folgenden Aktionen für jedes Eingabe-Feature ausgeführt wird:
Eine Regel kann beispielsweise Gebäudemodelle aus Eingabe-Polygon-Grundrissen oder alternativ getrennte Features für jede Fassade der Appartments, einschließlich eines externen Bereichs, eines repräsentativen Mittelpunktes und Linien erstellen, die die Umrandungen darstellen. In diesem Beispiel werden alle Appartmentbereiche, Mittelpunkte und Umrisslinien als Leaf Shapes betrachtet.
| Boolean |
Abgeleitete Ausgabe
Name | Erklärung | Datentyp |
out_points | Wenn Leaf Shapes generiert werden, wird eine Ausgabe-Point-Feature-Class im selben Verzeichnis wie die primäre Ausgabe-Multipatch-Feature-Class erstellt. | Feature-Class |
out_lines | Wenn Leaf Shapes generiert werden, wird eine Ausgabe-Polyline-Feature-Class im selben Verzeichnis wie die primäre Ausgabe-Multipatch-Feature-Class erstellt. | Feature-Class |
out_multipoints | Wenn Leaf Shapes generiert werden, wird eine Ausgabe-Polygon-Feature-Class im selben Verzeichnis wie die primäre Ausgabe-Multipatch-Feature-Class erstellt. | Feature-Class |
Codebeispiel
Das folgende Skript für das Python-Fenster veranschaulicht, wie das Werkzeug FeaturesFromCityEngineRules im unmittelbaren Modus verwendet wird:
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.FeaturesFromCityEngineRules_3d("in_polygons",
"rules.rpk",
"out_multipatches")
Umgebungen
Lizenzinformationen
- Basic: Erfordert 3D Analyst
- Standard: Erfordert 3D Analyst
- Advanced: Erfordert 3D Analyst