【ArcGIS超级工具】基于ArcPy的矢量数据批量自动化入库工具

最近,有很多做规划的朋友私信我,想让我帮忙开发一款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工具来啦!

相关推荐
乘云数字DATABUFF2 天前
5分钟部署开源APM Databuff:OpenTelemetry全链路追踪入门实战
运维·后端
荣--4 天前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森4 天前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜5 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB6 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode7 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220708 天前
如何搭建本地yum源(上)
运维
大树8811 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠11 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质11 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务