Entidades de reglas de CityEngine (3D Analyst)

Disponible con una licencia de 3D Analyst.

Resumen

Genera geometrías en 3D a partir de entidades de entrada 2D y 3D existentes mediante reglas creadas en ArcGIS CityEngine.

Uso

  • Las entidades de entrada pueden ser puntos, polígonos o multiparches. La @StartRule del archivo (.rpk)del paquete de reglas de CityEngine debería especificar el tipo de entidad de entrada que se espera: anotación @InPoint para puntos, @InPolygon para polígonos o @InMesh para entidades multiparche. Si la @StartRule no está anotada con ninguna de ellas, se asumirá que el tipo de entidad es polígono. Si se introduce un tipo de geometría inesperado, se mostrará un error.

  • Las entidades de entrada pueden ser capas de entidades simbolizadas mediante un procedimiento. Las reglas de CityEngine normalmente definen un número de propiedades (llamadas attrs en CityEngine) que controlan cómo se generan los modelos 3D de salida a partir de las formas de entrada. Por ejemplo, una regla que genera un shell de edificio podría tener un attr de tipo doble para BuildingHeight y un attr de tipo entero para FloorCount. Si la clase de entidad de entrada tiene un campo de atributo con el mismo nombre y tipo de datos que una propiedad de regla de CityEngine, los valores de ese campo de atributo se utilizan automáticamente para generar los modelos de salida. Esta coincidencia automática de las propiedades de las reglas de CityEngine para campos de atributos se denomina asignación de campos predeterminada. Si la capa de entidades de entrada se ha simbolizado mediante un procedimiento, se respetan las asignaciones de campos personalizadas y las propiedades de los símbolos definidas en la capa de símbolos del procedimiento. Puede utilizar la asignación de campos personalizada para invalidar el comportamiento de la asignación de campos predeterminada definida mediante el paquete de reglas.

  • El Paquete de reglas de entrada es un paquete de reglas de CityEngine (.rpk). Se trata de un archivo comprimido que contiene una regla compilada de CityEngine, así como activos asociados utilizados por dicha regla. El parámetro Exportar formas de hoja solo está disponible si en el paquete de reglas de entrada se declara que se admite esta operación incluyendo la siguiente anotación de CGA: @StartRule @Out (granularity=separatedShapes).

  • Cuando se generan formas de hoja con el parámetro Exportar formas de hoja, se crea un conjunto estándar de clases de entidad en la misma ubicación que la de la clase de entidad multiparche de salida principal y tiene las convenciones de nomenclatura siguientes: <outputFC_Points>, <outputFC_MPoints> y <outputFC_Lines>. Todas las clases de entidad de salida contienen un campo de atributo con el nombre OriginalOID, que hace referencia al ObjectID de la entidad de entrada desde la que se generó la salida. El campo OriginalOID se puede utilizar para unir la clase de entidad de salida con la clase de entidad de entrada. Si los informes se generan con el parámetro Incluir informes, la clase de entidad de salida también obtendrá un atributo para cada informe.

  • Se agrega un campo llamado OriginalOID a la clase(s) de entidad de salida para que contenga el ObjectID de la entidad de entrada desde la cual se ha generado cada entidad de salida. Si e la clase de entidad de entrada ya hay un campo llamado OriginalOID, se incorpora el nuevo nombre de campo numéricamente, por ejemplo, OriginalOID2.

  • Los errores o advertencias detallados que se producen durante la conversión se escriben en un archivo de registro llamado PRT#.txt (donde # es un numeral que aumenta progresivamente cada vez que se ejecuta la herramienta). Este archivo se encuentra en <Install drive>:\Users\<user name>\AppData\Local\ESRI\GeoProcessing.

Sintaxis

arcpy.3d.FeaturesFromCityEngineRules(in_features, in_rule_package, out_feature_class, {in_existing_fields}, {in_include_reports}, {in_leaf_shapes})
ParámetroExplicaciónTipo de datos
in_features

Entidades de puntos, poligonales o multiparche de entrada. Las entidades de entrada pueden ser capas de entidades simbolizadas mediante un procedimiento. Se respetará la asignación de campos (propiedades de símbolo regidas por atributo).

Feature Layer
in_rule_package

Archivo (*.rpk) del paquete de reglas de CityEngine que contiene los activos y la información de las reglas CGA. La regla anotada con @StartRule en el archivo (.rpk) del paquete de reglas de CityEngine debe estar anotado con @InPoint para un paquete de reglas destinado a entidades de puntos, con @InPolygon para un paquete de reglas destinado a entidades poligonales o con @InMesh para un paquete de reglas destinado a entidades multiparche. Si @StartRule no está anotado con @InPoint, @InPolygon o @InMesh, se asumirá que el tipo de entidad es polígono.

File
out_feature_class

Clase de entidad de salida que contiene entidades multiparche con reglas CGA aplicadas. Se agrega un campo llamado OriginalOID a la clase(s) de entidad de salida para que contenga el ObjectID de la entidad de entrada desde la cual se ha generado cada entidad de salida.

Feature Class
in_existing_fields
(Opcional)

Controla si la clase de entidad de salida heredará los campos de atributos de la clase de entidad de entrada. Este parámetro no se tiene en cuenta si se utiliza el parámetro in_leaf_shapes.

  • INCLUDE_EXISTING_FIELDSLos campos de atributos de la clase de entidad de entrada se incluirán en la clase de entidad de salida. Esta es la opción predeterminada.
  • DROP_EXISTING_FIELDSNo se agregarán campos de atributos procedentes de la clase de entidad de entrada a la clase de entidad de salida. Esta opción se utilizará automáticamente si el parámetro in_leaf_shapes está establecido en 'FEATURE_PER_LEAF_SHAPE'.
Boolean
in_include_reports
(Opcional)

En función de la forma en la que se haya creado el paquete de reglas, este puede contener una lógica que genere uno o varios informes a medida que se creen los modelos. Estos informes pueden incluir una gran cantidad de información acerca de las entidades. Un ejemplo es un paquete de reglas que informa del número de ventanas que se generan para cada modelo de edificio. Este parámetro se ignora si el paquete de reglas no contiene una lógica para generar informes.

  • INCLUDE_REPORTSSe crean nuevos campos de atributos en la clase de entidad de salida para incluir un valor notificado para cada entidad, tal como se ha definido en la lógica de generación de informes del paquete de reglas. Se crea un atributo único para cada valor notificado.
  • EXCLUDE_REPORTSLos informes generados en el paquete de reglas se ignoran y no se generan atributos nuevos relacionados con estos informes. Esta es la opción predeterminada.
Boolean
in_leaf_shapes
(Opcional)

Los paquetes de reglas de CityEngine crean contenido al generar piezas de componentes y fusionarlas en un único objeto 3D. No obstante, también es posible almacenar estos componentes (o formas de hoja) como entidades separadas. Esta opción puede ser importante para ejecutar operaciones de análisis respecto a subelementos de un objeto 3D, como las ventanas de un edificio.

Este parámetro determina si cada entidad de entrada es una de las siguientes:

  • Convertida a una única entidad multiparche fusionada
  • Se convierte en un conjunto de muchas entidades que pueden ser puntos, líneas o multiparches

Por ejemplo, una regla puede generar modelos de edificio sin interrupciones a partir de huellas de polígono de entrada, o bien crear entidades individuales para cada pared del apartamento, incluido un panel que mira hacia afuera, un punto central representativo y líneas que representan los bordes. En este ejemplo, los panales del apartamento, los puntos centrales y los contornos se consideran formas de hoja.

  • FEATURE_PER_LEAF_SHAPESe generan clases de entidad de salida adicionales. Esta es la opción predeterminada. Los campos de atributos de la clase de entidad de entrada no se incluyen en la clase de entidad de salida. La clase de entidad de salida contiene un campo con el nombre OriginalOID, que hace referencia al ObjectID de la entidad de entrada desde la que se generó la salida.
  • FEATURE_PER_SHAPENo se generan clases de entidad de salida adicionales, ni siquiera si se definen formas de hoja adicionales en la lógica de la regla. Toda la geometría está contenida dentro de las entidades multiparche de salida.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
out_points

Cuando se generan formas de hoja, se crea una clase de entidad de puntos de salida en la misma ubicación que la clase de entidad multiparche de salida principal.

Clase de entidad
out_lines

Cuando se generan formas de hoja, se crea una clase de entidad de polilíneas de salida en la misma ubicación que la clase de entidad multiparche de salida principal.

Clase de entidad
out_multipoints

Cuando se generan formas de hoja, se crea una clase de entidad de polígonos de salida en la misma ubicación que la clase de entidad multiparche de salida principal.

Clase de entidad

Muestra de código

Ejemplo de FeaturesFromCityEngineRules (ventana de Python)

El siguiente scriptde la ventana de Python muestra cómo utilizar la herramienta FeaturesFromCityEngineRules en el modo inmediato:

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

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información de licenciamiento

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

Temas relacionados