陈爱梅,罗灿培
(1.西南林业大学 土木工程学院,云南 昆明 650224;2.云南导视地理信息系统工程有限公司,云南 昆明 650056)
根据《自然资源部农业农村部关于加强和改进永久基本农田保护工作的通知》(自然资规〔2019〕1号)的要求,为切实提高重大建设项目占用永久基本农田的审查报批效率,确保补划的永久基本农田数量不减少、质量不降低、布局更优化[1],利用第三次全国国土调查成果开展永久基本农田储备区划定工作,将在永久基本农田之外相对质量较好的耕地划入永久基本农田储备区。其中,永久基本农田储备区数据库是该项工作重要的组成成分,是划定工作的具体体现。永久基本农田储备区数据库包含了永久基本农田储备区图斑的空间位置布局、面积、形态、地类、质量等信息,该类信息来源于地形地貌、土地利用规划、耕地质量等别、建设用地报批、生态红线、林地保护和遥感正射影像等“分散存放、介质不一、格式不同”的多源异构数据。永久基本农田储备区数据库作为永久基本农田的“蓄水池”[2],对提高重大建设项目占用永久基本农田的审查报批效率,确保补划的永久基本农田数量不减少、质量不降低、布局更优化;对守住耕地保护红线和永久基本农田边界控制线,进一步巩固永久基本农田划定成果、完善保护措施、提高监管水平具有重要意义。
本文从永久基本农田储备区划定流程入手,紧紧围绕永久基本农田储备区潜力分析、质量、数据库建设和应用的过程,以数据规范化、标准化、流程化等为目标,基于ArcGIS 10.2.2平台,充分利用Python脚本语言构建了集“矢量数据、属性数据、表格数据”为一体的数据库建设方案,设计研发实现了永久基本农田储备区辅助建库软件,通过该软件在富源县永久基本农田储备区划定数据库建设中的实践应用,提高了数据库建设的效率,保证了划定成果的质量。
永久基本农田储备区划定目标一般由省级自然资源主管部门确定,并逐级将指标分解到县级自然资源主管部门,具体的永久基本农田储备区划定由县级自然资源主管部门完成[2-3]。永久基本农田储备区数据库建设以第三次全国国土调查成果为基础,其主要的工作流程如图1所示。
图1 永久基本农田储备区数据库建设过程
(1)准备阶段:主要包括建库方案制定、人员准备、数据源准备、软硬件准备、管理制度建立等,收集涉及自然资源、农业农村、生态环境等有关部门最新的遥感正射影像图、县乡级土地利用总体规划(2010~2020年)成果、县级永久基本农田划定成果、耕地质量等别更新评价成果、耕地地力调查与质量评价成果、生态红线、退耕还林还草和还湿还湖、第三次全国国土调查成果、粮食生产功能区和重要农产品生产保护区初步成果、建设项目用地审批和矿业权审批登记等成果相关资料,作为储备区划定的基础数据。依据第三次全国国土调查的现状地类图斑,内业套合对比分析,按照永久基本农田储备区划定、国土空间管控等要求,初步提取出潜力图斑,结合当地国民经济发展现状,形成划定目标任务。
(2)数据采集与处理阶段:主要包括基础地理、土地利用、土地权属、栅格、永久基本农田储备区等各要素的采集、编辑、处理和检查等,主要对潜力图斑进行内业分析汇总,初步确定预划入图斑。并利用国家下发的核实软件,对预划入图斑进行逐地块核实,填写实地核实情况,查清耕地利用现状,拍摄上传带有定位信息和方位信息的实地照片、视频等相关举证材料。
(3)入库汇交阶段:主要包括矢量数据、栅格数据、属性数据以及元数据等的检查和入库,并编制划定方案,填写划定情况表。同时,按照要求对成果进行逐级审核上报,主要包括数据成果、文字成果、图件成果和表格成果的汇交。
Python具有简单易学、可移植,以及跨平台、可扩展、面向对象等特点,是数据分析、程序设计最受欢迎的语言,并广泛应用于图形图像处理、文本文件处理、数据库编程、网络爬虫编程、多媒体应用等各行各业。Python标准库提供了系统管理、网络通信、文本处理、数据库接口、图形系统、XML处理等额外的功能[4]。目前,使用Python语言进行ArcGIS的定制开发已经成为ESRI公司主推的开发方式。
ArcPy是一个Python站点包,可提供以实用高效的方式通过Python执行地理数据分析、数据转换、数据管理和地图自动化等,用户可以在交互式环境中快速地创建脚本原型并进行测试[5]。在ArcGIS平台通过ArcPy可访问地理处理工具以及其它函数、类和模块,从而创建简单或复杂工作流[6]。永久基本农田储备区辅助建库软件主要通过地理处理工具、文本处理模块、Excel读写模块、Word读写模块、数据转换以及制图模块实现划定过程中数据的快速处理,综合上述模块快速建立脚本工具并集成为ArcGIS ToolBox工具箱。
程序开发的软硬件环境直接关系着程序运行的效率,本次开发主要的软硬件环境如下:Intel酷睿i5处理器、4 GB内存、1 T机械硬盘、Windows 7 64位操作系统、ArcGIS 10.2.2、Python 2.7、Sublime Text等。
对于永久基本农田储备区划定工作的整个过程来说,其功能的分析应从建库工作涉及的主要流程来进行分析设计[7-9],主要包括数据整理、数据的规范化、数据的属性检查和属性关联、标准数据库建立、数据入库、数据库检查、拓扑检查等步骤,分为准备阶段、数据采集与处理阶段和数据入库汇交阶段。
(1)准备阶段的主要功能包括:收集资料数据格式转换、数据坐标转换、图斑属性检查与填写、字段批量添加、数据质量检查等。
(2)数据采集与处理阶段的主要功能包括:标准数据库的建立与扩展、数据转换、数据拓扑和属性检查、非空间数据的关联、储备区编号、储备区属性填写等。
(3)数据入库汇交阶段的主要功能包括:数据符合性检查、数据格式转换、空间数据与非空间数据质量检查、汇交数据成果输出、数据汇总统计等。
永久基本农田储备区划定工作开展涉及基础资料收集整理、内业套合提取分析、外业调查、数据库建设、方案编制等多个环节,综合要求较高、工作量较大、人才需求多样化。为此,在设计过程中遵循“开放、操作简便、规范、可扩展”等原则,不再局限于软件开发者的硬件设施,满足建库人员的不同硬件环境需求;充分考虑了作业人员的技术水平,使其适应大部分的作业人员;充分考虑利用国家下发的数据质量检查软件进行数据检查、省级数据库建设要求等诸多方面;可在程序上增加自定义函数、模块等[10]。本次永久基本农田储备区划定辅助建库软件基本功能设计框架如图2所示。
图2 永久基本农田储备区辅助建库软件系统功能设计框架
永久基本农田储备区辅助建库软件应用Python脚本语言,在ArcGIS 10.2.2平台上通过调用地理处理模块、Openpyxl、制图模块、文本处理等相关模块,完成了软件的设计和开发。针对永久基本农田储备区划定的工作过程,主要的功能模块如下:
(1)基础数据处理模块:划定工作基础数据来自于自然资源、林草、规划、农业、水务等相关部门,存在坐标系、数据格式、介质等的不统一。针对以上问题,将基础数据以ArcGIS文件地理数据库格式存储,设计实现了数据转换为GDB、坐标转换(导入参数)、TXT/XLS转要素面、拓扑检查等功能,如图3所示。
图3 基础数据处理模块功能
(2)划入图斑模块:该模块包含了潜力图斑提取、储备区调查图斑提取、调查图斑编号、与三调举证GDB关联、上传图斑导出等功能,如图4所示。
图4 划入图斑模块功能
(3)储备区建库模块:主要包含外业调查图斑导入、图斑属性维护(如:坡度、质量等级、权属、是否高标准农田、地力等级、储备区分布、图斑编号、标识码和要素代码)、椭球面积计算、图斑面积计算、数据成果导出(如:面积汇总、表格导出、成果导出)等模块,涵盖了永久基本农田储备区数据库建设中属性及其关联的过程,如图5所示。
图5 储备区建库模块
(4)制图模块:根据永久基本农田储备区划定实施方案中制图的相关要求,结合第三次全国国土调查的有关制图要求,实现了经纬网制作、色带制作、边框制作、批量MXD导出图片、地类符号生成、行政界线分级等功能。
(5)其它功能模块:为了解决以上过程中存在的部分问题,针对性的开发了如批量字段添加、要素节点距离处理、线面图斑切割、矢量数据库分割、多个数据库合并、细小图斑合并、图斑间细缝处理等通用的处理功能。
将以上模块整合形成ArcGIS Toolbox工具箱,在Catalog中可以直接调用,同时为了方便建库人员调用,引入Add-In插件,通过Add-In创建按钮加载项,完成项目设置与定义要创建的多种加载项,并在加载项内容选项卡中设置工具条,将相关脚本与加载项对应的脚本相结合,安装加载项以后在ArcGIS 10.2.2中可直接调用自定义的工具条[5]。软件界面如图6、图7所示。
图6 Add-in 配置文件
图7 永久基本农田储备区辅助建库软件(Add-in)
在云南省富源县永久基本农田储备区划定中,共安装使用了该软件4套。划定工作共收集自然资源、林业、农业、生态环境、城乡规划等基础数据共计43项参考资料,含1954北京坐标系、1980西安坐标系、2000国家大地坐标系、2011城建坐标系等四类坐标系统,存储格式大部分为电子资料矢量格式,部分为TXT或XLS格式。利用永久基本农田储备区划定辅助软件对收集到的基础数据进行标准化、规范化、统一化的分析整理;利用潜力图斑提取功能,采用“优先分级”将富源县除永久基本农田外的大量优质图斑进行筛选,既保证了划入永久基本农田储备区图斑的质量,又巩固了前期永久基本农田划定成果;同时建库功能模块贯穿了数据建库和审查上报的整个过程,平均建库时间从2天缩短到了1天,划定方案编制采用软件表格输出的成果也缩短了文本报告编制的时间,同时因前期部分资料如外业调查表存在不规范、不清晰等问题也得到了有效的解决。相比较采用人工完成建库工作的其他单位速度提升了2~3倍,在项目生产中得到了良好的实践应用,为后期重大建设项目占用永久基本农田的审查报批及其监管提供了可靠的数据支撑。
本文结合永久基本农田储备区划定工作的资料收集分析、划入图斑、储备区建库等关键步骤,以通过上级主管部门审查验收为主要目标,基于ArcGIS Python脚本语言,在ArcGIS 10.2.2平台上通过调用地理处理模块、Openpyxl、制图模块、文本处理等,开发实现了基本农田储备区辅助建库软件,包含了从资料收集整理、图斑提取分析、储备区建库及其他通用的数据处理功能,并以富源县永久基本农田储备区划定为实例应用,简化了划定的工作流程和实现了数据的自动化处理。软件还存在许多的不足之处,还需进一步的研发以满足重大建设项目占用永久基本农田的审查报批、永久基本农田保护监管等的实际需求,并为工作决策提供有力的支撑。