Python脚本在湖南省第三次国土调查数据库自检中的应用
2021-04-22张泰郭双仁全思湘马心念
张泰 郭双仁 全思湘 马心念
摘 要 第三次国土调查数据库是第三次国土调查工作的主要成果,是支撑未来自然资源管理各项工作的关键,其质量必须得到充分重视。对数据库进行充分自检并依据自检问题逐一修改,是减少后期工作量、保障第三次国土调查数据库质量的重要手段。本文通过对湖南省第三次国土调查数据库自检内容和方法的分析,梳理了第三次国土调查数据库自检工作存在的不足,探索了通过Python脚本快速实现数据批量化检查的方法,提高了数据库自检工作的自动化和准确性。
关键词 第三次国土调查;数据库自检;Python
中图分类号:TP312,P272 文献标识码:A
文章编号:1672-5603(2021)01-16-5
Abstract: The database of the third land survey is the main result of the third land survey and the key to supporting future natural resource management tasks. Its quality must be given fully attention. Fully self-checking of the database and revisions one by one based on the self-checking issues are important means to reduce the later workload and ensure the quality of the third land survey database. Through analysis of the content and method in the third land survey database self-checking, this paper sorts out the shortcomings of database self-checking in data overlay inspection, and explores the method of quick data batch inspection by Python script. The result shows that the method can effectively improve automation and accuracy in self-checking.
Keywords: the third land survey; database self-checking; python
为满足当前社会经济建设对土地资源综合管理的宏观需求,根据国家、省、市有关文件要求,在湖南全省范围内开展第三次国土调查(以下简称“三调”)工作[1]。三调是一项政策性、技术性、时效性很强的重大国情国力调查工作,是全面查实查清国土资源的重要手段,其成果将为生态文明建设、空间规划编制和国家相关政策的制定等各项工作提供翔实的数据基础[2-3]。
三调数据库是三调成果的主要载体,也是三调成果汇总与应用的数据来源,数据库的质量关系到三调工作的成败[4]。为了保障三调成果的真实、准确、可靠,尽可能减少后期修改工作,在县级数据库建设过程中应按照三调有关技术标准做好数据库自检工作。
1 数据库自检内容与存在的问题
1.1 数据库自检内容与方法
根据《第三次全国国土调查技术规程》数据库质量检查内容和《第三次全国国土调查技术问答(第1-3批)》相关要求,将数据库自检内容归纳为行政界线检查、地类检查、边界检查、属性检查、图形检查、内外业一致性检查、图层间逻辑关系检查、接边检查等[5],详见表1。
1.2 存在的问题
三调数据库建库软件能完成大部分数据库自检要求,其他自检内容可借助常用GIS软件实现,有效提高了数据自检的效率和准确性。但在地类检查和属性检查方面仍然存在检查不到、检查不全、需要辅以大量人工操作的问题。
(1)地类检查工作量大。目前地类检查以人工检查为主,特别是重点地类变化,需要叠加第二次全国土地调查(以下简称“二调”)数据、外业举证数据和相应照片分析,现有软件既需要大量人工,又需要复杂的软件操作,耗时耗力。
(2)种植属性检查不全面。例如恢复属性标注问题,由于建库软件缺乏与二调数据叠加对比的功能,只能查验种植属性标注的逻辑错误,比如非耕地标注耕地种植属性,可调整地类漏标恢复属性等,不能查验部分错标的情况,需在GIS软件中叠加二调数据进行分析,必要情况下需逐图斑辅以人工检查,工作量较大,且对作业人员的专业水平要求较高。
2 Python在自检工作中的应用
Python 是一種功能强大的编程语言,它具有简单易学、免费开源、可跨平台、面向对象等诸多优点[6]。ArcGIS已经将其内嵌于桌面软件中,基于Arcpy二次开发的Python脚本程序可以直接添加到ArcToolBox中作为自定义工具使用,操作简单。使用Python进行定制开发能够很好的满足需要针对ArcGIS软件做一些扩展和智能化应用的用户[7]。在三调数据库自检工作中引入Python脚本,为数据库自检工作提供有针对性的地类变化检查功能,有利于提高工作的自动化和准确性。
2.1 提取地类变化图斑
(1)筛选变化地类图斑
将二调地类编码按照对应规则转换为三调地类编码,叠加三调数据和二调数据进行空间分析,提取与二调地类不一致的图斑。代码思路如下:
arcpy. Identity_analysis(三调要素类,二调要素类,空间叠加后要素类,连接属性字段)
(2)修复几何要素
空间分析后新要素类可能存在几何错误,需要拆分多部件和删除空要素等修复几何要素操作。思路如下。
arcpy. RepairGeometry_management(空间叠加后要素类,”DELETE NULL”)
arcpy. MultipartTosinglepart_management(空间叠加后要素类,单要素要素类)
(3)剔除狭窄面
在高精度遥感影像支持下的图斑边界修正,导致叠加分析产生大量地类变化狭窄面,实际并非变化图斑,需根据图斑周长和面积的比值设置阈值,剔除狭窄面。部分关键代码如下:
#添加字段并计算要素面积、周长、面积周长比
calculate_new_field(要素类,"面积",'DOUBLE Shape. geometryArea@SQUAREMETERS!')
calculate_new_field(要素类,"周长","
DOUBLE',"!Shape.LengthaMETERS!")
calculate_new_field(要素类,”面积周长比","
DOUBLE',"!area!/!Length!)
2.2 检查重点地类变化
根据国家要求,提取重点地类变化图斑。
(1)原有耕地内部二级地类发生变化,判断条件如下:
(二调地类LIKE '01%' AND三调地类LIKE '01%' AND 二调地类 <> 三调地类) AND 面积>400
提取耕地二级类变化图斑,能同时辅助检查外业调查举证工作是否全面。
(2)原有农用地调查为未利用地的图斑,判断条件如下:
(二调地类 LIKE '01%' OR二调地类 LIKE '02%' OR二调地类 LIKE '03%' OR二调地类 = '0401' OR二调地类 = '0402' OR二调地类 = '1104' OR二调地类 ='1107'OR二调地类 = '1202') AND (三调= '0404'OR 三调= '1101' OR 三调= '1102'OR 三调= '1106' OR 三调= '1204' OR 三调= '1205' OR 三调= '1206' OR 三调= '1207') AND 面积>600
(3)原有建设用地范围外新增空闲地,判断条件如下:
(三调地类LIKE'1201%'AND二调地类NOT LIKE'07%') AND 面积>200
2.3 检查恢复属性
根据国家要求,对二调是耕地,现在临时种植林木、园木或临时用作坑塘但清理后即可直接恢复耕种的,按现状调查地类,标注“即可恢复”;对二调的耕地及其后的新增耕地,实地为种植园用地、林地、草地及坑塘水面的,清理后仍需要采取工程措施才能恢复耕种,按现状调查地类,标注“工程恢复”属性[8]。恢复属性标注检查可通过Python叠加分析二调和三调数据。
(1)二调是耕地,三调为非耕地农用地的地类,检查种植属性标注情况,判断条件如下:
(三调地类LIKE '02%' OR 三调地类LIKE '03%' OR 三调地类LIKE '1104%')AND二调地类LIKE '01%' AND(种植属性代码<> 'GCHF' AND 种植属性代码<> 'JKHF') AND 面积>600
(2)检查已经标注恢复属性的图斑在二调中是否为耕地,判断条件如下:
(三调地类LIKE '02%' OR 三调地类LIKE '03%' OR 三调地类LIKE '1104%')AND二调地类NOT LIKE '01%' AND (种植属性代码= 'GCHF' OR 种植属性代码= 'JKHF') AND 面积>600
(3)检查可调整地类漏标恢复属性的图斑,判断条件如下:
三调地类LIKE '%K' AND (种植属性代码<> 'GCHF' OR 种植属性代码<> 'JKHF')
3 实验分析
本文以湖南省某村为例,利用三调过程数据,进行基于Python脚本的三调数据库自检实验,实验区如图1所示。
3.1 数据准备
高分辨率遥感影像、三调数据库反应每块图斑地类、范围、权属、面积、属性等信息的地类图斑(DLTB)图层,同范围二调数据库(DLTB)图层,外业调查举证数据包。
3.2 执行叠加检查
Python工具操作界面如图2所示,实验区三调DLTB共750个,二调DLTB共549个,操作用时56.92秒。
3.3 结果分析
本次操作共提取103个变化图斑,变化类型包括恢复属性漏标错标、农用地变未利用地、耕地内部二级类变化等,如图3所示。
(1)恢复属性标注问题
实验区共有6个图斑存在恢复属性标注问题,以其中一个为例,如图4所示。
高亮部分是提取的疑问图斑,该图斑二调是旱地,三调经过外业调查举证认定为灌木林地,但三调中未标注恢复属性,根据该图斑举证照片,判断恢复类型,标注“工程恢复”。
(2)重点地类变化问题
①耕地二级类变化
图5高亮的两个图斑,存在耕地二级类变化且未调查举证的问题,虽然依据影像周边地类可大致判断该图斑类型,但根据国家技术要求,仍需补充举证。
②农用地转未利用地
如图6所示,高亮图斑二调是耕地,三调认定为其他草地,有举证照片,但照片不能判定该图斑完全变成未利用地,还需进一步核实或进行补充说明。
4 结束语
本文利用Python脚本,结合ArcGIS平台,构造了批量化空间数据处理工具,减少了三调数据库在地类和属性检查过程中的重复性劳动,有效规避了人工处理带来的误差,达到了提高效率和保证质量的目的,为三调数据库质量控制提供了解决思路。但Python运行速度较慢,由于实验数据量少,未能验证该方法的大数据分析能力,且实验区域未涵盖所有地类,少部分逻辑错误类型未做分析,以上问题还有待进一步研究和完善。
参考文献/References
[1]唐德平.第三次全国国土调查的制约因素与改进建议[J].住宅产业,2019(08):13-15.
[2]国务院关于开展第三次全国土地调查的通知[J].国土资源通讯,2017,(20):20-21.
[3]谢荣安,等.第三次全國国土调查项目成果质量控制方法[J].地矿测绘,2019,35(03):6-8.
[4]黄锦凤,等.第三次国土调查数据库建设及成果质量控制研究[J].国土资源导刊,2019,16(04):20-24.
[5]吕妍,等.第三次全国国土调查县级数据成果分阶段自检方法[J].测绘技术装备,2019,21(04):69-71.
[6]刘翔宇,朱大明.ArcGIS中基于Python的地理数据库批量合并方法研究[J].软件,2018,39(07):161-165.
[7]Eric Pimpler.牟乃夏,等,译,基于ArcGIS的Python编程秘笈[M].人民邮电出版社,北京:2017.
[8]国务院第三次全国国土调查领导小组办公室.国务院第三次全国国土调查领导小组办公室关于调整第三次全国国土调查有关内容与要求的补充通知[J].国土资源通讯,2019,(6):23-24.
[9]国务院第三次全国土地调查领导小组办公室.关于印发《第三次全国土地调查实施方案》的通知[J].国土资源通讯,2018,(04):12-25.