可用于具有 Indoors 扩展模块许可的 ArcGIS 组织。
将楼层平面图导入 Indoors 地理数据库工具可将配置文件作为输入。 配置文件为 Microsoft Excel 工作簿,其中包含工具查找您的 CAD 文件、导入 CAD 楼层平面图数据以及将导入的数据转换为室内要素类中的要素和属性所需的信息。
模板配置文件包含在 ArcGIS Pro 安装中(位于 <installation location>\Program Files\ArcGIS\Pro\Resources\Indoors\MappingFile\Config_CAD_Indoors_Template.xlsx 下)。 创建模板配置文件的副本,以便将其用于您的工程。
提示:
在更新配置电子表格之前,将 CAD 工程图添加到地图上并熟悉 CAD 图层名称和内容(如果尚未使用)可能会有所帮助。
要设置配置文件,请完成每个工作表,如下所示:
将 CAD 图层映射到要素类
“CAD 图层到 FC 映射”工作表将 CAD 文件中的 CAD 图层映射到室内要素类中的相应要素和属性。
将楼层平面图导入 Indoors 地理数据库工具可从 CAD 面或 CAD 折线图层生成面要素。 例如,如果您的 CAD 工程图包含面图层定义单元(办公室、走廊和其他可导航空间),则使用 CAD 面图层的名称填充 UNITS 列:
或者,如果您的 CAD 工程图包含多个共同定义单元边界边的折线图层,则使用 CAD 折线图层的名称填充 UNIT_LINES 列:
填充 CAD 图层转 FC 映射工作表,如下所示:
注:
与区域和部分相关的列仅适用于 Indoors 地理数据库的用户(使用创建 Indoors 数据库工具创建)。 如果要使用 Indoors 地理数据库,则可以选择填充这些列,并且将楼层平面图导入 Indoors 地理数据库工具将支持这些列。
- 在 FACILITIES 列中,列出用于定义设施点的形状和范围的一个或多个 CAD 面图层。
或者,如果您的 CAD 图层包含用于定义设施点的范围和边的折线,请在 FACILITY_LINES 列中将其列出。
注:
然后,在配置中,可使用选项通过合并级别面来定义设施点的形状和范围。 即使选择该选项,也仍必须填充 FACILITIES 或 FACILITY_LINES 列。 如果您选择使用合并的级别面定义设施点的形状和范围,则忽略此列。
- 在 LEVELS 列中,列出用于定义各个级别范围的一个或多个 CAD 面图层。
这可能包括一楼、地下室、夹层以及建筑物中具有相同 z 值的其他空间。 或者,如果您的 CAD 图层包含折线,请在 LEVEL_LINES 列中将其列出。
- 在 UNITS 列中,列出一个或多个 CAD 面图层,这些图层可定义各个单元,例如房间、走廊和其他可导航空间。
或者,如果各个单元空间由 CAD 折线图层(例如内墙和外墙)定义,请在 UNIT_LINES 列中列出这些图层。
- 在 DETAILS 列中,列出用于定义要导入的内部细节的所有 CAD 折线图层,例如墙、门和窗户。
注:
选择要导入的内部细节时,请考虑打算如何使用室内 GIS。 例如,HVAC 或电气装置对于设施点管理用例可能很重要,但对于管理办公酒店来说却不重要。
- 或者,定义在生成单元面时应关闭的所有门开口。
如果对于在 UNIT_LINES 列中列出的 CAD 折线图层,门处于打开位置,并且摆弧如下图所示,这是一种很好的做法,原因在于这会产生更加简洁的面。
- 在 OPENINGS 列中,列出表示门的一个或多个 CAD 折线图层,并应在输出单元面中将其关闭。
- 在级别属性工作表中,将 CLOSE_DOORS 列设置为 Y。
- 在 UNIT_ID 列中,列出任何包含唯一单元标识符字符串(例如“L2w210”或“A-125”)的 CAD 注记图层。
注:
如果没有合适的 CAD 注记,则可以将 UNIT_ID 列留空,该工具将自动生成 UNIT_ID 值。
- 在 UNIT_NAME 列中,列出包含常用单元名称字符串(例如“Davies Hall”或“Server Room #4”)的所有 CAD 注记图层。
注:
如果没有合适的 CAD 注记,则可以将 UNIT_NAME 列留空,该工具将自动生成 UNIT_NAME 值。
- 在 UNIT_USE_TYPE 列中,列出包含用法字符串(例如“Office”、“Stairway”或“Conference Room”)的所有 CAD 注记图层。
注:
虽然不需要 UNIT_USE_TYPE 列,但是,可通过填充该列来按照室内地图中的使用类型对单元进行符号化。
- 保存文件。
您的 CAD 数据可能还包含唯一标识符、常用名称和其他重要信息的注记。 将楼层平面图导入 Indoors 地理数据库工具可根据 CAD 图层转 FC 映射工作表中的配置将此信息作为属性数据添加到导入的要素中。
注:
如果 CAD 注记包含由字符或换行符分隔的长字符串,则可以使用以下语法提取特定值:
<图层名称>|<位置>|<分隔符>
示例 1 - 名为 A-ANNO-LYR 的 CAD 注记图层包含由句点分隔的字符串,例如 CAMPUS.A.A-210。 要返回字符串的第三个部分“A-210”,请使用以下内容:
A-ANNO-LYR|3|。
示例 2 - CAD 注记图层包含带换行符的由两个部分组成的字符串,例如:
CAMPUSH360
要返回字符串的第二个部分(“H360”),请使用 \p 作为分隔符,如下所示:
A-ANNO-LYR|2|\p
如果您的 CAD 数据包含块注记,则用 {FIELD_NAME} 替换分隔符,其中 FIELD_NAME 表示您在注记中引用的自定义字段。 例如,要从名为 OFFICE_ID 的自定义字段中提取唯一标识符,请使用以下内容:
A-ANNO-LYR|1|{OFFICE_ID}
完成以下步骤以配置 CAD 注记:
配置设施点属性
“设施点属性”工作表采用有关要导入的一个或多个设施点的元数据,例如每个设施点的名称和高度。 在导入过程中,此元数据将应用于室内数据集中的要素和属性。
*_ID 列可用于为导入到室内数据集中的每个要素生成唯一的标识符字符串。 每个要素的唯一标识符均包含一个或多个关联要素的 ID,以便可以将要素链接到关联位置。 例如,级别 ID 包括该级别处的设施点的设施点 ID。
注:
运行将楼层平面图导入地理数据库工具时,可以选择用于分隔唯一标识符字符串中的键值的分隔符。
例如,考虑 ABCXYZ 大学设有主校区和分支校区的情况。 该大学的设施点以著名的科学家命名。 在 CAD 数据中,某些房间号包含连字符,因此您决定使用句点 (.) 作为分隔符。 此方案的 *_ID 值如下所示:
列名 | 示例值 |
---|---|
SITE_ID | ABCXYZ.MAIN ABCXYZ.BRANCH |
FACILITY_ID | ABCXYZ.MAIN.GALILEO ABCXYZ.MAIN.CURIE ABCXYZ.BRANCH.FEYNMAN |
LEVEL_ID | ABCXYZ.MAIN.CURIE.1 ABCXYZ.MAIN.CURIE.2 ABCXYZ.MAIN.CURIE.3 |
注:
为了支持楼层感知型地图和场景,必须以正确的顺序将所有关联要素的标识符添加为 *_ID 列中的值的前缀,并且这些值由您选择的唯一 ID 分隔符分隔。
填充设施点属性工作表,如下所示:
注:
此工作表上的 FACILITY_NUMBER、DESCRIPTION 和其他列仅适用于 Indoors 地理数据库的用户(使用创建 Indoors 数据库工具创建)。 如果要使用 Indoors 地理数据库,则可以选择填充这些列,并且将楼层平面图导入 Indoors 地理数据库工具将支持这些列。
- 在 SITE_ID 列中,列出每个站点的唯一标识符字符串。
如果需要,请包含其他任何信息(例如组织或国家/地区),方法为将可用的唯一 ID 分隔符字符串之一添加为其前缀。
- 或者,在 SITE_NAME 列中,列出每个站点的常用名称。
- 根据需要执行复制和粘贴操作,以为每个站点创建附加行(为该站点的每个设施点创建一行)。
- 复制 SITE_ID 列中的值,然后将其粘贴到 FACILITY_ID 列中。
- 在 FACILITY_ID 列中,为每个设施点附加分隔符和唯一标识符字符串。
注:
确保在所有 *_ID 列上使用相同的分隔符。
- 在 NAME 列中,列出用作地图标注的常用设施点名称。
此列中的值不得超过 100 个字符。
- 或者,在 NAME_LONG 列中,列出完整的设施点名称。
此列中的值最多可包含 255 个字符。
- 如果要使用 Indoors 地理数据库,则在 ELEVATION_RELATIVE 列中列出设施点底部相对于平坦地形表面的高程。
在大多数情况下,设施点底部的相对高程为 0。
注:
如果要使用室内数据集,则可跳过此字段。
- 在 HEIGHT_RELATIVE 列中,列出每个设施点相对于该设施点处的地形表面的高度。
注:
精确的高度和 z 值对于楼层感知型地图中的 3D 可视化以及某些功能(例如楼层之间的路由)非常重要。
- 在 MERGE_LEVELS 列中,输入 Y 或 N 以配置将楼层平面图导入 Indoors 地理数据库工具应如何生成该设施点的面要素:
- Y - 设施点的面要素将通过合并设施点级别面来生成。
- N - 设施点的面要素将从在 CAD 图层转 FC 映射工作表的 FACILITIES 或 FACILITY_LINES 列中列出的一个或多个 CAD 图层生成。
- 保存文件。
配置级别属性
“级别属性”工作表存储要导入的楼层的元数据和配置选项。
填充级别属性工作表,如下所示:
注:
此工作表上的 DESCRIPTION、ACCESS_TYPE 和其他列仅适用于 Indoors 地理数据库的用户(使用创建 Indoors 数据库工具创建)。 如果要使用 Indoors 地理数据库,则可以选择填充这些列,并且将楼层平面图导入 Indoors 地理数据库工具将支持这些列。
- 从设施点属性工作表的 FACILITY_ID 列中复制值,然后将其粘贴到级别属性工作表的 FACILITY_ID 列中。
- 根据需要执行复制和粘贴操作,以为每个设施点创建附加行。 对于该设施点中的每个级别,应存在一行。
- 复制 FACILITY_ID 列中的值,然后将其粘贴到 LEVEL_ID 列中。
- 在 LEVEL_ID 列中,为每个级别附加分隔符和唯一标识符字符串。 通常,这是级别编号。
注:
确保在所有 *_ID 列上使用相同的分隔符。
- 在 NAME 列中,列出常用楼层名称。
工具会使用这些值来填充单元和细节要素类的 LEVEL_NAME 属性。
- 在 NAME_SHORT 列中,列出楼层简称。
此列中的值不得超过 4 个字符。 在 ArcGIS Pro 或 ArcGIS Indoors 移动应用程序或 Web 应用程序中使用楼层感知型地图和场景时,这些值将在楼层过滤器中使用。
- 在 LEVEL_NUMBER 列中,列出表示每个楼层的楼层编号的整数,例如您在设施点中的电梯内看到的整数。
提示:
一些设施点可能没有特定的楼层编号。 例如,许多人会将数字 13 视为倒霉的数字,因此较高的建筑物可能没有使用该编号的楼层。
- 在 VERTICAL_ORDER 列中,列出表示每个级别相对于同一设施点中其他级别的垂直顺序的序数整数。
针对每个设施点的一楼使用零 (0),对于高于一楼的级别使用正连续整数,对于低于一楼的级别使用负连续整数。
- 在 ELEVATION_RELATIVE 列中,列出每个级别底部相对于地面的高程。
在大多数情况下,设施点一楼的相对高程为 0 米,一楼之上的楼层具有正相对高程值,而一楼之下的楼层具有负值。
注:
如果要使用室内数据集,则可跳过此字段。
- 在 HEIGHT_RELATIVE 列中,列出每个级别顶部相对于该级别底部的高度。
提示:
验证大多数设施点的 HEIGHT_RELATIVE 值的一种方法是,将设施点一楼之上的 HEIGHT_RELATIVE 列中的值相加,然后将总数与设施点 HEIGHT_RELATIVE 值进行比较。
- 在 CLOSE_DOORS 列中,输入 Y 或 N,以配置在通过 CAD 折线生成单元要素时,将楼层平面图导入 Indoors 地理数据库工具是否应将级别的门视为关闭:
- Y - 生成单元要素时,应将门视为关闭。
- N - 不应将门视为关闭。
注:
仅当同时填充 CAD 图层转 FC 映射工作表的 UNIT_LINES 和 OPENINGS 列时,CLOSE_DOORS 列才有效。
- 在 PROCESS 列中,输入 Y 或 N,以配置应使用将楼层平面图导入 Indoors 地理数据库工具处理哪些级别。 您可以使用此列来处理各个级别以进行测试或更新。
- Y - 工具将处理级别。
- N - 不会处理级别。
- 保存文件。
配置源文件
“源文件”工作表可存储 CAD 工程图的文件路径,并将每个工程图关联到“级别属性”表上定义的级别。 如果单个级别的 CAD 数据存在于彼此叠加的多个工程图中,则可以定义每个工程图文件的源路径并将其关联到单个级别。
注:
ArcGIS Pro 2.7 已添加源文件工作表,以支持从每个级别的多个 CAD 工程图中导入数据。 在 ArcGIS Pro 2.7 之前的版本中,配置文件不包括源文件工作表,而 CAD 文件源路径直接存储在级别属性工作表中。 ArcGIS Pro 2.8 支持两个配置文件。
填充源文件工作表,如下所示:
- 从级别属性工作表的 LEVEL_ID 列中复制值,然后将其粘贴到源文件工作表的 LEVEL_ID 列中。
- 根据需要执行复制和粘贴操作,以为每个级别创建附加行。
对于每个包含该级别数据的源 CAD 文件,应存在一行。
注:
如果某个级别的所有 CAD 图层均位于单个 CAD 工程图中,则无需复制并粘贴该级别的任何附加行。
- 在 SOURCE_PATH 列中,列出每个源 CAD 文件的完整网络或本地文件路径。
- 保存文件。
完成配置工作表后,您可以向室内数据集导入 CAD 楼层平面图。