将楼层平面图导入 Indoors 地理数据库 (Indoors)

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

摘要

将楼层平面图从 CAD 文件导入到符合 ArcGIS Indoors 信息模型Indoors 工作空间中。 可使用该工具的输出创建楼层感知型地图和场景,以用于楼层感知型应用程序,以及生成用于路由的室内网络。

使用情况

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

  • 使用企业级地理数据库时,该连接文件必须直接连接到数据库,并且必须以数据库所有者身份建立此连接。

  • 对于输入 CAD 数据,使用 DWG 或 DGN 格式。

  • CAD 文件路径存储在 Excel 电子表格中。 模板文件包含在 ArcGIS Pro 安装的 Resources\Indoors\MappingFile 文件夹中。

    了解有关将字段从楼层平面图映射到地理数据库的详细信息

  • 唯一 ID 分隔符参数将按 Indoors 模型等级分隔键值。 例如,使用句点生成的 ID 类似 ESRI.REDLANDS.OOA。 使用下划线生成的 ID 类似 ESRI_REDLANDS_OOA。

  • 如果使用狭长面阈值参数,则标识的狭长面要素将置于位于 ArcGIS Pro 工程的临时文件夹中的检查地理数据库中。

  • 当在配置电子表格中将 CLOSE_DOORS 列设置为 Y 时,可使用关门缓冲区参数解决较差的 CAD 拓扑(例如,门和墙壁之间的线间距)。

    警告:

    在将 CLOSE_DOORS 设置为 Y 的情况下运行该工具之前,标识“图层转元素类”工作表的 OPENINGS 列中要合并的折线。

  • 可选面积测量单位参数用于定义在导入楼层平面图时,用于计算面积字段的测量单位。 默认为平方英尺。

  • 可选测量模式参数用于指定是使用测地线还是平面距离来计算面积字段。 平面距离为在 2D 笛卡尔坐标系中计算的直线欧氏距离。 测地线距离(即跨世界曲面的距离)在 3D 球空间中进行计算。 默认设置为测地线。

  • 将基于楼层属性工作表中的 ELEVATION_RELATIVE 属性值计算楼层、单元、详细信息、地区和区域的 Z 值。

  • 所需的目标单元要素目标详细信息要素目标楼层要素目标设施点要素参数必须参考包含符合 Indoors 模型的单元、详细信息、楼层和设施点的要素类或要素图层。

    目标地区要素目标区域要素为可选参数。 如果已指定参数,则它们必须参考包含符合 Indoors 模型的地区和区域要素的要素类或要素图层。

    注:

    目标要素必须全部来自同一文件地理数据库、企业级地理数据库或要素服务。

  • 如果数据存在于输入地理数据库中,则可使用 FACILITY_IDLEVEL_ID 属性值确定要替换的要素。

    了解有关更新 Indoors 数据的详细信息

参数

标注说明数据类型
目标单元要素

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层和详细信息要素位于同一工作空间中的目标单元要素图层、要素类或要素服务。

Feature Layer
目标详细信息要素

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层和单元要素位于同一工作空间中的目标详细信息要素图层、要素类或要素服务。

Feature Layer
目标楼层要素

符合 ArcGIS Indoors 信息模型并与目标设施点、单元和详细信息要素位于同一工作空间中的目标楼层要素图层、要素类或要素服务。

Feature Layer
目标设施点要素

符合 ArcGIS Indoors 信息模型并与目标楼层、单元和详细信息要素位于同一工作空间中的目标设施点要素图层、要素类或要素服务。

Feature Layer
输入 Excel 模板文件

包含输入和配置参数的 Excel 电子表格(.xls.xlsx 文件)。

File
唯一 ID 分隔符

指定将按 Indoors 模型等级分隔键值的分隔符。

  • 句点该 ID 将包含以句点分隔的键值。 这是默认设置。
  • 连字符该 ID 将包含以连字符分隔的键值。
  • 下划线该 ID 将包含以下划线分隔的键值。
String
狭长面阈值
(可选)

定义狭长面的周长与面积之比。 可在导入单位面时使用,以提高导入数据的质量。 确定为狭长面的单位面将置于位于 ArcGIS Pro 工程的临时文件夹中的检查地理数据库中。 默认值为 2。

Long
关门缓冲区
(可选)

该工具以门为原点搜索的距离(以英寸为单位),以查找并捕捉到最近的墙壁。 当在输入 Excel 模板文件中将 CLOSE_DOORS 列设置为 Y 时,将使用此参数。 默认值为 0。

Double
面积测量单位
(可选)

在导入楼层平面图时,指定将用于计算区域字段的面积的测量单位。

  • 平方英尺将以平方英尺为单位来定义面积。 这是默认设置。
  • 平方米将以平方米为单位来定义面积。
String
测量模式
(可选)

在导入楼层平面图时,指定将用于计算面积字段的测量模式。

  • 测地线将使用测地线距离计算面积。 测地线距离(即跨世界曲面的距离)在 3D 球空间中进行计算。 这是默认设置。
  • 平面将使用平面距离计算面积。 平面距离为在 2D 笛卡尔坐标系中计算的直线欧氏距离。
String
目标地区要素
(可选)

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层、单元和详细信息要素位于同一工作空间中的目标地区要素图层、要素类或要素服务。

Feature Layer
目标区域要素
(可选)

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层、单元和详细信息要素位于同一工作空间中的目标区域要素图层、要素类或要素服务。

Feature Layer

派生输出

标注说明数据类型
更新单元

更新的目标单元要素。

Feature Layer

arcpy.indoors.ImportFloorplansToIndoorsGDB(target_unit_features, target_detail_features, target_level_features, target_facility_features, in_excel_template, uniqueid_delimiter, {sliver_threshold}, {door_close_buffer}, {area_unit_of_measure}, {measurement_mode}, {target_section_features}, {target_zone_features})
名称说明数据类型
target_unit_features

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层和详细信息要素位于同一工作空间中的目标单元要素图层、要素类或要素服务。

Feature Layer
target_detail_features

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层和单元要素位于同一工作空间中的目标详细信息要素图层、要素类或要素服务。

Feature Layer
target_level_features

符合 ArcGIS Indoors 信息模型并与目标设施点、单元和详细信息要素位于同一工作空间中的目标楼层要素图层、要素类或要素服务。

Feature Layer
target_facility_features

符合 ArcGIS Indoors 信息模型并与目标楼层、单元和详细信息要素位于同一工作空间中的目标设施点要素图层、要素类或要素服务。

Feature Layer
in_excel_template

包含输入和配置参数的 Excel 电子表格(.xls.xlsx 文件)。

File
uniqueid_delimiter

指定将按 Indoors 模型等级分隔键值的分隔符。

  • PERIOD该 ID 将包含以句点分隔的键值。 这是默认设置。
  • HYPHEN该 ID 将包含以连字符分隔的键值。
  • UNDERSCORE该 ID 将包含以下划线分隔的键值。
String
sliver_threshold
(可选)

定义狭长面的周长与面积之比。 可在导入单位面时使用,以提高导入数据的质量。 确定为狭长面的单位面将置于位于 ArcGIS Pro 工程的临时文件夹中的检查地理数据库中。 默认值为 2。

Long
door_close_buffer
(可选)

该工具以门为原点搜索的距离(以英寸为单位),以查找并捕捉到最近的墙壁。 当在输入 Excel 模板文件中将 CLOSE_DOORS 列设置为 Y 时,将使用此参数。 默认值为 0。

Double
area_unit_of_measure
(可选)

在导入楼层平面图时,指定将用于计算区域字段的面积的测量单位。

  • SQUARE_FEET将以平方英尺为单位来定义面积。 这是默认设置。
  • SQUARE_METERS将以平方米为单位来定义面积。
String
measurement_mode
(可选)

在导入楼层平面图时,指定将用于计算面积字段的测量模式。

  • GEODESIC将使用测地线距离计算面积。 测地线距离(即跨世界曲面的距离)在 3D 球空间中进行计算。 这是默认设置。
  • PLANAR将使用平面距离计算面积。 平面距离为在 2D 笛卡尔坐标系中计算的直线欧氏距离。
String
target_section_features
(可选)

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层、单元和详细信息要素位于同一工作空间中的目标地区要素图层、要素类或要素服务。

Feature Layer
target_zone_features
(可选)

符合 ArcGIS Indoors 信息模型并与目标设施点、楼层、单元和详细信息要素位于同一工作空间中的目标区域要素图层、要素类或要素服务。

Feature Layer

派生输出

名称说明数据类型
updated_units

更新的目标单元要素。

Feature Layer

代码示例

ImportFloorplansToIndoorsGeodatabase 示例 1(Python 窗口)

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

import arcpy
arcpy.indoors.ImportFloorplansToIndoorsGDB('C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                                        'C:/Indoors/ExampleCampus/Config_ExampleCampus_CAD.xlsx', 
                                        'PERIOD', 2, 0, 'SQUARE_FEET', 'GEODESIC',
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Sections', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Zones')
ImportFloorplansToIndoorsGeodatabase 示例 2(独立脚本)

以下独立脚本演示了如何使用 ImportFloorplansToIndoorsGeodatabase 函数。

# Name: Indoors_ImportFloorplansToIndoorsGDB_example2.py
# Description: Imports features from CAD files into the indoor dataset

import arcpy

# Set layers that conform to the ArcGIS Indoors Information Model schema
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' 
target_section_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Sections'
target_zone_features = 'C:/Indoors/ExampleCampus.gdb/Indoor/Zones'

# Spreadsheet that points to CAD files and defines field mapping
in_excel_template = 'C:/Indoors/Config_ExampleCampus_CAD.xlsx'

# Spreadsheet that points to CAD files and defines field mapping
in_excel_template = 'C:/Indoors/Config_ExampleCampus_CAD.xlsx'

uniqueid_delimiter = 'PERIOD'
sliver_threshold = 2
door_close_buffer = 0
area_unit_of_measure = 'SQUARE_FEET'
measurement_mode = 'GEODESIC'

# Run the tool
arcpy.indoors.ImportFloorplansToIndoorsGDB('C:/Indoors/ExampleCampus.gdb/Indoor/Units', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Details', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Levels', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Facilities', 
                                        'C:/Indoors/ExampleCampus/Config_ExampleCampus_CAD.xlsx', 
                                        'PERIOD', 2, 0, 'SQUARE_FEET', 'GEODESIC',
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Sections', 
                                        'C:/Indoors/ExampleCampus.gdb/Indoor/Zones')

环境

特殊情况

许可信息

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

相关主题