温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
ArcEngine
变更
调查
文档
批量
制作
工具
张寿雨
第 46 卷 第 6 期2023 年 6 月测绘与空间地理信息GEOMATICS SPATIAL INFOMATION TECHNOLOGYVol 46,No 6Jun,2023收稿日期:20210816作者简介:张寿雨(1992),男,安徽滁州人,工程师,硕士,2017 年毕业于中国科学院地图学与地理信息系统专业,主要从事资源环境遥感与 GIS 应用工作。基于 ArcEngine 的三调和变更调查文档批量制作工具张寿雨(江苏省基础地理信息中心,江苏 南京 210013)摘要:建立补充情况说明文档是保证“三调”及“变更调查”成果质量的重要方式之一,针对手动制作补充情况说明文档的缺点,本文基于 ArcEngine,使用 C#语言开发出了说明文档的批量制作工具。该工具通过对 Word 文档、矢量数据、遥感影像和数据库文件的处理,实现了说明文档的批量制作。实际项目的应用实践表明,该工具能够大幅度地提高作业效率,为今后“变更调查”和其他相关项目提供了参考和借鉴。关键词:三调;变更调查;说明文档;ArcEngine;SQLite 数据库中图分类号:P272文献标识码:A文章编号:16725867(2023)06021903esearch on Document Batch Production Tool of the Third NationalLand Survey and Annual Land Use Change SurveyBased on ArcEngineZHANG Shouyu(Provincial Geomatic Center of Jiangsu,Nanjing 210013,China)Abstract:The explanatory document is one of the important ways to ensure the quality of the third national land survey and annual landuse change survey,for the tedious process and low efficiency of manual production,based on ArcGIS Engine this article uses C#to de-velop document batch production tool Through the processing of word documents,vector data,remote sensing images and databasefile,the tool can realize batch production of explanatory documents The actual data inspection and verification show that the tool cangreatly improve the operation efficiency,which provides a certain reference for annual land use change survey and other related pro-jects in the futureKey words:the third national land survey;annual land use change survey;explanatory documents;ArcEngine;SQLite database0引言第三次全国国土调查(以下简称“三调”)是在第二次全国土地调查成果的基础上进行的全国性土地普查工作1。2020 年全国国土变更调查(以下简称“变更调查”)在“三调”统一时点成果基础上,利用最新卫星遥感影像,掌握年度土地利用的变化情况,满足当前自然资源管理工作的需要,更新“三调”数据库,保障全国国土调查成果的现势性和准确性2。“三调”和“变更调查”均采用外业拍摄举证照片的方式来保证图斑地类的真实性,但是仍然存在一些特殊地类,举证照片无法反映图斑地类的真实情况。为了保证数据成果的质量,针对这些特殊情况的图斑,必须对图斑的实际情况进行解释说明,提供Word 格式的补充情况说明文档,补充情况说明文档包含说明文字、影像截图和举证照片等内容。以往国土行业项目大多只是需要进行矢量数据的批量制图和出图,很少同时涉及大量 Word 文档、矢量数据、遥感影像、图片和数据库文件的处理38。补充情况说明文档的制作相对较为烦琐和复杂,因此多数作业单位采用手动方式进行说明文档的制作。对于说明文档数量较少的作业单元,采用手动的方式制作补充情况说明文档产生的问题较少。但是对于文档数量较多的情况,采用手动制作文档的作业模式,不仅速度慢、效率低,影响数据提交时间;而且错误率相对较高,影响成果数据的质量。针对手动制作补充情况说明文档的不足之处,本文结合实际工作需要,基于 ArcEngine,使用 C#编程语言设计并编写了易于操作的图形界面工具,实现补充情况说明文档的批量制作。该工具在江苏省徐州市某区县的“三调”和“变更调查”项目中得到应用,结果表明,该工具能够批量生产出满足要求的补充情况说明文档,在实际作业中具有操作方便、高效快捷的优点,较大幅度地提高了数据质量和作业效率。1设计与实现1 1输入数据本文所开发工具的输入数据包括 3 类,分别是矢量数据、遥感影像和 db 格式的 SQLite 数据库文件(以下简称“DB 文件”)。矢量数据包括 2 个图层,分别是建库完成后的 DLTB更新层和 DLTB 更新过程层。DLTB 更新层是指建库完成后的 DLTB 更新层中需要写说明的图斑,需要进行手动处理。在 ArcMap 中手动将需要写说明的图斑从全部 DLTB更新层中提取出来。提取后的图斑保留 DLTB 更新层的全部属性字段值,并手动添加 SM 和 jcbh2 个字段。SM 字段填写图斑的说明文字;jcbh 字段填写 SQLite 数据库中照片的编号,一个 jcbh 值对应一张或者多张照片。DLTB更新层处理完成后的图层仍然称作 DLTB 更新层,如无特殊说明,下文中的 DLTB 更新层均为处理后的 DLTB 更新层。DLTB 更新过程层是指建库完成后的 DLTB 更新过程层,不需要进行任何处理。本文所开发工具均支持 ESI的 Shapefile、Personal Geodatabase 和 File Geodatabase 3 种格式的矢量输入数据。为了提高效率,矢量数据推荐使用 ESI 的 File Geodatabase 格式。遥感影像是指国家下发的“三调”和“变更调查”项目的影像。因为有些区县的遥感影像分为好几个部分,由国家分批下发下来,未进行影像拼接,所以输入的遥感影像为一个或多个*img 文件,不需要对国家下发的一个或多个影像进行任何处理,直接将一个或多个*img 格式的影像文件作为输入文件即可。本文所开发工具也支持其他常见数据格式的遥感影像文件作为输入数据。“DB 文件”为后缀为 db 的 SQLite 数据库文件,里面存储“三调”和“变更调查”项目的外业举证照片。直接从外业系统下载即可,无须进行任何处理。1 2功能与流程本文工具为 exe 格式文件,在 Windows 操作系统下双击直接运行,基于 C#+ArcEngine 编程实现 ArcMap 下制图和出图、Word 文档处理和数据库文件读写操作的自动化和批量化处理,主要包括矢量和栅格数据的图形显示与属性获取、SQLite 数据库读写、Word 文档生成等方面的内容。使用工具时,只需依次选择输入数据后,点击开始,工具即可运行。程序运行介绍后,会弹出完成提示框。程序运行流程如图 1 所示,首先对输入的 2 个矢量数图 1说明文档批量制作流程图Fig 1Flow chart of batch production ofexplanatory documents据进行检查,分为图形和属性检查。图形检查主要是检查面重叠错误和小面积图斑,属性检查主要是检查必填字段的名称是否正确、字段值是否为空。如果出现图形错误或者属性错误,则报错并自动终止运行、退出程序。如果检查合格,则进行属性关联处理。因为 DLTB 更新层和 DLTB 更新过程层分别存储不同的属性信息,需要通过唯一关键字将二者的属性字段关联起来,使得 DLTB更新层的图斑具有 DLTB 更新过程层的属性。当面对较大数据量时,属性关联非常耗时,甚至会出现软件卡顿、崩溃现象,因此缩短运行时间、提高运行效率是属性关联的关键。属性关联一般分为属性挂接和编程实现 2 种方法。使用属性挂接是最简单的方式,对作业人员要求较低,通常是在 ArcMap 中通过关键字进行挂接操作。当对较大数据量进行属性挂接时,非常耗时而且软件卡顿的概率较高,因此当数据量较大时,不建议采用属性挂接方式。编程方式实现属性关联对作业人员要求较高,但是耗时短、效率高,尤其适用于大数据量的情况,其中 Ar-cEngine 的效率高于 ArcPy。经过属性关联后,DLTB 更新层的图斑具备了 DLTB 更新过程层对应图斑的属性。属性关联处理完成后,将关联属性后 DLTB 更新层和遥感影像加载到 MapControl 控件中,并对 DLTB 更新层进行标注设置,遥感影像和标注后的 DLTB 更新层最终效果如图 2 所示。需要注意的是,如果遥感影像是由国家分批下发下来的多个影像文件,则程序自动进行去黑边处理。因为影像黑边会导致影像部分区域互相遮盖,影响最终的出图效果。标注完成后进行制图输出操作,DLTB 更新层的每一个图斑输出一张 jpg 格式图片并用唯一标识命名,程序自动输出到指定目录,以便于后续读取。需要指出,这里所说的制图其实更加接近于截图的概念,因为图 2 中并没有022测绘与空间地理信息2023 年指北针和图例等制图要素。这里并不是程序无法实现,而是依照要求,无须添加这些制图要素。图 2影像和 DLTB 更新层标注效果图Fig 2Drawing of image and DLTB update layer影像和 DLTB 更新层制图并输出完成后,进入最终的Word 文档生成和内容设置阶段。针对 DLTB 更新层的每一个图斑生成一个 Word 文档并输出到指定位置。文档生成完成后,从 3 个方面读取该图斑对应的文字数据和图片数据,并插入到 Word 文档的相应位置。这 3 个方面分别是:1)文字数据:属性关联后的 DLTB 更新层的属性字段值;2)图片数据:之前已经输出的影像和注后的 DLTB更新层的 jpg 图片;3)图片数据:SQLIte 数据库的“DB 文件”中存储的对应图斑的外业举证照片,每个图斑读取 4张举证照片。如果图斑的举证照片少于 4 张,则全部读取,即有几张读取几张;如果图斑的举证照片多于 4 张,读取排序靠前的 4 张。DLTB 更新层的所有图斑均生成Word 并填写内容后,便完成了说明文档批量制作的工作,将指定目录下的 Word 文档拷贝出去即可。2输出结果本文工具的输出数据为多个 Word 文档,其数量等于输入数据中处理后的 DLTB 更新层的图斑数量。每个Word 文档的表结构相同但是表中具体内容不同,文档中表包括变更前标识码、变更后标识码、情况说明、影像特征和实地举证照片等内容。其中变更前标识码、变更后标识码和情况说明 3 栏填写文字,内容来自 DLTB 更新层图斑相应的属性字段值。影像特征栏填入图片,如图 2 所示,图片内容来自影像和标注后的 DLTB 更新层导出的jpg 图片。实地举证照片一栏填入图片,图片内容来自SQLite 数据库中存储的对应图斑的外业举证照片。3结束语自“三调”项目开展以来,说明文档在自然资源管理系统中的作用愈加重要。与手动制作文档相比较,本文基于 ArcEngine,使用 C#语言开发的补充情况说明文档批量制作工具,能够在短时间生产出满足要求的文档。实际项目的验证表明,该