【ArcGIS Pro二次开发】(49):村规数据入库【福建省】

之前用Arcpy脚本工具做了一个村规数据入库和主要图纸生成工具。

在使用过程中,感觉对电脑环境比较高,换电脑用经常会一些莫名其妙的错误,bug修得很累。近来随着ArcGIS Pro SDK的熟悉,就有了移植的想法。

这里先把村规数据入库工具做出来,后续还将继续做主要图纸生成工具。


一、要实现的功能

如上图所示,在【村庄规划】组,有两个工作面板:【准备工作】和【入库】。

【准备工作】面板的2个工具主要是检查准备的村庄数据。

【村规_数据完整性检查】是为了检查是否缺失数据,要素是否缺少必要的字段。
【村规_要素几何检查】是为了检查要素是否存在几何错误,类型错误以及拓扑错误。

执行【村规_数据完整性检查】结果如下:

执行【村规_要素几何检查】结果如下:

至于怎么修正这些错误,后面的数据准备工作会详细再讲。

当你把这两部检查都通过后,就可以执行【入库】面板里的工具了。

【入库】面板的11个工具是入库的主程序。
后面10个工具如字面意思分别对应8个要素类和2个表格的自动生成。
【村庄_入库汇总】则是一次性执行上述10个工具。
如果你想一次性得到完整入库数据,直接执行【村庄_入库】

如果数据没问题,输出结果如下:

这个单个村的结果,如果是多个村也没问题。

为了工具的使用方便,以上13个工具都没有设置输入参数。
工具所需参数全部由固定位置的数据中提取,因此要求把规定格式的数据放在规定的位置。


二、准备数据

首先,需要一个输入文件夹,名为【1-输入文件】,位于当前工程的根目录下。
该文件夹下放置村庄的.gdb文件和.xlsx文件。
一个村庄对应两个文件,两个文件的文件名要完全一致。
注意,这里的Excel文件不能使用.xls文件。
工具可以同时处理多个村庄,如右图程序可以同时给后张村和前张村入库。

【gdb文件】(要素名固定,不要更改)
如图需要准备7个要素,其中文保为可选要素,如果没有可以不放。
其他都是必选要素,如果生态保护红线或永农没有,也要放一个同名的空要素。
生态保护红线或永农可以超出村域范围,工具会按村域范围裁剪。

【现状用地】
就是三调数据,需包含【JQDLBM】、【JQDLMC】和【CZCSXM】3个字段(其中【CZCSXM】是三调数据固定字段,正常不用处理)

 【规划用地】
需包含【GHDLBM】、【GHDLMC】和【SSBJLX】3个字段(别名可以是中文,但字段名发必须为英文)
【SSBJLX】字段内容的意思:Z代表城镇建设用地,T代表弹性用地。(有城镇建设用地和弹性用地的话一定要标注,没有的话可为空)

【现状公服、规划公服】
点要素,需包含【SSLXMC】和【GHSSLXMC】字段(字段值严格按指南附表36填写)

【文保】
(如果有),面要素,需包含【LSWHLX】和【JBDM】字段。
【LSWHLX】的字段值:(严格按指南附表39填写)。
【JBDM】的字段值:(国家级、省级、市级、县级、其他)。

【生态保护红线、永久基本农田】
无字段要求。

【xlsx文件】(文件下要有sheet1表,新建文件默认就有)


村庄名称:需包含三级行政区划,如县、镇、村
村庄类型:按规范填写
规划期限:
现状人口:
规划人口:
现状自然和文化遗产
规划自然和文化遗产

PS:虽然上面的数据要求有点多,但其实熟悉之后,按着模板来一般不会出什么错。

上面数据检查工具也很方便,哪里有问题一下也能找出来,过了检查工具,基本入库就不会有什么问题了。

至于代码部分就不放出来了,代码量有点大,篇幅也不够。有想一起学习的可以私聊。


三、工具文件分享

我把工具都集合成工具箱,不再单独放单个工具,可以到这里下载完整工具箱,会不断更新:

【ArcGIS Pro二次开发】:CC工具箱https://blog.csdn.net/xcc34452366/article/details/131506345PS:可以直接点击...bin\Debug\net6.0-windows\下的.esriAddinX文件直接安装。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信小程序上线与发布图文步骤操作

1.上传代码 打开微信小程序,在微信开发者工具的工具栏中单击“上传”按钮,页面中弹出提示框,根据提示填写相应的信息,然后单击“上传”按钮,即可上传代码。 2.查看上传代码之后的版本 登录微信小程序管理后台&…

远程在Ubuntu20.04安装nvidia显卡驱动

第零步,找人装一个todesk。 在终端运行: ifconfig 记住ip地址,后面要用。 第一步,安装软件: sudo apt-get update sudo apt-get install g gcc make 第二步,下载显卡驱动: 官方驱动 | NVI…

Flink DataStream之输出数据到File中

新建类 package test01;import org.apache.flink.api.common.serialization.SimpleStringEncoder; import org.apache.flink.configuration.Configuration; import org.apache.flink.configuration.MemorySize; import org.apache.flink.connector.file.sink.FileSink; import…

2023年Q2京东厨卫大电市场分析报告(京东运营数据分析)

随着新产品推广和消费需求升级,今年Q2,京东厨卫大电市场的销售额突破百亿,从同环比来看均呈增长趋势。百亿市场中,油烟机、电热水器、燃气热水器这三大品类占据较大份额,这一期,我们重点来看一下京东厨卫大…

金蝶云星空大福利:奥威BI金蝶云星空SaaS版,开箱即用!

奥威BI金蝶云星空SaaS 版是一种基于金蝶云星空平台的BI大数据分析解决方案,主要特点是不用下载安装软件,开箱即用,普遍适用于零售、快消、餐饮、服务连锁、制造等行业。 不需准备环境、不需下载软件,简单四步,完成系统…

什么企业适合建设数据中台?

从历史脉络中,看到数据中台凸显价值,数据中台是大数据下一站。所有企业都适合建设数据中台吗?什么样应该建数据中台? 2018年我们在建数据中台前面临的窘境,通过了解我们建数据中台的背景,你也可以对照着看…

微信小程序活动抽奖简单实现,包教包会

问题: 针对用户使用活动抽奖,获得抽奖得到商品的成就以及满足感,那么我们应该怎么去实现小程序去转盘抽奖活动呢 例如:项目需要抽奖实现相应的奖品奖励 实现方法 实现的效果如下: 实现的主要代码: Page…

上手vue2的学习笔记5之在vue2项目中调用elment-ui

前言 上手vue2的学习笔记4之搭建vue环境 参考链接:vue2.0项目引入element-ui 一、安装elment-ui 进入搭建的vue项目中 cd vue_bing_test 安装 element npm i element-ui二、引入elment-ui elment官方教程 将main.js改成如下内容: import Vue fro…

行业报告 | AI 赋能,人形机器人产业提速,把握产业链受益机会(上)

文 | BFT机器人 01 核心观点 核心观点: 人形机器人产业发展仍处于 0-1 阶段,当前行业投资逻辑偏向事件驱动型的主题投资,但可落地服务场景的人形机器人成长空间非常广阔,值得长期关注。本文将围绕以下热点问题作出讨论: D当前节点人形机器人产…

常用API学习03(Java)

String char charAt(int index) 返回char指定索引处的值 char[] toCharArray() 将此字符串转换为新的字符数组 int compareTo(String anotherString) 按字典顺序比较两个字符串 boolean contains(CharSequence s) 当且仅当此字符串包含指定的char值序列才返…

C语言程序设计——字符、字符串、内存函数

一、长度不受限的字符串函数 1. strlen size_t strlen(const char* str); 功能:求字符串长度 (1)字符串以\0作为结束标志,strlen函数返回的是在字符串中\0之前出现的字符个数(不包含\0)。 &#xff08…

字符串相加(力扣)

Problem: 415. 字符串相加 文章目录 思路Code复杂度运行结果 思路 创建一个StringBuilder对象使用append方法追加每位数字相加,使用双指针的方式,指针i,j分别指向num1和num2的每位数字,从后往前,进位用carry存储着。 …