Entités issues de règles CityEngine (3D Analyst)

Disponible avec une licence 3D Analyst.

Résumé

Génère des géométries 3D à partir d'entités en entrée 2D et 3D à l'aide de règles écrites dans ArcGIS CityEngine.

Utilisation

  • Les entités en entrée peuvent être des points, des polygones ou des multipatchs. La règle @StartRule du fichier du paquetage de règles CityEngine (.rpk) doit indiquer le type d'entité en entrée qu'elle attend : annotation @InPoint pour les points, @InPolygon pour les polygones et @InMesh pour les entités multipatch. Si la règle @StartRule n'est pas annotée avec l'un de ces éléments, l'entité est considérée comme étant de type polygone. Une erreur est déclenchée si un type de géométrie inattendu est indiqué en entrée.

  • Les entités en entrée peuvent être des couches d'entités symbolisées par procédure. Les règles CityEngine définissent généralement plusieurs propriétés (nommées attrs dans CityEngine) qui déterminent le mode de génération des modèles 3D en sortie à partir des formes en entrée. Par exemple, une règle qui génère une enveloppe de bâtiment peut avoir un attr de type double pour BuildingHeight et un attr de type entier pour FloorCount. Si la classe d'entités en entrée possède un champ attributaire qui comporte les mêmes nom et type de données qu'une propriété de règle CityEngine, les valeurs de ce champ attributaire sont automatiquement utilisées pour générer les modèles en sortie. Cet appariement automatique des propriétés de règle CityEngine vers les champs attributaires se nomme appariement de champ par défaut. SI la couche d'entités en entrée est symbolisée par procédure, les appariements de champs personnalisés et les propriétés de symboles définis dans la couche de symboles procédurale sont respectés. Vous pouvez utiliser l'appariement de champ personnalisé pour remplacer le comportement d'appariement de champ par défaut défini par le paquetage de règles.

  • Le paquetage de règles en entrée est un paquetage de règles CityEngine (.rpk). Il s'agit d'un fichier compressé contenant une règle CityEngine compilée et des ressources associées utilisées par cette règle. Le paramètre Exporter les formes de feuilles n'est disponible que si le paquetage de règles en entrée déclare qu'il prend en charge cette opération en contenant l'annotation CGA suivante : @StartRule @Out (granularity=separatedShapes).

  • Lorsque des formes de feuilles sont générées avec le paramètre Exporter les formes de feuilles, un jeu standard de classes d'entités est créé au même emplacement que la classe d'entités multipatch en sortie principale et les mêmes conventions de noms sont appliquées, c'est-à-dire : <outputFC_Points>, <outputFC_MPoints> et <outputFC_Lines>. Toutes les classes d’entités en sortie contiennent un champ attributaire nommé OriginalOID qui fait référence à l’ObjectID de l’entité en entrée à partir de laquelle la sortie a été générée. Le champ OriginalOID permet de joindre la classe d’entités en sortie à la classe d’entités en entrée. Si des rapports sont générés avec le paramètre Inclure les rapports, la classe d'entités en sortie reçoit également un attribut pour chaque rapport.

  • Un champ nommé OriginalOID est ajouté aux classes d'entités en sortie pour contenir la valeur ObjectID de l'entité en entrée à partir de laquelle chaque entité en sortie a été générée. Si la classe d'entité en entrée possède déjà un champ nommé OriginalOID, le nouveau nom de champ est ajouté dans un format numérique, tel que OriginalOID2.

  • Les erreurs détaillées ou les avertissements déclenchés pendant la conversion sont consignés dans un fichier journal nommé PRT#.txt (le nombre # augmentant de façon incrémentielle à chaque exécution de l'outil). Ce fichier se trouve dans <Install drive>:\Users\<user name>\AppData\Local\ESRI\GeoProcessing.

Syntaxe

FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
ParamètreExplicationType de données
in_features

Entités ponctuelles, surfaciques ou multipatch en entrée. Les entités en entrée peuvent être des couches d'entités symbolisées par procédure. L'appariement de champ (propriétés de symboles gérés par des attributs) sera respecté.

Feature Layer
in_rule_package

Fichier de paquetage de règles CityEngine (*.rpk) contenant des informations sur les règles CGA et des ressources. La règle annotée avec @StartRule dans le fichier de paquetage de règles CityEngine (.rpk) doit être annotée avec @InPoint pour un paquetage de règles destiné à des entités ponctuelles, @InPolygon pour un paquetage de règles destiné à des entités surfaciques et @InMesh pour un paquetage de règles destiné à des entités multipatch. Si la règle @StartRule n'est pas annotée avec @InPoint, @InPolygon ou @InMesh, l'entité est considérée comme étant de type polygone.

File
out_feature_class

Classe d'entités en sortie contenant des entités multipatch auxquelles des règles CGA sont appliquées. Un champ nommé OriginalOID est ajouté aux classes d'entités en sortie pour contenir la valeur ObjectID de l'entité en entrée à partir de laquelle chaque entité en sortie a été générée.

Feature Class
in_existing_fields
(Facultatif)

Détermine si la classe d'entités en sortie hérite des champs attributaires de la classe d'entités en entrée. Ce paramètre n'est pas pris en compte lorsque le paramètre in_leaf_shapes est utilisé.

  • INCLUDE_EXISTING_FIELDSLes champs attributaires de la classe d'entités en entrée sont inclus dans la classe d'entités en sortie. Il s’agit de l’option par défaut.
  • DROP_EXISTING_FIELDSAucun champ attributaire provenant de la classe d'entités en entrée n'est ajouté à la classe d'entités en sortie. Cette option est automatiquement utilisée si le paramètre in_leaf_shapes est défini sur 'FEATURE_PER_LEAF_SHAPE'.
Boolean
in_include_reports
(Facultatif)

Selon les modalités de création du paquetage de règles, il peut contenir une logique qui génère un ou plusieurs rapports lorsque les modèles sont créés. Ces rapports peuvent contenir une grande variété d'informations concernant les entités. Par exemple, un paquetage de règles peut signaler le nombre de fenêtres qui sont générées pour chaque modèle de bâtiment. Ce paramètre est ignoré si le paquetage de règles ne contient aucune logique de génération des rapports.

  • INCLUDE_REPORTSDe nouveaux champs attributaires sont créés dans la classe d'entités en sortie afin de contenir la valeur signalée pour chaque entité, comme le définit la logique de génération des rapports du paquetage de règles. Un attribut unique est créé pour chaque valeur signalée.
  • EXCLUDE_REPORTSLes rapports générés au sein du paquetage de règles sont ignorés et aucun nouvel attribut associé à ces rapports n'est généré. Il s’agit de l’option par défaut.
Boolean
in_leaf_shapes
(Facultatif)

Les paquetages de règles CityEngine construisent du contenu en générant des parties de composants et en les fusionnant dans un seul objet 3D. Toutefois, il est également possible de stocker ces composants, ou formes de feuilles, en tant qu'entités distinctes. Cette option peut être particulièrement importante pour exécuter des opérations analytiques sur des sous-éléments d'un objet 3D, par exemple les fenêtres d'un bâtiment.

Ce paramètre détermine si chaque entité en entrée correspond à l'un des cas de figure suivants :

  • Convertie en classe d'entités multipatch unique et fusionnée
  • Se transforme en un ensemble d'entités pouvant être des points, des lignes ou des multipatchs

Par exemple, une règle peut générer des modèles de bâtiment transparents à partir d'emprises de polygone en entrée, ou elle peut créer des entités distinctes pour la façade de chaque appartement, notamment un panneau dirigé vers l'extérieur, un point central représentatif et des lignes illustrant les bordures. Dans cet exemple, les panneaux des appartements, les points centraux et les contours sont tous considérés comme des formes de feuilles.

  • FEATURE_PER_LEAF_SHAPEDes classes d'entités en sortie supplémentaires sont générées. Il s’agit de l'option par défaut. Les champs attributaires de la classe d'entités en entrée ne sont pas inclus dans la classe d'entités en sortie. La classe d’entités en sortie contient un champ nommé OriginalOID qui fait référence à l’ObjectID de l’entité en entrée à partir de laquelle la sortie a été générée.
  • FEATURE_PER_SHAPEAucune classe d'entités supplémentaire en sortie n'est générée, même si des formes de feuilles complémentaires sont définies dans la logique de la règle. Toute la géométrie est contenue dans les entités multipatch en sortie.
Boolean

Sortie dérivée

NomExplicationType de données
out_points

Lorsque des formes de feuilles sont générées, une classe d’entités ponctuelles en sortie est créée au même emplacement que la classe d’entités multipatch en sortie principale.

Classe d’entités
out_lines

Lorsque des formes de feuilles sont générées, une classe d’entités polylignes en sortie est créée au même emplacement que la classe d’entités multipatch en sortie principale.

Classe d’entités
out_multipoints

Lorsque des formes de feuilles sont générées, une classe d’entités surfaciques en sortie est créée au même emplacement que la classe d’entités multipatch en sortie principale.

Classe d’entités

Exemple de code

Exemple d'utilisation de l'outil FeaturesFromCityEngineRules (fenêtre Python)

Le script de fenêtre Python suivant montre comment utiliser l'outil FeaturesFromCityEngineRules en mode immédiat :

import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.FeaturesFromCityEngineRules_3d("in_polygons", 
                                     "rules.rpk", 
                                     "out_multipatches")

Environnements

Cet outil n'utilise pas d’environnement de géotraitement.

Informations de licence

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

Rubriques connexes