可用于具有 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 文件中的 CAD 图层映射到室内要素类中的相应要素。
注:
在 ArcGIS Pro 2.8 及更低版本中,该工作表被命名为“CAD 图层到 FC 映射”。
将楼层平面图导入 Indoors 地理数据库工具可从 CAD 面或 CAD 折线图层生成面要素。 例如,如果您的 CAD 工程图包含面图层定义单元(办公室、走廊和其他可导航空间),则使用 CAD 面图层的名称填充 UNITS 列:
或者,如果您的 CAD 工程图包含多个共同定义单元边界边的折线图层,则使用 CAD 折线图层的名称填充 UNIT_LINES 列:
填充图层转要素类工作表,如下所示:
注:
与区域和部分相关的列仅适用于 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。
- 保存文件。
将 CAD 注记映射到属性字段
您的 CAD 数据可能还包含唯一标识符、常用名称和其他重要信息的注记。 将楼层平面图导入 Indoors 地理数据库工具可根据“注记至字段”工作表中的 CAD 锚点和配置将此信息作为属性数据添加到导入的要素中。 该工具支持将 CAD 注记映射到自定义属性、解析分隔的注记值以及提取块注记。 如果符合 Indoors 模型,则可以将 CAD 注记映射到以下要素类:Units、Levels、Facilities、Sections 和 Zones。
注:
在 ArcGIS Pro 2.9 中添加了“注记至字段”工作表,以支持将 CAD 注记导入自定义属性字段。 之前版本的配置文件不包含此表,并且 CAD 注记图层已直接存储在“CAD 图层到 FC 映射”工作表中。 ArcGIS Pro 2.9 支持两个版本的配置文件。
“注记至字段”工作表包含 3 列:
- SOURCE_ANNOTATION- 指定包含注记的 CAD 图层
- TARGET_FEATURE_CLASS- 指定要在其中存储注记的要素类
- TARGET_FIELD_NAME- 指定要在其中存储注记的目标要素类中的属性字段
工作表中的多行已部分准备好目标 Indoors 要素类和属性字段。 例如,第二行的目标是 Units 要素类中的 UNIT_ID 属性字段。 可以通过填充 SOURCE_ANNOTATION 列来完成具有 CAD 注记图层的行。 如果您不希望包含属性字段的注记,则可以将此列留空或删除该行。 如果您希望包含附加 CAD 注记,则可以在“注记至字段”工作表中填写附加行。
以下是已完成的“注记至字段”工作表的示例:
在此示例中,对“注记至字段”工作表进行了以下更新:
- 由于没有合适的 CAD 注记,第二行和第三行的 SOURCE_ANNOTATION 列留空。 将楼层平面图导入 Indoors 地理数据库工具将自动为 Units 要素生成唯一 ID 和名称。
- 第四行中的 SOURCE_ANNOTATION 列设置为名为 A-AREA-TYPE 的 CAD 图层,其中包含描述房间使用情况的 CAD 注记。
- 未使用与区域和部分相关的行并已将其删除。
- 添加了一行,以将来自名为 A-ADMIN-NAME 的 CAD 图层的注记映射到 Levels 要素类中的自定义 ADMIN_NAME 属性字段。 在运行将楼层平面图导入 Indoors 数据库工具之前,自定义 ADMIN_NAME 字段必须存在于 Levels 要素类中。
源注记语法
SOURCE_ANNOTATION 列支持特殊语法,用于解析和提取分隔的 CAD 注记或块注记的部分。 如果 CAD 注记包含由字符或换行符分隔的长字符串,则可以在 SOURCE_ANNOTATION 列中使用以下语法提取特定值:
<图层名称>|<位置>|<分隔符>
示例 1 - 名为 A-ANNO-LYR 的 CAD 注记图层包含由句点分隔的字符串,例如:
CAMPUS.A.A-210
要返回字符串的第三个部分“A-210”,应在 SOURCE_ANNOTATION 列中使用以下内容:
A-ANNO-LYR|3|。
示例 2 - CAD 注记图层包含带换行符的由两个部分组成的字符串,例如:
CAMPUS
H360
要返回字符串的第二个部分(“H360”),请使用 \P 作为分隔符,如下所示:
A-ANNO-LYR|2|\P
如果 CAD 数据包含块注记,则可以在 SOURCE_ANNOTATION 列中使用以下语法提取特定值:
<图层名称>|1|{<FIELD_NAME>}
在此语法中,<FIELD_NAME> 表示您在注记中引用的自定义字段。 例如,要从名为 A-ANNO-LYR 的 CAD 图层中提取唯一标识符,该图层包含具有名为 OFFICE_ID 的自定义字段的块注记,请使用以下命令:
A-ANNO-LYR|1|{OFFICE_ID}
填充“注记至字段”工作表
填充“注记至字段”工作表,如下所示:
- 在第二行的 SOURCE_ANNOTATION 列中键入包含唯一房间标识符的 CAD 图层的名称,例如 L1w205 或 A-101。 如果没有合适的 CAD 注记,则可以将此列留空,并且将平面图导入 Indoors 数据库工具将自动生成唯一 UNIT_ID 值。
对于每个单元要素,必须提供包含唯一值的 CAD 注记图层,以支持更新楼层平面图并保留用于空间规划和工作空间预留的字段。
注:
将楼层平面图导入 Indoors 地理数据库工具将使用 CAD 注记的锚点来确定相关联的单元要素。 在为注记映射指定 CAD 图层之前,请查看 CAD 注记并确保锚点位于其关联空间内。
- 在第 3 行的 SOURCE_ANNOTATION 列中,键入包含公共房间名称的 CAD 图层的名称,例如 Davies Hall 或 Server Room #4。 如果没有合适的 CAD 注记,则可以将此列留空,该工具将自动生成 UNIT_NAME 值。
- 在第 4 行的 SOURCE_ANNOTATION 列中,键入包含描述性用法字符串(例如 Office、Stairway 或 Conference Room)的 CAD 注记图层的名称。 如果没有合适的 CAD 注记,则可以将此列留空,该工具将为 Units 的 USE_TYPE 属性分配空值。
对于 Units,USE_TYPE 属性不是必需的,但是包含该属性可以在室内地图和场景中按使用类型对单元进行符号。
- 或者,可以填写第 5 行到第 8 行的 SOURCE_ANNOTATION 列,以包含 Zones 和 Sections 要素类(如果它们是室内 GIS 的一部分)的 CAD 注记。
如果没有合适的 CAD 注记,则可以将此列留空,该工具将为 Zones 和 Sections 要素生成 ID 和名称值。 为每个 Section 和 Zone 要素提供包含唯一值的 CAD 注记可确保正确更新您在 ArcGIS Pro 中创建的 ID 字段值和自定义字段。
注:
Zones 和 Sections 要素类由创建室内数据库工具创建。 如果您的室内 GIS 不包括 Zones 和 Sections 要素类,则可以删除这些行或将其留空。
- 可以根据需要创建并填充其他行,以将其他 CAD 注记映射到 Indoors 属性:
- 在 SOURCE_ANNOTATION 列中,键入包含注记的 CAD 图层的名称。
- 在 TARGET_FEATURE_CLASS 列中,输入要在其中存储注记的 Indoors 要素类的名称。
注:
如果符合 Indoors 模型,则可以将 CAD 注记映射到以下要素类:Units、Levels、Facilities、Sections 和 Zones。
- 在 TARGET_FIELD_NAME 列中,键入要在其中存储注记的属性字段的名称。
属性字段必须已存在于目标要素类中。 支持以下字段数据类型:Text、Short、Long、Float 和 Double。
注:
如果根据配置文件中其他位置的信息填充目标字段,则将忽略该字段的“注记至字段”映射。
- 保存文件。
配置设施点属性
“设施点属性”工作表可存储有关要导入的一个或多个设施点的元数据,例如每个设施点的名称和高度。 在导入过程中,此元数据将应用于室内数据集中的要素和属性。
*_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 - 将根据“图层至要素类”工作表的 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 - 不应将门视为关闭。
注:
仅当同时填充“图层至要素类”工作表的 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.9 支持两个配置文件。
填充源文件工作表,如下所示:
- 从级别属性工作表的 LEVEL_ID 列中复制值,然后将其粘贴到源文件工作表的 LEVEL_ID 列中。
- 根据需要执行复制和粘贴操作,以为每个级别创建附加行。
对于每个包含该级别数据的源 CAD 文件,应存在一行。
注:
如果某个级别的所有 CAD 图层均位于单个 CAD 工程图中,则无需复制并粘贴该级别的任何附加行。
- 在 SOURCE_PATH 列中,列出每个源 CAD 文件的完整网络或本地文件路径。
- 保存文件。
完成配置工作表后,您可以向室内数据集导入 CAD 楼层平面图。