Features aus CityEngine-Regeln (3D Analyst)

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

FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
ParameterErklärungDatentyp
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.

  • INCLUDE_EXISTING_FIELDSDie Attributfelder der Eingabe-Feature-Class werden in die Ausgabe-Feature-Class einbezogen. Dies ist die Standardeinstellung.
  • DROP_EXISTING_FIELDSEs werden keine aus der Eingabe-Feature-Class stammende Attributfelder zu der Ausgabe-Feature-Class hinzugefügt. Diese Option wird automatisch verwendet, wenn der Paramater in_leaf_shapes auf 'FEATURE_PER_LEAF_SHAPE' festgelegt ist.
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.

  • INCLUDE_REPORTSNeue Attributfelder werden zur Ausgabe-Feature-Class erstellt, die den gemäß Definition der Erstellungslogik für den Regelpaketbericht für jedes Feature gemeldeten Wert enthalten. Für jeden erfassten Wert wird ein eindeutiges Attribut erstellt.
  • EXCLUDE_REPORTSIm Regelpaket erstellte Berichte werden ignoriert und es werden keine Attribute erstellt, die sich auf diese Berichte beziehen. Dies ist die Standardeinstellung.
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:

  • Konvertierung in ein einzelnes, zusammengeführtes Multipatch-Feature
  • Umwandlung in eine Gruppe aus vielen Features, die Punkte, Linien oder Multipatches sein können

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.

  • FEATURE_PER_LEAF_SHAPEEs werden zusätzliche Ausgabe-Feature-Classes erstellt. Dies ist die Standardeinstellung. Die Attributfelder aus der Eingabe-Feature-Class werden nicht in die Ausgabe-Feature-Class einbezogen. Die Ausgabe-Feature-Class enthält ein Feld mit dem Namen OriginalOID, das die ObjectID des Eingabe-Features referenziert, aus dem die Ausgabe generiert wurde.
  • FEATURE_PER_SHAPEEs werden auch dann keine zusätzlichen Ausgabe-Feature-Classes erstellt, wenn zusätzliche Leaf Shapes in der Logik der Regel definiert sind. Die gesamte Geometrie ist in den Ausgabe-Multipatch-Features enthalten.
Boolean

Abgeleitete Ausgabe

NameErklärungDatentyp
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

FeaturesFromCityEngineRules – Beispiel (Python-Fenster)

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

Dieses Werkzeug verwendet keine Geoverarbeitungsumgebungen.

Lizenzinformationen

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

Verwandte Themen