从 PDF 中提取楼层平面图要素
适用于 ArcGIS Indoors Pro 或 ArcGIS Indoors Maps 扩展模块。
您可以从楼层平面图的 PDF 创建折线和文本点要素,并使用 Indoors 工具箱中的工具在 Indoors 工作空间中生成要素。 这对于在 CAD 或 BIM 数据不可用的空间中创建室内 GIS 很有帮助。 PDF 可以包含矢量数据、栅格数据,或者两者兼有。 带有矢量数据的 PDF,如从 CAD 导出的 PDF,以可扩展图形存储楼层平面图信息。 带有栅格数据的 PDF 以图像形式存储楼层平面图信息。
将 PDF 数据导入 Indoors 工作空间涉及以下高级步骤:
或者,地理配准 PDF。
使用从 PDF 中提取楼层平面图要素工具从 PDF 中提取要素。
检查输出要素,并根据需要对其进行编辑,以确保其能够以可接受的细节层次和精度反映建筑物平面图。
使用将要素导入室内数据集工具,根据提取的要素在 Indoors 工作空间中创建 Unit、Level、Facility 以及可选的 Detail 要素。
检查输出要素并根据需要进行编辑。
以下部分会对每个步骤进行描述。
地理配准 PDF 数据
通过在 ArcGIS Pro 中将单个 PDF 页面添加至地图,并使用控制点将其移动、缩放和旋转到正确的位置,可以在生成要素之前对 PDF 进行地理配准。 当对 PDF 进行地理配准时,必须单独对每个页面进行地理配准。
将 PDF 添加到地图时,可以在 PDF 选项对话框中选择页面、分辨率(DPI)和色彩模式。
注:
在进行地理配准前,请确保 PDF 已添加到地图,分辨率 (DPI) 设置的值为默认值。 该设置会影响 PDF 在地图上的显示方式,使用从 PDF 中提取楼层平面图要素工具时,使用调整后的分辨率(DPI)进行地理配准可能导致结果位置错误。

如果在运行从 PDF 中提取楼层平面图要素工具之前没有对 PDF 进行地理配准,则可以在运行将要素导入室内数据集工具之前使用变换工具移动、缩放和旋转折线要素。
注:
建议采用投影坐标系进行地理配准。 如果采用地理坐标系进行地理配准,则要素可能无法成功变换,由此导致数据位置错误。
从 PDF 数据中提取折线要素
从 PDF 中提取楼层平面图要素工具将从 PDF 中提取折线要素,但不包括其标识为文本的元素。 可以使用编辑工具对此工具的输出折线进行优化,然后借助将要素导入室内数据集工具,在 Indoors 工作空间中使用这些折线创建要素,以供在楼层感知型地图和场景中使用。
当使用从 PDF 中提取楼层平面图要素工具时,请记住以下几点:
如果输入 PDF 有多页,请使用页码参数选择要提取要素的页面。 如果未设置页面,工具会提取第 1 页的要素。
使用范围参数提取特定设施点或设施点内区域的线,并减少由辅助 PDF 信息(例如图例或建筑信息表)引起的伪影。
如果 PDF 线条基于矢量,工具会直接提取矢量信息。 这可能导致输出包含大量要素。 工具还会在输出折线中写入
Stroke Color、Fill Color和PDF Layer字段,并将输入 PDF 中提供的矢量图层的信息填充到这些折线中。如果 PDF 线条基于栅格,工具会根据线条像素宽度提取折线。 对于宽度小于 10 像素的线,使用像素的中心线。 对于宽度大于 10 像素的线,则使用像素的轮廓。
如果 PDF 同时包含矢量和栅格信息,则只提取矢量线条。
此工具在输出折线图层中创建以下字段:
| 属性 | 描述 |
|---|---|
| PDF_NAME | 输入 .pdf 的文件名。 |
| PDF_PAGE | 页码参数值。 |
| USE_TYPE | 工具可识别门要素并填充其 USE_TYPE 字段。 使用将要素导入室内数据集工具创建单元要素时可以使用这些要素关闭门。 由将要素导入室内数据集工具创建的细节要素将继承源要素的 USE_TYPE 字段值。 |
| STROKE_COLOR、STROKE_WIDTH 和 PDF_LAYER | 这些字段会被创建并填充来自矢量图层的信息(如果输入 PDF 中提供)。 如果输入 PDF 基于栅格,则不会填充这些字段。 |
从 PDF 数据中提取文本点要素
从 PDF 中提取楼层平面图要素工具也支持从 PDF 中提取文本。 已提取文本将写入点要素,并在其属性表中包含该文本。 点会放置在检测到的文本的中心。 该工具的输出点可用于通过将要素导入室内数据集工具为 Indoors 工作空间中的单位数据填充属性,从而实现对单位的高级符号化和标注,适用于楼层感知型地图和场景。
对于以文本对象形式存储在基于矢量的 PDF 中的文本,文本可以直接从 PDF 中提取。 对于未作为文本对象存储在 PDF 中的文本,文本通过光学字符识别 (OCR) 提取,以检测要提取的文本。
当使用从 PDF 中提取楼层平面图要素工具提取文本时,请记住以下几点:
文本提取和字符识别取决于 PDF 的质量和内容。 该工具可能难以从模糊、带标记或低分辨率的 PDF 中提取文本。
如果输入 PDF 中提供,则附加字段
Font Name、Font Size和PDF Layer等会被创建并填充信息。对于使用 OCR 提取的文本,使用
Confidence Score字段评估 OCR 技术文本检测和识别置信度。
该工具在可选输出点创建文本属性字段:
| 属性 | 描述 |
|---|---|
| PDF_TEXT | 从输入 .pdf 中提取的文本。 |
| FONT_NAME | PDF 数据中记录的字体名称。 当工具使用 OCR 提取文本时,该字段为空。 |
| FONT_SIZE | PDF 数据中记录的字体大小。 当工具使用 OCR 提取文本时,该字段为空。 |
| FONT_WEIGHT | PDF 数据中记录的字体粗细。 当工具使用 OCR 提取文本时,该字段为空。 |
| IS_ITALIC | PDF 元数据中的值 1 表示斜体字体样式。 当工具使用 OCR 提取文本时,该字段为空。 |
| STROKE_COLOR | 字体的笔划(线)颜色,记录在 PDF 数据中。 该值为十六进制,格式为 #RRGGBBAA。 当工具使用 OCR 提取文本时,该字段为空。 |
| BBOX_WIDTH 和 BBOX_HEIGHT | 处理过程中,工具会为每条检测到的文本确定一个边界框。 这些尺寸有助于区分栅格文本的大小。 这些值是无单位的相对测量,不应在不同的 PDF 或页面之间进行比较。 |
| SOURCE_TYPE | 工具提取 PDF_TEXT 字符串的来源。 可能的取值如下: PDF_TEXT - 工具在 PDF 中找到并提取以文本形式存储的字符串值。 PDF_COMMENT - 工具在 PDF 中找到并提取以注记形式存储的字符串值。 OCR_TEXT - 工具使用 OCR 从栅格 PDF 中提取可识别的字符。 OCR 仅用于上述其他来源无法提供的文本。 |
| PDF_LAYER | 对于从使用图层组织元素的系统中导出的 PDF,如 AutoCAD,该字段会填充检测文本的绘制图层的名称。 |
| CONFIDENCE_SCORE | 对于使用 OCR 提取的文本,该字段包含 0 到 1 的值,表示工具识别文本的置信度。 |
检查输出
提取要素后,可根据需要进行修改,然后再用它们来创建 Indoors 工作空间中的要素。 例如,可修改或移除工具提取的要素,如文本框、表和符号,这些内容无需导入到室内 GIS。
清理折现或修改折点以填补墙壁之间的缝隙(例如,PDF 中文本与墙壁相交的位置)、选择和删除不需要的要素,以及移动或重塑线条以提高准确性和简化性。 文本点的清理还会涉及纠正错误识别的文本值。 可以使用创建要素和修改要素窗格中的工具检查和修改要素。
此外,还需要检查在 USE_TYPE 字段中检测到并标记为门的要素,并根据需要编辑其属性。 在 Indoors 工作空间中,可以通过关闭门来创建单元边界,并且在此步骤中确保属性正确可避免后续需要进行更多清理工作。
可以使用输出数据属性字段更轻松地可视化和理解您的楼层平面图数据。 例如,如果输入矢量 PDF 使用不同的线条粗细来表示不同的楼层平面图元素,则可以根据 Stroke Width 字段符号化折线,以便更容易区分数据的各个部分。 对于提取的文本点要素,可以使用 PDF_TEXT 字段标注点,以便更轻松地查看文本。
这些字段也可用于协助要素清理。 如果输入矢量 PDF 包含图层信息,PDF Layer 字段可用于快速选择并删除不需要的要素(如果这些特征共享一个共同图层)。
注:
从 PDF 中提取楼层平面图要素工具会创建 z 值为 0 的要素。 使用编辑工具创建或修改要素时,请确保新要素的默认 z 值为 0。 运行将要素导入室内数据集工具时,可以使用标高参数为建筑物要素设置适当的 z 值。
将折线导入 Indoors 工作空间
从 PDF 数据生成折线并执行所需的任意清理工作后,您可以使用将要素导入室内数据集工具导入折线,从而根据折线要素填充并创建 Indoors 工作空间的 Units、Levels、Facilities 和 Details 要素。 您稍后可以使用 ArcGIS Pro 中的编辑工具、Floor Plan Editor 或预配置地图模板,创建新要素或修改现有要素。
该工具支持一次导入一个楼层,并需要定义信息(例如设施点名称、楼层名称、垂直顺序和标高)以填充要素属性和启用室内 GIS 工作流的功能。
可选,工具还可以将文本点映射到单元属性。 在单元属性的点要素参数中指定要素时,可以在文本点映射参数中定义一行或多行。 对于每一行,可指定源文本字段、目标单元字段、指定要映射的文本点要素的表达式,以及当表达式在某单元中匹配多个文本点时工具应遵循的规则。 例如,在从 PDF 中提取楼层平面图要素工具输出中,每个单元中可能有一个表示房间名称的点,还有一个代表房间的使用类型的点。
通过工具中的高级选项,您可以进一步控制创建面时的行为。 例如,创建单元时最小单元宽度和最小单元面积参数可用于排除较小或较窄的空间(例如墙内的空间)。
由将要素导入室内数据集工具创建的折线详情将继承源要素的 USE_TYPE 字段值。 正确关闭并且已设置属性的门对于生成室内可路由网络至关重要,并且对于可视化也非常有用。

如果输入 PDF 包含矢量信息,其他字段在使用将要素导入室内数据集工具导入折线时可以提供更好的控制。 例如,从 CAD 文件创建的 PDF可能包含I-WALL、A-COLS 和 A-FURN 的记录。 如果不想把立柱和家具信息写入 Indoors 工作空间,可以设置定义查询,只选择输入折线中 PDF 图层字段中具有 I-WALL 的要素。 这样,将要素导入室内数据集工具仅基于选择在 Indoors 工作空间中创建要素。
在 Indoors 工作空间中填充属性
将要素导入 Indoors 工作空间后,您可以在室内数据集中填充附加属性。
将要素导入到室内数据集工具可填充在 Facilities、Levels、Units 和 Details 图层的要素之间建立层级关系所需的属性,以及为地图中的楼层感知型功能提供支持是所需的属性。 您可以填充用于符号系统、标注或其他室内 GIS 功能的附加属性。
以下是属性的示例用例列表:
地图符号系统 - Units 图层中的
USE_TYPE字段用于支持办公室、走廊和其他可穿行空间的唯一符号系统,目的是使其在室内地图上可以轻松识别。标注和搜索 - Units 图层中的
NAME字段用于支持在 Indoors Web 和移动应用程序中显示房间名称和搜索功能。室内导航 - 在为室内可路由网络生成路径和楼层过渡时,Units 和 Details 图层中的
USE_TYPE字段用于支持可穿行空间和障碍的识别。