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ámetro | Explicación | Tipo 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.
| 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.
| 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:
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.
| Boolean |
Salida derivada
Nombre | Explicación | Tipo 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
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
Información de licenciamiento
- Basic: Requiere 3D Analyst
- Standard: Requiere 3D Analyst
- Advanced: Requiere 3D Analyst