最近,有很多做规划的朋友私信我,想让我帮忙开发一款ArcGIS自动化脚本工具,实现点、线、面的自动化入库操作,帮他们在平时的内业数据处理工作中减少机械式重复性的工作,提高工作效率。为此,我详细了解了下目前绝大多数内业处理工作人员的矢量数据入库业务流程:

首先,收集汇总上报的矢量数据(点、线、面),然后根据已建立的规范化标准数据库(空数据库,只有标准化字段),将这些收集上来的矢量数据的几何图形和属性信息导入到标准数据库中,当然这个标准数据库也是一个矢量图层。当然,在入库的时候,入库的矢量数据与标准数据库的几何类型是相同的,比如点层只能导入到点层数据库中,面层数据导入到对应的面层数据库中。比如下图是一个空的面层标准数据库,名为JTTDSYQ:

而我们现在有两个收集上来的矢量面层数据ZD1和ZD2,见下图

ZD1的内部属性表结构见下图:

ZD2的内部属性表结构见下图:

而我们现在要做的工作是把ZD1和ZD2图层中的图斑导入到JTTDSYQ中,此外还要将对应字段的属性信息也导入到其中。但是这里要注意,通过观察,发现需要入库的两个图层的属性表结构跟标准数据库JTTDSYQ的属性表结构是不完全一致的,这意味着它们中的有些字段无法进行正确的映射,通过观察,发现虽然ZD1和ZD2两者的属性表字段完全一致,但是它们与JTTDSYQ图层中的字段只有“BSM”、“YSDM”和“QXDM”是一一对应的。

如果用常规的入库操作,我们的操作步骤是先让图层JTTDSYQ处于编辑状态,然后分别复制ZD1和ZD2的属性表,再将选择的要素连同及属性信息粘贴到JTTDSYQ中,这样就完成了基本的入库操作。具体操作步骤见下图:

步骤1:JTTDSYQ处于编辑状态下

步骤2:打开ZD1的属性表,并选择其中所有的要素

步骤3:连续点击工具栏上的“复制”按钮2次

步骤4:点击工具栏上的“粘贴”,会弹出选择目标图层的弹窗,然后选择粘贴的目标图层

步骤5:点击OK后,即可完成对ZD1选择的要素粘贴到目标图层JTTDSYQ的入库操作

细心的你可能会发现,虽然我们已经将ZD1的几何图形和字段内容都复制到了标准数据库图层中(所谓的入库操作),但是ZD1中只有“BSM”、“YSDM”和“QXDM”三个字段的内容复制入库,其他字段对应的内容均为0或空值~很明显,之所以会出现这种情况,是因为ZD1中仅有这三个字段与标准数据库中的其中三个字段名称完全一致,根据ArcGIS内部的逻辑,只有字段名称完全相同的内容才能被复制。

当然,假设ZD1和ZD2中的所有字段名称都与标准数据库图层中的字段名称一致的话,所有字段内容当然会完全被复制进去,不会出现入库后某些字段内容为空值的情况。然而,由于上报的矢量数据没有统一标准,内业人员在对矢量数据进行处理时很多字段没有按照标准数据库中的字段来进行规范化命名。这就可能导致大部分字段匹配不上,仅能完成少量字段的入库操作,对于其他未能匹配的字段,后续只能通过挂接属性表或Excel表的方式来完成匹配。如果需要入库的图层非常多,并且每个图层中都有很多字段需要二次挂接来匹配入库,我们的工作效率就会变的非常低,内业人员大部分时间都在做一些机械化重复性的工作。

为了极大提高入库工作的效率,减少重复性机械化的操作,ArcGIS超级工具-矢量数据批量自动化入库工具经过不断优化和改进,受到很多内业处理人员的欢迎,极大帮他们提高了工作效率,可谓好评如潮~关于这款工具的工作原理和使用效果,大家可以仔细看下面的视频,工具可以适用于ArcGIS10.0-10.8之间的任意版本,工具的获取在视频中有详细的介绍~

【GIS人必用】地表最强矢量数据快速自动化批量入库GIS工具来啦!