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

news2024/10/7 10:15:27

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1494444.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第一套试卷

1.队列的链式操作 循环链表实现的链式队列中,头指针的变动主要取决于队列的操作。一般来说,在循环链表队列中,头指针front指向队列的头节点,尾指针rear指向队列的尾节点的下一个位置。 当进行入队(插入)操…

基于词袋模型的场景识别(附源代码!!!)

目录 1. 任务要求2. 数据集3. 实现算法4. 实验结果5. 源代码 1. 任务要求 输入:给定测试集图片,预测在15个场景中的类别。任务: 实现Tiny images representation。实现最近邻分类器nearest neighbor classifier。实现SIFT特征词袋表示 输出&…

diffusion model (扩散模型)原理

扩散模型分为正向过程和反向过程。 正向过程为一点点在图片上添加噪声的过程,反向过程为去噪声的过程。 图片的生成就是反向过程,给一张高斯噪声图片,逐步去噪生成图片。 扩散模型和VAE的区别, VAE是一步到位的(通过…

中文版国产Figma简单好上手

在过去的两年里,国内外协同办公室发展迅速。一方面,它是由突如其来的疫情推动的,另一方面,它是科学技术不断进步的必然结果。在市场的推动下,市场上出现了越来越多的协同办公软件,使工作场所的工作更加高效…

Java开发避坑指南,手把手教你写Java项目文档

前言 作为一个有丰富经验的微服务系统架构师,经常有人问我,“应该选择RabbitMQ还是Kafka?” 基于某些原因, 许多开发者会把这两种技术当做等价的来看待。的确,在一些案例场景下选择RabbitMQ还是Kafka没什么差别&…

2.Rust变量

变量的声明 let关键字 在Rust中变量必须要先声明才能使用,let关键字用于声明变量并将一个值绑定到该变量上。如下: fn main() {let var_name:i32 123123;println!("{}",var_name) //println! 是一个宏(macros),可以…

遇见未来的你——陪伴是最长情的告白

目录 一、背景介绍二、思路&方案三、过程1.家庭中彼此的陪伴最长情2.事业中与合伙人与同事与朋友与产品的陪伴最长情3.人生中与计划与落实与啊哈的陪伴最长情4.肉体与灵魂分分合合的体验 四、总结 一、背景介绍 人有时候一转身就是一辈子,所以珍惜转身的每一个…

如何计算搭建光伏电站需要多少成本?

光伏电站,又称太阳能电站,是一种利用太阳能发电的电力系统。随着全球对可再生能源的需求日益增加,光伏电站的建设变得越来越普遍。然而,在投资光伏电站之前,了解其建设成本是非常重要的。本文将介绍如何计算搭建光伏电…

96、C++ 性能优化一览

在对 C++ 版本的 resnet50 经过大约 5 个版本的优化之后,性能也基本达到了预期。至少利用手写的 resnet50 在 CPU 上推理一张图片感觉不到卡顿了。 下面对这几个版本的性能优化做一个总结。 初始版本1 第一版本的 C++ 代码,并没有考虑性能问题,仅仅是想按照手写 resnet50 …

【学习】torch.nn.CrossEntropyLoss交叉熵损失函数

交叉熵损失函数torch.nn.CrossEntropyLoss 交叉熵主要是用来判定实际的输出与期望的输出的接近程度,为什么这么说呢,举个例子: 在做分类的训练的时候,如果一个样本属于第K类,那么这个类别所对应的输出节点的输出值应…

腾讯云服务器99元一年是真的吗?只要61元!

腾讯云服务器99元一年是真的吗?假的,不要99,只要61元!又降价了!腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16…

腾讯云服务器99元一年是真的吗?又降价,现在只要61元

腾讯云服务器99元一年是真的吗?又降价,现在只要61元。腾讯云服务器多少钱一年?61元一年起,2核2G3M配置,腾讯云2核4G5M轻量应用服务器165元一年、756元3年,4核16G12M服务器32元1个月、312元一年,…

【好书推荐-第九期】Sora核心技术相关书籍《扩散模型:从原理到实战》与《GPT 图解:大模型是怎样构建的》:Sora的两大核心技术,都藏在这两本书里!

😎 作者介绍:我是程序员洲洲,一个热爱写作的非著名程序员。CSDN全栈优质领域创作者、华为云博客社区云享专家、阿里云博客社区专家博主、前后端开发、人工智能研究生。公众号:洲与AI。 🎈 本文专栏:本文收录…

底层day1作业

思维导图: 一.总结keil5下载代码和编译代码需要注意的事项 当使用Keil5下载代码和编译代码时,有一些需要注意的事项。以下是总结: 1. 确保正确配置目标 2. 配置编译器选项。 3. 确保正确配置连接器脚本 4. 检查编译错误和警告。 5. …

生成式模型实战—小小案例(python)

实战之前,环境需要已经搭建好。如果环境没有搭建好,可以参考PyTorch2.0 环境搭建详细步骤(Nvidia显卡)-CSDN博客 接下来,我们今天的学习之旅~ Step1. 安装类库 transformers pip install transformers Step2. 代码敬上 from transformer…

使用VS Code运行Java SpringBoot项目

本文并不详细讲 Java 项目启动前需要哪些配置,本文主要受众是平时用惯了 Idea 的 Java 程序员,仅讲解如何用 VS Code 启动服务 前提条件 Jdk、Maven、Nacos、Seata、TDengine等该配置的配置,该启动的启动,就你平时用 Idea 启动项…

力扣hot---岛屿数量

思路dfs: 首先通过两层for循环遍历每一个点,如果这个点为0或者2(这个2是什么呢?是在遍历该点以及该点连成的这一片区域中,因为通过深度优先搜索,遍历该点就等于遍历这一片区域,遍历这篇区域中的…

Qt 类的前置声明和头文件包含

1. 在头文件中引入另一个类经常有两种写法 1&#xff09;前置声明 2&#xff09;头文件包含 #ifndef FRMCOUPLE2_H #define FRMCOUPLE2_H#include <QWidget> //头文件包含namespace Ui { class frmcouple2; }//前置声明&#xff1a;QPushButton frmchkeyboard…

java网络编程 01 IP,端口,域名,TCP/UDP, InetAddress

01.IP 要想让网络中的计算机能够互相通信&#xff0c;必须为计算机指定一个标识号&#xff0c;通过这个标识号来指定要接受数据的计算机和识别发送的计算机&#xff0c;而IP地址就是这个标识号&#xff0c;也就是设备的标识。 ip地址组成&#xff1a; ip地址分类&#xff1a;…

基础小白快速入门web前端开发技术------>web概述

Web概述 我们在编程的学习中&#xff0c;随着学习的深入&#xff0c;我们会理解到WEB这个东西&#xff0c;那么 web究竟是个啥&#xff0c;到底该咋用&#xff1f; web&#xff0c;是网站的英文意思&#xff0c;又被称作“下一代Web3.0&#xff0c;互联网”&#xff0c;是在We…