张华剑,郑旭东
(湖南博通信息股份有限公司,410007,长沙)
建立粮食生产功能区和重要农产品生产保护区,是国家作出的重大战略决策和安排,有助于农业和经济社会稳定发展[1]。相关文件[2-3]要求确定地块、片块、两区的空间位置、面积,同时根据实际采集各种详实的属性信息等实施两区划定工作,实现两区信息的精准化管理。两区划定信息与农村土地承包经营权[4]确权成果既属相关又有区别,后者地块信息内容不够全面(缺少种植属性等)。近年来,许多研究者借助大型平台软件和数据库对信息管理系统建设进行了研究。比如,李道震[5-7]等基于ArcGIS、MapReduce等分别设计了高铁基础设施安全监测管理系统、农村土地承包管理信息系统、WebGIS系统,侧重于研究Web GIS和商业数据库的应用;谈树成[8-9]等基于Android平台开发了野外数据采集(或监测)系统,但对其数据的管理和应用方法阐述不多;潘跃等[10]在城市常规公交接驳方式分担率预测模型研究中涉及Access数据库;陈竹安[11]等应用AutoCAD和Excel实现农村房产面积一种测算方法,对数据信息的组织管理论述不多。这些工作提供了有益的开发经验,但所用载体平台和数据库成本偏高且研发所需协作度较高,针对两区划定信息管理系统的研发可尝试使用新平台软件。
为更好地完成两区划定技术工作,提升效率并减少人工工作量及成本,本研究借助AutoCAD平台优势(直观绘改线面及属性、稳定简洁、使用者群体量大、二次开发便捷),结合Access数据库研发两区划定信息管理系统(以下简称两区信息系统),并应用于溆浦县等地实践,同时力图为其他资源型信息建设和管理提供一定参考。
由上节可知,两区划定是以农田为基础对象,确定划定区块的空间信息和系列属性并加以组织管理,如图1所示,某地农田(图中勾画的呈块状图斑类的像元区域)分布在不同的空间位置,农田的种植作物等属性各有不同,农田所属行政管理层别不尽相同,这对实现两区的正确划定、科学组织、管理应用提出挑战。可知,两区划定工作既需建设空间数据又需组织非空间数据(包括管护属性数据[3]),更要建立该2种核心数据的对应关系,涉及采集、编辑、检查、入库等操作。对于空间数据,可在AutoCAD中以图形数据形式进行表达和存管;对于非空间数据,可以字段类型表单进行表达、利用Access数据库存管与维护。换言之,应充分利用AutoCAD ObjectARX、结合Access数据库,开发构建两区信息系统,以期实现集数据采集、录入、划定、检查、成果输出、汇交和入库于一体的功能需求,为农业部门提供准确、详实的区块调查空间数据和属性数据信息及相关图表资料,以辅助决策。
图1 某地农田遥感影像图
ObjectARX[12-14]是AutoCAD中的一种面向对象的编程环境,AutoCAD数控库结构、图形系统和CAD几何造型核心可用ObjectARX包内的类库快速使用,可实时扩展AutoCAD具有的类和功能,实现按需定制功能服务。
Access[15-16]是关系型数据库管理系统,可以对存储在其他应用程序的数据进行直接导入或者链接,同时还具有优秀的处理、汇总、统计、分析数据的能力,能使用表格模板完成相关任务,结合经验使用可以提升效率和能力,且维护成本低。
按设计,两区信息系统构建借助AutoCAD平台,其架构设计沿用AutoCAD平台系统的原有设计。两区信息系统的数据,由CAD图形数据(.dwg文件)、属性数据库(.mdb文件)进行组织。
1.2.1 空间数据组织 两区划定数据库空间要素分层情况和各层要素见对应要求[17],包括两区数据(区、片块、地块、标志牌)等,AutoCAD以图形数据形式进行分层存放,对每个要素赋予相应的编码并在相应的属性结构中填充合格内容。部分空间数据组织示例如图2所示,AutoCAD图形文件组织了多层多类空间数据。对各层空间数据的显示、关闭、复制、粘贴(到原坐标)等操作,可使用AutoCAD原有基本功能实现;对于基于各专题数据的叠加分析、快速加载DOM影像、多源格式数据转化与导入等非常规操作,则需要在原有基本功能的基础上开发新功能。
图2 AutoCAD两区部分空间数据组织
1.2.2 非空间数据组织 非空间数据主要指表格、文档资料以及图件,以二维关系表形式进行组织管理。如1.1节所述,Access数据库能有效满足两区属性数据组织管理需求,对地块属性、面积数值等信息以表单形式进行组织、表达、存储、管理和维护,按人机交互需求将相应属性信息标记在图形上;图片、示意图等存储为文件,采用AutoCAD原有模型、路径和命名方式,结合Access数据库加以链接和管理。依据两区划定属性数据内容[17],在Access数据库中创建两区划定数据表单,如图3所示,Access数据库每个表单的名称为对应属性表名汉字首字母的组合,各表单拥有规范的属性结构和通过AutoCAD界面录入的属性内容。各表单之间通过要素间地理空间位置和关键属性字段的相同属性内容(如编码)进行对应。
图3 Access两区数据库表单
1.2.3 数据链接与存取 数据处理过程中,需要协同存取图形数据和属性数据,因此在打开图形文件进行数据处理之前须正确、有效链接两者。设计方法为:开发“参数设置”功能,该功能按钮打开后的界面截图如图4所示,使用“参数设置”功能时,检查“权属数据库”是否与当前图形相匹配,不匹配的则应在打开正确的图形数据的软件界面下点击“参数设置”功能按钮后点击“权属数据库”后选择正确的库体、直至匹配正确。具体操作中,在AutoCAD的图形界面下利用开发的属性录入功能将属性信息录至Access数据库中,也可将数据库属性信息导至AutoCAD图形要素的“扩展属性”,显示在图形上。
图4 链接图形与属性数据之配置界面
“两区”在空间上包括区、片块、地块3个层级,编码体系包含:两区编码、片块编码、地块编码[3],3种编码之间的联系如图5所示,3种编码都包含“县乡行政区代码”,“两区”包含“片块”“片块”包含“地块”、均为“一对多”的包含关系,应开发县乡村三级行政区设置功能(见图6),作业中需要对图斑等对象进行所属行政区设置以免数据出错及后期统计信息有误。此外,为确保同一编码对象在内外业工作中编码一致、降低错误率,必须对同一对象进行一致性编码。
图5 两区编码间的联系
图6 设置县乡村三级行政区
结合两区划定工作主体任务[3](两区划定—上图入库—成果建档立册)和特点,两区信息系统的主要功能设计大致分为工作底图生产、外业数据录编、数据质检纠错、成果生产输出等多项,主体功能结构如图7所示,按照两区划定任务内容,开发两区信息系统主体功能在内的整套功能模块,满足作业操作需求,解决实操中的编辑问题。
图7 系统主体功能结构
1.4.1 工作底图生产 为满足基础数据的编辑与加工处理需求,在AutoCAD原有基本功能(打开、修改、插入节点等)的基础上,开发:行政区划级别管理与设置(如1.3节所述)、绘制与转换两区地块、绘制与转换两区片块、绘制与转换两区、绘制与转换线、绘制点等实用功能。实际应用中,通过坐标转换、格式转换(如MapGIS→dwg)、DOM/JPG影像加载、数据校正、叠加分析等功能方法,结合综合判断,绘制出片块、地块、重点区域的室内预判界线,并对片块和地块进行预编码,完成“两区”野外工作底图的制作。
1.4.2 外业数据录编 为贴合空间与非空间数据的采集、编辑处理需求,针对行政区域数据、地貌数据、土地利用数据、基本农田数据、承包经营权确权地块数据、两区数据及其他野外采集数据,开发:多项采集与编辑处理功能,包括数据基本编辑(1.4.1所述)、绘制标志牌、修改要素属性、多边形融合、计算两区面积、维护两区和片块代码、填充地块、按村分地块、两区公示图、两区公示表、注记(地块、片块、两区)等。基本用法举例如下。
1)绘制两区地块。将采集的两区地块的区域代码、划分类型、主体经营类型、地块名称、主体经营名称、作物类型、两区类型等基本信息输入到绘完图斑界线后弹出的属性对话框中。
2)转为两区。采集地块有关两区的相关信息如两区类型、划定时间、两区面积等,将所采集的地块转化为两区地块。
3)计算两区面积。在“计算两区面积”的功能中,自动计算所选区域的两区地块的面积大小,根据要求显示所需大小的地块。
4)填充两区地块。在两区地块绘制完成后,用不同的填充颜色表示不同地物类型的两区地块。
1.4.3 数据质检纠错 为实现各类数据的标准化建设,开发图8所示质检纠错功能。图8中:1)图形数据拓扑检查功能,实现点、线、面要素图形检查。可以实现对点要素重叠的检查;实现对线要素的检查(包括相互重叠、自重叠、自相交、悬挂线、碎线、相交等情况);实现对面要素节点重复、相邻节点、相互重叠、碎小图斑、面封闭性等情况的检查。2)属性数据检查功能,可以实现对行政区域数据、粮食生产功能区数据、重要农产品功能保护区数据、标志牌数据的属性检查。实际工作中,应对两区划定数据库规范和成果质检规则做到心中有数,充分理解和应用质检文件的相关要求,把可能出现错误的要点提前做好防错处理。
图8 数据质检功能
1.4.4 成果生产输出 为实现成果信息的汇总与实际应用,开发成果包生成输出的功能,实现填写数据集名称、数据更新时间、采集时间、中央子午线经度以及数据采集负责单位的相关信息后,经统计分析,输出成果包。根据要求[3]制作模板、输出成果图表文件,包括矢量数据、两区外业调查表、片块管护责任一览表、两区农田管护责任书、栅格数据、文档资料、两区图件、面积汇总表格、成果包和其他资料等文件夹资料。同时,系统使用者还可以创建不同的专题地图,实现可自定义专题图的模板并提供专题图预览、导出、打印。
两区信息系统,以AutoCAD和Access为基础,基于AutoCAD ObjectArx 2008/2010、Microsoft Visual C++ 9.0的开发环境,进行开发构建,完成系统界面、数据库搭建与链接(即表的创建、管理与数据库的相关操作)和具体操作模块功能的设计与实现,辅助开展两区划定工作,满足需求。
系统运算与作业流程如图9所示,利用AutoCAD、Access的原有功能和开发的新功能,实现对基础数据、两区划定数据的编辑处理,经过数据质检纠错和公示复核与完善,将形成合格的划定成果包并可输出。本研究开发的两区信息系统,已获软件著作权证书(编号:软著登字3119169号)。
图9 系统运算与作业流程
系统所用算法的伪代码列举描述如下。
1)“搜索每个乡级区域下的两区”的功能实现
获取两区数组的两区个数;
获取乡镇数组的乡镇个数;
将乡镇数组大小动态分配给两区数组;
根据两区个数创建"正在搜索两区..."进度条并显示;
for(遍历两区个数){
设置当前的进度;
for(遍历乡镇个数){
if(如果当前两区面中心点在当前乡镇面内){
两区数组增加当前两区;
终止循环;
}
}
if(当前循环数大于等于乡镇个数){
获取当前两区的实体句柄;
将当前两区的实体句柄赋值给字符变量;
将上述字符变量内容增加至"两区不在乡级区域内"的报错列表;
}
}
删除进度条;
2)“维护地块面积属性”的功能实现
获取地块数组的地块个数;
for(遍历地块){
获取当前地块的面积值;
将当前地块的面积值精度保留至小数点后2位;
获取新的面积值;
将新的面积值赋值给当前地块的"两区地块面积"属性;
将新的面积值(m2)转换成亩;
将新的面积值(亩)精度保留至小数点后2位;
获取新的亩积值;
将新的面积值赋值给当前地块的"两区地块面积(亩)"属性;
if(当前地块的亩积值<10.0){
获取当前地块的实体句柄;
将当前地块的实体句柄赋值给字符变量;
将上述字符变量内容增加至"地块面积小于10亩"的报错列表;
}
}
将两区信息系统应用于湖南溆浦、洪江、保靖、衡东、花垣、凤凰等十余个县区的两区划定项目数据建设,以溆浦县项目为例简述两区信息系统应用情况及成效。
溆浦,“江南水果之乡”,朱红桔、鸡蛋枣、金银花、菊花等资源丰富,水稻、油菜、棉花、甘蔗等作物盛产,县内农田多分布于丘陵地带、分布零散[18]。结合两区划定工作要求和省级任务指标[19],在收集地区土地利用现状年度变更调查、土地利用总体规划、永久基本农田、高标准农田建设、承包经营权确权、农业耕地质量等级、全县接合图表等已有成果数据的基础上,溆浦项目采用两区信息系统的功能辅助完成多项工作,包括:1)通过工作底图生产模块功能,完成正确可用的基础数据筛选与处理,如不同格式数据接收转换、相关基础专题数据的预处理、检查处理、行政区和分幅等维护、两区空间数据预生产、外业调绘工作底图编制;2)通过外业数据录编模块功能,完成野外采集数据的编录与修改,如两区划定数据修改、数据维护、分布图制作,图10中,两区地块的属性信息通过功能界面录入,并同步保存至数据库对应表单中;3)通过数据质检纠错模块功能,完成空间数据和属性数据的检查与修改,如计算两区面积,图11中,地块面积计算后弹出左侧对话框,直观显示每行结果项可供逐一查看:双击鼠标,即在右侧的显示区将图形跳转放大到目标地块并双闪提醒,方便综合判断和相应处理;4)通过成果生产输出模块功能,完成数据汇总分析与人机交互管理,如数据统计、数据汇交、入库等。图12展示利用两区信息系统制作完成的某村两区划定成果数据,以村影像为底图、绘制市县乡村四级行政界及县乡政府驻地要素、调绘所得的保护区和功能区,并细分该村内水稻、油菜籽及其复种以及沟渠等田间工程设施等,图面地块同时填充相应种植属性符号和地块编号、亩积等,划定成果详实、表达直观、方便复核。
由图10~图12和实际操作可得,系统界面简洁、人机交互性较强、操作体验较好,实现数据处理。经统计,该项信息建设工作完成粮食区划定面积逾2.533 万hm2,农产品区划定面积逾1.133 万hm2,满足工作要求。借助构建的两区信息系统,收获了通过部质检软件检查的数据库成果和通过各级检查验收的项目成果。同时,通过系统的研发,特别是对空间数据的编辑处理类的功能开发和对数据属性交互管理的功能实现,增强了AutoCAD软件的应用能力和范畴;系统研用成本相对其他大型软件平台的二次开发而言较低。
图10 绘制两区地块
图11 计算两区面积
图12 某村两区划定成果数据
针对两区划定数据信息建设问题,本研究开展了利用AutoCAD和Access构建两区信息系统的开发研究,实现了:系统简单易用、使用效益较高、体验较好;顺利应用和完成实际项目,并实现数据生产便捷化、成果制作标准化、自动化和信息统计服务,取得较好的经济、社会效益;对资源型信息管理系统建设的研究补充;对AutoCAD软件功能的强化升级。本研究在一定程度上提高两区划定作业效率、成果质量和数据复用效能,但在划定成果数据的价值挖掘方面有待加强。未来可在保障信息安全的基础上,运用3S集成技术、前沿IT技术和优秀算法,更优地建设数据、更多地挖掘信息、更好地发挥应用价值。