Importar BIM a dataset de interiores (Indoors)

Disponible para una organización de ArcGIS con licencia de la extensión Indoors.

Resumen

Importa entidades desde un archivo BIM a un dataset de interiores que se ajusta al modelo de información de ArcGIS Indoors. La salida de esta herramienta se puede utilizar para crear mapas y escenas que tienen en cuenta las plantas para su uso en aplicaciones que también las tienen en cuenta, así como para generar una red de interiores para la generación de rutas.

Uso

  • Puede utilizar esta herramienta para cargar datos de planos de planta en un dataset de interiores creado con la herramienta Crear dataset de interiores o una geodatabase de Indoors creada con la herramienta Crear base de datos de Indoors.

  • Los datos BIM de origen se deben georreferenciar antes de ejecutar la herramienta.

    Más información sobre cómo agregar datos BIM a ArcGIS Pro

  • El valor del parámetro Capa de polígono de plano de planta BIM de entrada será la capa de entidades Floorplan_Polygon del dataset Floorplan del archivo BIM de origen.

    • La herramienta utiliza la capa Floorplan_Polygon para construir las entidades Niveles y Unidades.
    • Basándose en el valor del parámetro Capa de polígono de plano de planta BIM de entrada, la herramienta accede a capas adicionales del mismo dataset Floorplan para construir el dataset de interiores. La capa Huella se utiliza para construir las entidades Instalaciones y la capa Floorplan_Polyline se utiliza para construir las entidades Detalles.
  • Los parámetros Entidades de unidad de destino, Entidades de detalle de destino, Entidades de nivel de destino y Entidades de instalación de destino deben hacer referencia a clases de entidad o capas de entidades que contengan entidades de unidades, detalles, niveles e instalaciones que cumplan el modelo Indoors .

    Nota:

    Todas las entidades de destino deben provenir de la misma geodatabase de archivos, geodatabase corporativa o servicio de entidades.

  • El parámetro Id. de instalación se utiliza para rellenar el campo FACILITY_ID para las entidades de instalación importadas del dataset de interiores. Tenga en cuenta lo siguiente al configurar este parámetro:

    • No están permitidos los espacios. Puede reemplazar los espacios por caracteres de guion bajo. Por ejemplo, en lugar de Edificio XYZ, utilice Edificio_XYZ.
    • Para agregar los datos BIM de entrada como una instalación nueva en un dataset de interiores existente, especifique un Id. de instalación que no esté asignado a otra instalación en las entidades de instalación de destino.
    • Para actualizar una instalación existente, utilice el valor de campo FACILITY_ID para esa entidad de instalación en las entidades de instalación de destino.
      Nota:

      Para actualizar una entidad de instalación existente, el valor del parámetro Id. de instalación debe coincidir con el valor de campo FACILITY_ID de la entidad de instalación y el valor del parámetro Nombre de instalación debe coincidir con el valor de campo NAME de la entidad de instalación. Se distingue entre mayúsculas y minúsculas.

  • El parámetro Nombre de instalación se utiliza para rellenar el campo NAME para las entidades de instalación importadas del dataset de interiores.

  • El parámetro Nombre de planta baja determina la planta baja del edificio. El orden vertical, el número de nivel y el valor z para cada nivel en las entidades de nivel de destino se derivan de esta entrada. A los niveles con una elevación inferior a la planta baja identificada se les asigna un orden vertical negativo.

    Nota:
    • No es necesario que importe la planta que estableció como la planta baja al dataset de interiores.
    • Solo los niveles habitables se aceptan como entradas para este parámetro.

  • Si existen datos en las ubicaciones que estableció para los parámetros de entidad de destino, los nombres de Instalación y Nivel del archivo BIM de origen se compararán con los nombres de Instalación y Nivel de las entidades para determinar las entidades que se van a actualizar.

    • Se actualizará una entidad Instalaciones si los valores de los parámetros Id. de instalación y Nombre de instalación coinciden, respectivamente, con los valores de campo FACILITY_ID y NAME para las entidades de instalaciones de destino.
    • Una entidad Niveles, así como sus entidades Detalles y Unidades asociadas, se actualizará si el valor de campo BldgLevel de una entidad de niveles del archivo BIM de origen coincide con el valor de campo NAME para una entidad de niveles de destino.
    Nota:

    Si los valores de los parámetros Id. de instalación y Nombre de instalación no coinciden con los campos FACILITY_ID y NAME de una entidad de instalación existente, y el polígono de plano de planta BIM no interseca una entidad de instalación existente, la herramienta importa los datos BIM como una instalación nueva con los valores de Id. de instalación y Nombre de instalación especificados.

  • El parámetro Campo Tipo de uso de polígono de planta define el campo de la capa de entidades Floorplan_Polygon que se usará para rellenar el campo USE_TYPE para las entidades de unidades de destino. Si no se proporciona ningún campo, se utilizará el valor del campo RoomName de la capa Floorplan_Polygon.

  • Puede asignar atributos adicionales de la capa de Salas del archivo BIM de origen a campos existentes para las entidades de unidades de destino mediante los siguientes parámetros:

    • El parámetro Capa de salas de BIM de entrada define la capa Salas ubicada en el dataset Arquitectónico.
    • El parámetro Asignación de propiedades de sala se puede utilizar para asignar campos de la capa BIM de entrada a campos de entidad de unidad de destino. Los campos deben existir antes de ejecutar la herramienta. Se recomienda asignar campos de la capa de salas de BIM de origen a campos de destino que tengan el mismo tipo de datos.
  • Los siguientes campos se asignan de forma predeterminada si están presentes en la clase de entidad Unidades y no se pueden asignar con el parámetro Asignación de propiedades de sala: AREA_GROSS, AREA_NET, AREA_UM, ELEVATION_ABSOLUTE, ELEVATION_RELATIVE, FACILITY_ID, FACILITY_NAME, LEVEL_ID, LEVEL_NAME, LEVEL_NUMBER, NAME, UNIT_ID, USE_TYPE y VERTICAL_ORDER.

  • El parámetro Plantas para importar define las plantas del archivo BIM de entrada que se importarán. Puede usar este parámetro para agregar o actualizar niveles específicos en los datos de interiores. Si este parámetro no está rellenado, se importarán todas las plantas del archivo BIM.

  • Utilice el parámetro Unidad de medida de área para especificar las unidades para el campo AREA_GROSS en las clases de entidad Niveles y Unidades.

  • Utilice el parámetro Permitir la inserción de una nueva instalación superpuesta para evitar la importación accidental de datos del plano de planta en conflicto.

    • Este parámetro está desactivado de forma predeterminada. Si este parámetro está desactivado, la herramienta prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de instalación de destino. Si se detecta una intersección, la herramienta comprueba si los valores de los parámetros Id. de instalación y Nombre de la instalación especificados coinciden con los valores de campo FACILITY_ID y NAME de la entidad de instalaciones que se intersecan. Si los valores coinciden, la herramienta actualiza la instalación existente. Si los valores no coinciden, la herramienta emite un mensaje de advertencia y deja de ejecutarse.
    • Si este parámetro está desactivado, la herramienta no prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de instalación de destino. Active este parámetro para importar un edificio que se superponga o toque una instalación existente.

Parámetros

EtiquetaExplicaciónTipo de datos
Capa de polígono de plano de planta BIM de entrada

La capa de entidades Floorplan_Polygon del archivo BIM de origen que se ha agregado al mapa actual.

Feature Layer
Entidades de unidad de destino

La capa de entidades, clase de entidad o servicio de entidades de unidades de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, niveles y detalles de destino.

Feature Layer
Entidades de detalle de destino

La capa de entidades, clase de entidad o servicio de entidades de detalles de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, niveles y unidades de destino.

Feature Layer
Entidades de nivel de destino

La capa de entidades, clase de entidad o servicio de entidades de niveles de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, unidades y detalles de destino.

Feature Layer
Entidades de instalación de destino

La capa de entidades, clase de entidad o servicio de entidades de instalaciones de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de niveles, unidades y detalles de destino.

Feature Layer
Id. de instalación

El Id. de instalación único que se asignará a las entidades de Indoors de salida. El Id. de instalación no puede contener espacios.

String
Nombre de instalación

El nombre común del edificio.

String
Nombre de planta baja

La planta baja del edificio. El orden vertical de los niveles se deriva de esta entrada. A los niveles con una elevación inferior a la planta baja especificada se les asignará un orden vertical negativo.

String
Campo Tipo de uso de polígono de planta
(Opcional)

El campo de la capa de entidades Floorplan_Polygon que se utilizará para rellenar el campo USE_TYPE para las entidades de unidad de destino. Si no se proporciona ningún campo, se utilizará el valor del campo RoomName de la capa Floorplan_Polygon.

String
Plantas para importar
(Opcional)

Las plantas del archivo BIM de entrada que se importarán a las entidades de destino. Si no se proporcionan plantas, se importarán todas las plantas.

String
Unidad de medida de área
(Opcional)

Especifica la unidad de medida que se utilizará para los campos de área en las clases de entidad Niveles y Unidades.

  • Metros cuadradosLa unidad de área será metros cuadrados.
  • Pies cuadradosSe usarán los pies cuadrados como unidad de área. Esta es la opción predeterminada.
String
Capa de salas BIM de entrada
(Opcional)

La capa Salas del dataset Arquitectónico del archivo BIM de entrada. Esta capa se utilizará para obtener valores de campo extendidos que se pueden asignar a campos existentes en la clase de entidad Unidades con el parámetro Asignación de propiedades de sala.

Feature Layer
Asignación de propiedades de sala
(Opcional)

Controla qué campos de atributos de la clase de entidad Unidades se rellenarán con valores de campo de la capa de sala BIM de entrada. Los campos deben existir antes de ejecutar esta herramienta. Se recomienda que asigne campos de la capa de sala BIM de entrada a campos de la clase de entidad Unidades que tengan el mismo tipo de campo.

Field Mappings
Permitir la inserción de una nueva instalación superpuesta
(Opcional)

Especifica si se importará un edificio del archivo BIM de entrada si se detecta una intersección entre el plano de planta de ese edificio y una entidad de instalaciones existente en las entidades de instalación de destino.

  • Desactivado: la herramienta prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de destino. Si se detecta una intersección, la herramienta comprueba si los valores de los parámetros Id. de instalación y Nombre de la instalación especificados coinciden con los valores de campo FACILITY_ID y NAME de la entidad de instalaciones que se intersecan. Si los valores coinciden, la herramienta actualiza la instalación existente. Si los valores no coinciden, la herramienta emite un mensaje y deja de ejecutarse. Esta es la opción predeterminada.
  • Activado: la herramienta no prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de instalación de destino. Puede utilizar esta opción para importar un edificio que se superponga o toque una instalación existente.
Boolean

Salida derivada

EtiquetaExplicaciónTipo de datos
Unidades actualizadas

Las entidades de unidad de destino actualizadas.

Feature Layer

arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features, target_level_features, target_facility_features, facility_id, facility_name, ground_floor_name, {floorplan_polygon_use_type_field}, {floors_to_import}, {area_unit_of_measure}, {in_bim_rooms_layer}, {room_properties_mapping}, {allow_insert_new_facility})
NombreExplicaciónTipo de datos
in_bim_floorplan_layer

La capa de entidades Floorplan_Polygon del archivo BIM de origen que se ha agregado al mapa actual.

Feature Layer
target_unit_features

La capa de entidades, clase de entidad o servicio de entidades de unidades de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, niveles y detalles de destino.

Feature Layer
target_detail_features

La capa de entidades, clase de entidad o servicio de entidades de detalles de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, niveles y unidades de destino.

Feature Layer
target_level_features

La capa de entidades, clase de entidad o servicio de entidades de niveles de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de instalaciones, unidades y detalles de destino.

Feature Layer
target_facility_features

La capa de entidades, clase de entidad o servicio de entidades de instalaciones de destino que cumple el Modelo de información de ArcGIS Indoors y reside en el mismo espacio de trabajo que las entidades de niveles, unidades y detalles de destino.

Feature Layer
facility_id

El Id. de instalación único que se asignará a las entidades de Indoors de salida. El Id. de instalación no puede contener espacios.

String
facility_name

El nombre común del edificio.

String
ground_floor_name

La planta baja del edificio. El orden vertical de los niveles se deriva de esta entrada. A los niveles con una elevación inferior a la planta baja especificada se les asignará un orden vertical negativo.

String
floorplan_polygon_use_type_field
(Opcional)

El campo de la capa de entidades Floorplan_Polygon que se utilizará para rellenar el campo USE_TYPE para las entidades de unidad de destino. Si no se proporciona ningún campo, se utilizará el valor del campo RoomName de la capa Floorplan_Polygon.

String
floors_to_import
[floors_to_import,...]
(Opcional)

Las plantas del archivo BIM de entrada que se importarán a las entidades de destino. Si no se proporcionan plantas, se importarán todas las plantas.

String
area_unit_of_measure
(Opcional)

Especifica la unidad de medida que se utilizará para los campos de área en las clases de entidad Niveles y Unidades.

  • SQUARE_METERSLa unidad de área será metros cuadrados.
  • SQUARE_FEETSe usarán los pies cuadrados como unidad de área. Esta es la opción predeterminada.
String
in_bim_rooms_layer
(Opcional)

La capa Salas del dataset Arquitectónico del archivo BIM de entrada. Esta capa se utilizará para obtener valores de campo extendidos que se pueden asignar a campos existentes en la clase de entidad Unidades con el parámetro Asignación de propiedades de sala.

Feature Layer
room_properties_mapping
(Opcional)

Controla qué campos de atributos de la clase de entidad Unidades se rellenarán con valores de campo de la capa de sala BIM de entrada. Los campos deben existir antes de ejecutar esta herramienta. Se recomienda que asigne campos de la capa de sala BIM de entrada a campos de la clase de entidad Unidades que tengan el mismo tipo de campo.

Field Mappings
allow_insert_new_facility
(Opcional)

Especifica si se importará un edificio del archivo BIM de entrada si se detecta una intersección entre el plano de planta de ese edificio y una entidad de instalaciones existente en las entidades de instalación de destino.

  • NO_ALLOW_INSERT_NEW_FACILITYLa herramienta prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de instalación de destino. Si se detecta una intersección, la herramienta comprueba si los valores especificados en los parámetros facility_id y facility_name coinciden con los valores de los campos FACILITY_ID y NAME de la entidad de instalaciones que se intersecan. Si los valores coinciden, la herramienta actualiza la instalación existente. Si los valores no coinciden, la herramienta emite un mensaje y deja de ejecutarse. Esta es la opción predeterminada.
  • ALLOW_INSERT_NEW_FACILITYLa herramienta no prueba si el polígono de plano de planta BIM de entrada interseca cualquier polígono de instalación existente en las entidades de instalación de destino. Puede utilizar esta opción para importar un edificio que se superponga o toque una instalación existente.
Boolean

Salida derivada

NombreExplicaciónTipo de datos
updated_units

Las entidades de unidad de destino actualizadas.

Feature Layer

Muestra de código

Ejemplo 1 de ImportBIMToIndoorDataset (ventana de Python)

El siguiente script de la ventana de Python demuestra cómo utilizar la función ImportBIMToIndoorDataset de modo inmediato.

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset('C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                                        'Building_A',
                                        'Building A',
                                        'LEVEL 01',
                                        'RoomName',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET',
                                        'C:/ExampleCampus.rvt/Architectural/Rooms',
                                       'UNIT_ID "Unit ID" true true false 255 Text 0 0,First,#,Rooms,ObjectId,0,255;'
                                       'NAME "Name" true true false 100 Text 0 0,First,#;'
                                       'NAME_LONG "Long Name" true true false 255 Text 0 0,First,#,Rooms,Department,0,255;LEVEL_ID "Level ID" true true false 255 Text 0 0,First,#;'
                                       'AREA_GROSS "Gross Area" true true false 8 Double 0 0,First,#;'
                                       'HEIGHT_RELATIVE "Relative Height" true true false 8 Double 0 0,First,#,Rooms,SourceHeight,-1,-1',
                                       'NO_ALLOW_INSERT_NEW_FACILITY')
Ejemplo 2 de ImportBIMToIndoorDataset (script independiente)

El siguiente script independiente muestra cómo utilizar la función ImportBIMToIndoorDataset.

# Name: ImportBIMToIndoorDataset_example2.py
# Description: Imports features from a BIM file into the indoor dataset

import arcpy

# Set tool parameters 
in_bim_floorplan_fc = 'C:/ExampleCampus.rvt/Floorplan/Floorplan_Polygon'
arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'in_bim_floorplan_layer')

target_unit_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units' 
target_detail_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Details' 
target_level_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Levels' 
target_facility_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities' 
facility_id = 'BUILDING_A'
facility_name = 'Building A'
ground_floor_name = 'LEVEL 01'
floorplan_polygon_use_type_field = 'Category'
floors_to_import = ['BASEMENT', 'LEVEL 01', 'LEVEL 02']
area_unit_of_measure = 'SQUARE_FEET'
in_bim_rooms_layer = 'C:/ExampleCampus.rvt/Architectural/Rooms'
room_properties_mapping = ""
allow_insert_new_facility = 'NO_ALLOW_INSERT_NEW_FACILITY'

# Create field mapping object
room_properties_mapping = arcpy.FieldMappings()
#set target schema
TargetSchema = 'C:/Indoors/ExampleCampus.gdb/Indoor/Units'
room_properties_mapping.addTable(TargetSchema)

# Map the target field "NAME_LONG", using values from "RoomNumber" field from source BIM file
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'RoomNumber')
RoomNumber = fldMap.outputField
RoomNumber.name, RoomNumber.aliasName, RoomNumber.type = 'NAME_LONG', 'Long Name', 'TEXT'
fldMap.outputField = RoomNumber
room_properties_mapping.addFieldMap(fldMap)

# Map the target field "HEIGHT_RELATIVE", using values from "SourceHeight"
fldMap = arcpy.FieldMap()
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
SourceHeight = fldMap.outputField
SourceHeight.name, SourceHeight.aliasName, SourceHeight.type = 'HEIGHT_RELATIVE', 'Relative Height', 'DOUBLE'
fldMap.outputField = SourceHeight
fldMap.addInputField(in_bim_rooms_layer, 'SourceHeight')
room_properties_mapping.addFieldMap(fldMap)

# Run the tool
arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_unit_features, target_detail_features,
                                       target_level_features, target_facility_features, facility_id, facility_name,
                                       ground_floor_name, floorplan_polygon_use_type_field, floors_to_import,
                                       area_unit_of_measure, in_bim_rooms_layer, room_properties_mapping,
                                       allow_insert_new_facility)

Información de licenciamiento

  • Basic: No
  • Standard: No
  • Advanced: Requiere Indoors

Temas relacionados