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
arcpy.3d.FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
Paramètre | Explication | Type 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é.
| 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.
| 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 :
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.
| Boolean |
Sortie dérivée
Nom | Explication | Type 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
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
Informations de licence
- Basic: Requiert 3D Analyst
- Standard: Requiert 3D Analyst
- Advanced: Requiert 3D Analyst
Rubriques connexes
Vous avez un commentaire à formuler concernant cette rubrique ?