将 BIM 导入室内数据集 (Indoors)

可用于具有 Indoors 扩展模块许可的 ArcGIS 组织。

摘要

将要素从 BIM 文件导入室内数据集。

此工具可直接将要素从 BIM 文件导入符合 ArcGIS Indoors 信息模型的室内数据集。 可使用该工具的输出创建楼层感知型 2D 地图和 3D 场景,以用于楼层感知型应用程序,以及生成用于路由的室内网络。

使用情况

  • 您可以使用此工具将楼层平面图数据加载到使用创建室内数据集工具创建的室内数据集中,或加载到使用创建室内数据库工具创建的 Indoors 地理数据库中。

  • 源 BIM 数据必须在运行该工具之前进行地理配准

    了解有关将 BIM 数据添加到 ArcGIS Pro 的详细信息

  • 输入 BIM 楼层平面图面图层参数值将是源 BIM 文件的 Floorplan 数据集中的 Floorplan_Polygon 要素图层。

    • 该工具使用 Floorplan_Polygon 图层构造“楼层”和“单元”要素。
    • 根据输入 BIM 楼层平面图面图层参数值,该工具会访问同一 Floorplan 数据集中的其他图层以构造室内数据集。 “覆盖区”图层用于构造“设施点”要素,而 Floorplan_Polyline 图层用于构造“细节”要素。
  • 目标室内数据集参数值必须是包含符合 Indoors 模型的设施点、楼层、单元和细节要素类的室内数据集。

    注:

    您还可以使用来自 Indoors 地理数据库的数据集(使用创建 Indoor 数据库工具创建),该数据集具有此工具将填充的其他属性

  • 一楼名称参数用于确定建筑物的一楼。 目标室内数据集中每个楼层的垂直顺序、楼层编号和 z 值均派生自此输入。 将向高程小于标识的一楼的任何楼层分配负垂直顺序。

    注:
    • 无需将设置为一楼的楼层导入室内数据集。
    • 此参数仅接受可占用的楼层作为输入。

  • 建筑物名称参数用于填充室内数据集中设施点要素的 FACILITY_IDNAME 字段。 如果工具运行时没有建筑物名称参数值,则将在 FACILITY_IDNAME 字段中填充源 BIM 文件中“覆盖区”图层的 Bldg_Name 字段值。 如果 Bldg_Name 字段为 null 或为空,则将使用源 BIM 文件的名称填充这两个字段。

  • 如果室内数据集中存在数据,则会将源 BIM 文件中的“设施点”和“楼层”名称与室内数据集中的“设施点”和“楼层”名称进行比较,以确定要替换的要素。 如果建筑物名称参数值与“设施点”要素的 NAME 字段值一致,将替换设施点。 如果 BIM 源文件中“楼层”要素的 BldgLevel 字段值与室内数据集中“楼层”要素的 NAME 字段值一致,将替换“楼层”以及关联的“细节”和“单元”要素。

    注:

    如果建筑物名称参数值与室内数据集中“设施点”图层的 NAME 字段不一致,源 BIM 文件中的要素将作为具有指定建筑物名称值的新设施点的一部分进行导入。

  • 房间类别字段参数定义 Floorplan_Polygon 要素图层中的一个字段,将用于填充目标数据集中“单元”要素类的 USE_TYPE 字段。 如果未提供任何字段,则将使用 Floorplan_Polygon 图层中的 RoomName 字段值。

  • 要导入的楼层参数定义将导入的 BIM 文件中的楼层。 如果目标数据集中存在所选楼层,则将对这些楼层以及所有关联的“细节”和“单元”要素进行更新。 如果未提供楼层,则将导入并更新 BIM 文件中的所有楼层。

  • 使用面积测量单位参数可指定“楼层”和“单元”要素类中 AREA_GROSS 字段的单位。

参数

标注说明数据类型
输入 BIM 楼层平面图面图层

源 BIM 文件中已添加到当前地图的 Floorplan_Polygon 要素图层。

Feature Layer
目标室内数据集

符合 ArcGIS Indoors 信息模型且包含“设施点”、“楼层”、“单元”和“细节”要素类的目标室内数据集。

Feature Dataset
一楼名称

建筑物的一楼。 楼层的垂直顺序派生自此输入。 将向高程小于指定的一楼的任何楼层分配负垂直顺序。

String
建筑物名称
(可选)

将分配给输出 Indoors 要素的唯一建筑物名称。 默认值为输入 BIM 文件中的 Bldg_Name 字段值。 如果该字段为 null 或为空,则将使用输入源文件的名称填充此参数。

String
房间类别字段
(可选)

Floorplan_Polygon 要素图层中的字段,将用于填充目标室内数据集中“单元”要素类的 USE_TYPE 字段。 如果未提供任何字段,则将使用 Floorplan_Polygon 图层中的 RoomName 字段值。

String
要导入的楼层
(可选)

输入 BIM 文件中将导入目标室内数据集的楼层。 如果未提供楼层,则将导入所有楼层。

String
面积测量单位
(可选)

指定将用于楼层和单元要素类中的面积字段的测量单位。

  • 平方米面积单位将为平方米。
  • 平方英尺面积单位将为平方英尺。 这是默认设置。
String

派生输出

标注说明数据类型
更新的室内数据集

更新的目标室内数据集。

Feature Dataset

arcpy.indoors.ImportBIMToIndoorDataset(in_bim_floorplan_layer, target_indoor_dataset, ground_floor_name, {building_name}, {room_category_field}, {floors_to_import}, {area_unit_of_measure})
名称说明数据类型
in_bim_floorplan_layer

源 BIM 文件中已添加到当前地图的 Floorplan_Polygon 要素图层。

Feature Layer
target_indoor_dataset

符合 ArcGIS Indoors 信息模型且包含“设施点”、“楼层”、“单元”和“细节”要素类的目标室内数据集。

Feature Dataset
ground_floor_name

建筑物的一楼。 楼层的垂直顺序派生自此输入。 将向高程小于指定的一楼的任何楼层分配负垂直顺序。

String
building_name
(可选)

将分配给输出 Indoors 要素的唯一建筑物名称。 默认值为输入 BIM 文件中的 Bldg_Name 字段值。 如果该字段为 null 或为空,则将使用输入源文件的名称填充此参数。

String
room_category_field
(可选)

Floorplan_Polygon 要素图层中的字段,将用于填充目标室内数据集中“单元”要素类的 USE_TYPE 字段。 如果未提供任何字段,则将使用 Floorplan_Polygon 图层中的 RoomName 字段值。

String
floors_to_import
[floors_to_import,...]
(可选)

输入 BIM 文件中将导入目标室内数据集的楼层。 如果未提供楼层,则将导入所有楼层。

String
area_unit_of_measure
(可选)

指定将用于楼层和单元要素类中的面积字段的测量单位。

  • SQUARE_METERS面积单位将为平方米。
  • SQUARE_FEET面积单位将为平方英尺。 这是默认设置。
String

派生输出

名称说明数据类型
updated_indoor_dataset

更新的目标室内数据集。

Feature Dataset

代码示例

ImportBIMToIndoorDataset 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 ImportBIMToIndoorDataset 函数。

import arcpy
arcpy.indoors.ImportBIMToIndoorDataset(r'C:\ExampleCampus.rvt\Floorplan\Floorplan_Polygon', 
                                        r'C:\Indoors\ExampleCampus.gdb\Indoor',
                                        'LEVEL 01',
                                        'Building_A',
                                        'Category',
                                        ['BASEMENT', 'LEVEL 01', 'LEVEL 02'],
                                        'SQUARE_FEET')
ImportBIMToIndoorDataset 示例 2(独立脚本)

以下独立脚本演示了如何使用 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 = r'C:\ExampleCampus.rvt\Floorplan\Floorplan_Polygon'
arcpy.management.MakeFeatureLayer(in_bim_floorplan_fc, 'in_bim_floorplan_layer')

target_indoor_dataset = r'C:\Indoors\ExampleCampus.gdb\Indoor'
ground_floor_name = 'LEVEL 01'
building_name = 'Building_A'
room_category_field = 'Category'
floors_to_import = ['BASEMENT', 'LEVEL 01', 'LEVEL 02']
area_unit_of_measure = 'SQUARE_FEET'

# Run the tool
arcpy.indoors.ImportBIMToIndoorDataset('in_bim_floorplan_layer', target_indoor_dataset,
                                       ground_floor_name, building_name,
                                       room_category_field, floors_to_import,
                                       area_unit_of_measure)

环境

特殊情况

许可信息

  • Basic: 需要 Indoors
  • Standard: 需要 Indoors
  • Advanced: 需要 Indoors

相关主题