辽宁省第三次全国国土调查坡度图制作小图斑综合处理程序开发
2022-09-01李潇潇
李潇潇
(辽宁省基础测绘院,辽宁锦州 121003)
坡度图制作项目深入研究了辽宁省第三次全国国土调查坡度图制作关键技术,制定了一整套科学的坡度图制作技术方案,实现坡度图数据的快速生产。在结合辽宁省第三次全国国土调查坡度图制作技术要求的基础上,充分发挥ArcGIS软件的优势,开发了数据生产和质量检查工具,提升了生产效率。
坡度图制作项目研究的大数据、多源DEM数据融合应用生产坡度图的技术方法,解决了大数据、不同DEM数据源同时应用的难题,实现了辽宁省高质量坡度数据有效覆盖,拓展了测绘地理信息成果的应用场景。
一、要解决的核心技术难题
生产过程中,遇到的核心技术难题是小图斑合并。最繁琐、最难的地方在于,人工操作手动合并小图斑,费时费力效率低下。手工需要处理从25m2~750m2的小图斑合并,每隔25m2做一次,也就是说每个县区需要处理750÷25=30次。每次需要从小图斑的5级合并到4级,4级合并到3级,一步一步地合并到直至1级,之后再由1级返回合并到5级,也就是面积达标的小图斑,都要经过8个步骤的合并,每下一次合并都要用到上一次的结果,环环相扣。
按此方法,每个县区需要人工处理的步骤就是 30×8=240步,关键这些步骤不是一气呵成操作完成的,每做一步需要等待处理完成,才能再做下一步骤,环环相扣导致一旦有一步出现错误,那整个步骤都要重新返工,这给任务完成带来了巨大挑战。本次一共要处理101个县区数据,总计人工点选240×101≈2.4万步操作,因此考虑编写程序来代替人工操作,提高正确率与生产率。
二、程序开发具体过程
为了准确快速的完成这次开发,开发前我们对于掌握并且适用的开发技术进行了对比与归纳,选择最优的程序开发路线(表1)。
由表1可见,选用“路线四”作为开发主路线,具体描述,运用Python语言调用系统文件资源(图1),结合使用ArcGIS自身强大的工具箱代码,编写清晰的业务规则,使作业人员只需要把待处理的shp文件,放进选定文件夹,程序自动完成分类合并所需环环相扣的240个步骤,最后输出shp文件,这就是编写软件体现出来的优势,准确简洁。
图1 具体实现业务的核心Python代码
表1 程序开发路线
画红框这段Python代码程序展示了,满足条件的坡度5级图斑自动合并到坡度4级里的过程,并且在工具消息端,提示合并运行进度。当然这只是环环相扣的240步骤中的一个步骤,其余步骤用了巧妙的循环和精准的判断来完成(图2)。
图2 软件在ArcGIS中的工具效果
可以看出,这里只要选择待处理shp的文件夹,设置一下面积区间,就可以完成小图斑合并这一繁琐的工序,非常简洁明了。
三、编写程序的意义
从几乎环环相扣的2.4万步人工处理,简洁到每个县区只需选择一次的方便运行,程序开发的意义非常明显,节省大量繁琐的人工步骤,大大提高生产的产品质量。
从时间上算,每一步人工操作点选都需要操作时间,即使每个步骤点选在1分钟完成,实际上也超出1分钟,全部做完就多出2.4万分钟,即400小时,这还不算处理步骤的时间,就多出16天的工作量,这还是在人工步骤不错的前提下,若哪一步出现错误,到检查时才发现,那么那个步骤之后的成果都要返工。
从存储角度看,人工操作每一个过程结果都要存储下来,因为下一步需要用到上一步的结果,这样导致硬盘空间大量占用,如果每次都删除用过的结果文件,如果事后检查步骤出错,那么没有过程成果文件,就要从头再来,十分纠结。而运用程序解决,中间成果自动删除,自动释放不必要的资源,清晰明了,十分简洁。