分享

使用 ArcGIS 在矢量属性表中添加附件的两种方式以及批量添加

 GIS荟 2022-09-05 发布于四川

前言:ArcMap 在属性表中添加附件的两种方式,建议收藏,随时取用!

向地理数据库要素类或表的记录中添加文件附件。附件以单独附件表的形式存储在地理数据库中,该表与目标数据集保持连接。

附件能够灵活管理与要素相关的附加信息。您可以向单个要素添加文件作为附件,它们可以是图像、PDF、文本文档或任意其他文件类型。例如,如果用某个要素表示建筑物,则可以使用附件来添加多张从不同角度拍摄的建筑物照片,以及包含建筑物契约和税务信息的  PDF 文件。

件与超链接类似,但允许多个文件与一个要素相关联、将关联的文件存储在地理数据库中并以更多方式访问这些文件。可通过“识别”窗口、“属性”窗口(编辑时)、属性表窗口以及  HTML 弹出窗口来查看这些附件。

上面是官方的帮助,ArcGIS 的官方文档写的很详细,但是看着费劲儿。

我简单归纳一下吧,也阐明这篇文章分享的主题:

  • 添加图片、pdf 等文件到地理数据库中的要素类;

  • 每一个要素(图斑)都可以添加一个或者多个附件(图片、pdf 等文件);

  • 可以在 ArcMap 中直接浏览添加的附件,而不仅仅是一个地址;

另外提供两种添加附件的方式,一种是直接把图片附件保存进地理数据库中,另一种只保存附件的路径,但是可以批量操作。

参考

为要素添加附件(一).https://mp.weixin.qq.com/s/1416hcO5VUDQNAYZtAGRSA

为要素添加附件(二).https://mp.weixin.qq.com/s/v68zdnnidhusHuYNkatdIQ

添加附件.https://desktop./zh-cn/arcmap/10.4/tools/data-management-toolbox/add-attachments.htm

使用附件地理处理工具.https://desktop./zh-cn/arcmap/10.4/tools/data-management-toolbox/working-with-the-attachments-geoprocessing-tools.htm

arcgis定义栅格字段和加载栅格.https://www.bilibili.com/video/BV11A411E7R1/

1.使用场景

使用场景简直不要太多,GIS 研究的关键就是现实地物,而我们表达自然现实地物的方式不仅仅是坐标属性、字段属性,可能我们还需要现实地物的照片,甚至是各种证书文件,比如实施方案和批复。

所以我们可不可以在 ArcMap 中把这些附件与矢量数据关联起来呢?

答案当然是可以的,还能批量操作。

2.第一种添加附件的方式

第一添加方式仅支持图片形式的附件,并且它会把图片附件保存进地理数据库中。

ArcMap 使用版本:10.6。

使用方法(确保矢量数据保存在地理数据库中):

  1. 新建字段用于储存附件,字段类型选择栅格,点击确定;

  1. 在编辑器中点击开始编辑后,选中需要添加附件的要素(图斑),在新建的字段中有一个右箭头符号,点击可以加载栅格数据集;

  1. 点击加载,可以选择图片,支持 tif、png、jpg 格式,其他格式未测试;

  2. 添加完成后,会自动将添加的图片保存进地理数据库中;

这种方式添加附件有这样几个缺点:

  • 只能添加图片附件;

  • 添加的图片附件会被保存进地理数据库中(或许是优点);

  • 保存进地理数据库中的图片无法在目录中检索到,被隐藏了,使用 ArcPy 提供的 da.Walk 遍历数据库也找不到,非常奇怪;

  • 不能批量(或许是我没有找到方法,大神教我);

所以我更推荐下面提到的第二种方式。

Note:字段类型中有 Blob 类型,该类型可以储存大容量的数据,或许可以保存 pdf 文档等附件;但我还是推荐使用下面的第二种方式。

3.第二种添加附件的方式

第二种就是比较正统的方法,使用现成的工具就可以完成,并且可以批量。

ArcMap 使用版本:10.6。

非常简单,由于有现成的工具,所以 arcpy 也能调用相关的封装函数方法,可以很简单运用到脚本工作流中,实现自动处理。

当然该工具自带批量处理的能力,下面我们就来看看如何操作的(确保矢量数据保存在地理数据库中):

3.1第一步 启动附件

使用附件工具集的第一个工具:启用附件

输入我们需要挂载附件的要素类文件就行。

3.2第二步 创建匹配表

创建匹配表之前我们需要知道匹配表是做什么的

匹配表的作用就是记录文件夹中的附件与要素的连接关系。通过附件的名称与要素类的字段值匹配来确定连接关系。

所以我们需要

数据:一份矢量数据(属性表);

数据:一个文件夹,里面保存着附件文件;

现在我们需要制作一个表,这个表中存储着矢量数据中每个图斑对应的附件文件,这就是我们的数据,只有这三份数据齐全,才能合而为一。

下面举例说明

3.2.1附件处理

比如现在有一个文件夹,里面有如下附件,我们将其基本名称(不含后缀)改为1、2、3、4、5:

3.2.2字段处理

在要素类(要素类文件名称:省)中新建一个字段;

然后给新建字段赋值,将需要与附件连接的要素的字段值改为附件的基本名称,比如我们在新建的 join 字段中,填入了1、2、3、4、5,分别与附件名称对应。

3.2.3创建匹配表

完成了前两步的处理,下面就可以生成匹配表了。

在附件工具集中点击打开生成附件匹配表工具

3.3第三步 添加附件

东西都齐全了,就需要做最后的连接,在在附件工具集中点击打开添加附件工具。

输入数据集一项填矢量数据;

输入连接字段一项填入自己新建的字段,我们这里新建的字段叫 join;

匹配表一项填入上一步创建的匹配表;

然后匹配连接字段匹配路径字段两项默认填 MatchID 和 Filename;

工作文件夹需要填入附件文件夹,必须要填,不然会找不到附件。

点击确认。

3.4第四步 查看附件

在完成附件的添加后,如何查看附件呢?

我们可以使用识别工具,选中 Join 字段值为1的要素,可以看到附件选项,点击即可打开浏览。

最后

灵活使用附件工具集中自带的工具可以实现批量的附件添加,同时工具都提供了 Python API 的接口,也就是 ArcPy,想要实现更自由的批量添加附件也是可以实现的。这种附件的添加方式不会复制原始附件到地理数据库中。

如果希望把图片附件保存到地理数据库中推荐第一种方法,但是目前没有找到批量的快捷方法。

荟GIS精粹,关注公众号:GIS荟
纯粹分享,只因热爱,你的转发是对我最大的鼓励!
点个在看也好

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多