孙修飞 何方
摘 要:耕地是人类最重要的自然资源和农业生产资料,是关系到人类赖以生存和发展的物质基础。为了实时对耕地质量进行监测与分析,研究建立开发以ArcGIS Engine为基础的耕地质量预警系统,实现耕地质量及其养分的评价、预警等功能,从而为耕地质量管理者提供强大的信息支持和决策服务,以便及时采取针对性的防范措施,改变耕地质量恶化趋势,避免耕地质量持续下降。
关键词:ArcGIS Engine;耕地质量;预警;评价
中图分类号 S159.2 文献标识码 A 文章编号 1007-7731(2016)10-0135-04
Design and Implementation of Early Warning System for Cultivated Land Quality based on ArcEngine- Taking Wuhu County as an Example
Sun Xiufei et al.
(School of Resources and Environment Anhui Agricultural University,Hefei 230036,China)
Abstract: As the most important natural resources and agricultural production materials,the cultivated land is related to human survival and development of material basis. In order to monitor the quality of cultivated land in real time and analyze the change of cultivated land quality,this study has established the early warning system for cultivated land quality based on ArcEngine,which could provide strong information support and decision-making services for the managers,so as to take timely preventive measures for the cultivated land quality deterioration and avoid the continued decline in the quality of cultivated land.
Key words:ArcGIS Engine;Quality of cultivated land;Early warning;Evaluation
1 引言
自2005年开始,国家开展耕地地力评价工作以来,全国大部分县市都进行了耕地地力评价工作,基本确定了现有耕地的等级水平,为安全高效的粮食生产奠定了坚实的基础[1]。但是耕地质量评价工作多是阶段性的,评价周期较长,不能很好地对耕地质量进行实时监测和了解耕地质量变化情况。在耕地地力评价工作结束之后,测土配方的采样点每年都会进行采样化验,因此在近几年内积累了大量的测土化验数据。在测土配方采样点数据采集的基础上,有必要了解动态的耕地地力等级情况,并且与较早年份进行比较,获得等级的变化趋势,为以后的耕地地力等级变化趋势提供预警参考。在耕地等级的变化上能分析耕地等级的变化原因,找出影响因素,取长补短,为提高耕地地力等级做出必要的决策。
预警概念的产生发源于资本主义经济危机的周期性[2]。最早研究预警的研究者是法国经济学家Alfred Fourile,他通过对经济进行气象式研究,最先阐述了监测预警思想[3]。到20世纪40年代初期,随着雷达技术和计算机技术的诞生和发展,信息技术力量得到提升,它们被利用到战争中,从此诞生了雷达预警系统,并正式提出了预警系统的科学概念[4-6]。由于人类对信息的迫切需求,自预警系统提出后,科学的预警思想和方法就得到了快速和广泛的传播,预警的思想广泛应用到经济、社会、人口、资源、环境等领域。
目前,在预警方面研究较多主要集中在土地利用的动态监测与宏观经济预警、农业经济预警以及土地资源等方面,在这些领域,质量预警的方法和理论相对比较成熟[7-9]。然而对于耕地预警的研究较少,特别是在耕地质量预警系统的研究方法上几乎是空白的。在现有的研究当中,大部分研究内容集中在耕地总量的预警以及耕地预警的理论的提出[10]。
耕地质量预警的理念就是使用最新的采样数据,对耕地进行耕地质量的更新评价,获取实时的耕地地力等级情况,并且可以与早期的耕地质量进行对比分析。由于采用的耕地评价方法与耕地地力评价项目是相同的,所以就有了比较的可行性。在对比的结果上可以清晰的判断是某项评价指标变化较大,从而针对变化的因素对耕地进行针对性的改进。
2 系统设计
2.1 系统功能模块设计 根据项目要求和业务需求分析,耕地质量预警系统的主要功能可分为耕地质量预警,耕地养分预警,耕地质量评价,耕地养分评价分析,测土配方施肥采样点数据的管理,以及数据查询、统计功能。
2.1.1 耕地质量预警 主要是根据选定年份的采样点,对地块重新进行地力评价,再与原地力等级进行叠加分析,生成地力等级变化专题图与地力等级变化分析表。可以快速定位到地力等级下降的地块,并分析地力等级变化的原因。从而达到预警的效果。
2.1.2 耕地养分预警 根据耕地养分的评价图,对选择养分和时间范围内,对比得出养分等级的变化大小,并分析等级变化的原因。
2.1.3 耕地质量评价 采用生产潜力评价用来生成地力等级图的方法,在进行生产潜力评价前,依据需要评价单元图,评价所需的层次分析模型,隶属函数模型进行评价。
2.1.4 耕地养分等级评价 通过采样点数据内插值,得出养分的分布图,然后根据用户自定义的分级标准对耕地的养分等级进行判别,实现耕地养分含量定级。
2.1.5 新增耕地质量评价 针对通过土地开发、土地整理及土地复垦方式而新增加的耕地,根据新增耕地的土壤属性,采用与周边土壤相同的评价体系,判别新增地的质量等级。
2.1.6 土壤数据管理 包括数据查询、数据导入、数据处理、自定义分级指标及用户管理4个方面。
2.2 系统的总体框架设计 在系统功能和系统性能建立需求分析的基础上,根据系统设计原则和软件设计目标,设计了如图的耕地质量预警系统总体框架结构。系统的总体框架包括3层,分别是数据层、中间层、和应用层。如图1。
3 系统开发实现
3.1 组件式GIS 组件GIS的基本思想是将地理信息系统进行模块化管理,将主要的几个功能模块重新拆分为数个控件来完成,每一个控件是完全独立的,并且控制完全不同的功能[11]。GIS软件控件之间的关系就像一堆各种各样的积木一样,通过他们不同的组合方式,就可以让它们实现不同的功能。现行广泛使用的组件式GIS开发是使用ArcGIS Engine,它是一个完整的嵌入式GIS组件库和工具库,用于创建自定义应用程序[12]。利用ArcGIS Engine,开发人员可以将ArcGIS的处理功能嵌入到具体的应用软件,将用户从传统ArcGIS Desktop中解放出来,可以不依赖Desktop运行。
3.2 开发环境 在开发环境上,结合ArcGIS Engine,最终选择了以.NET4.0为平台Visual Studio为集成开发环境,以C#为系统开发语言进行系统开发。Visual Studio是微软.NET平台上的一个功能强大的、集成多种开发语言的软件开发工具,通过该开发工具,绝大部分编程语言都可以实现快速开发应用程序。Visual Studio为开发语言提供了一个统一的用户界面开发环境,这些都极大地降低了开发中不同开发语言在编写时的差别[13]。C#语言是微软公司针对.NET平台推出的一种新型编程语言,继承了多种开发语言的优点。
3.3 系统开发
3.3.1 系统主界面 界面是一个软件的开始,是用户使用中直接接触的关键要素。软件的界面设计要尽量能满足软件使用者的基本需求,体现软件的简单操作易用性。本系统在设计时采用的的是WPF技术,在设计时可进行可视化的调整,制作过程简便高效,另外界面设计的结构遵循了行业的标准,具有统一性。软件界面设计中应遵循的规则有:简便的用户操作;用户操作可逆性;风格一致性;具有信息反馈和错误提示。本系统的操作主界面设计如图2。
图2 耕地质量预警系统主界面设计
3.3.2 预警功能开发示例 以耕地质量预警功能的开发示例,从系统代码层面分析功能的实现。耕地质量预警首先是选定预警的年份,使用该年份的采样数据对地块重新进行耕地质量评价,评价结果与基准对比年份图层进行叠加分析,生成耕地质量等级变化专题图与质量等级变化分析表。通过属性查询快速定位到耕地质量等级变化的地块。通过对比地块详细属性,可以分析质量等级变化的原因,判断耕地质量变化趋势,从而达到预警分析的作用。关键部分代码如下:
{var results=CoreApp.Workspace.ResultWorkspace.Results.Where(c=>c.QualityJudgeFeatureClass!=null).ToList();
foreach(var result in results)
{_quailtyJudgeNameAndResultDics.Add(result.QualityJudgeFeatureClass.AliasName,result);}
BaseLayerList=_quailtyJudgeNameAndResultDics.Keys.ToList();}
{var featureClass=new LandFeatureClass(_quailtyJudgeNameAndResultDics[BaseLayer].QualityJudge FeatureClass)
List
耕地质量预警系统不仅可以判断耕地质量变化的范围和变化量,而且可以分析引起耕地质量发生变化的因素。通过分析比较不同年份的质量评价各项评价因子的隶属度,可以跟踪示的找到评价因子隶属度的变化。耕地质量预警是在宏观方向的对比分析,可以了解整体耕地质量的动态,而评价因子隶属度的比较是在微观方面的分析,通过对比隶属度可以细化到每一个影响耕地质量等级的因子,得出评价因子的变化情况(图4)。
4.2 新增耕地质量评价 我国的耕地人均耕地面积属于匮乏阶段,国家重视新增耕地建设和质量。土地开发、土地整理及土地复垦都是增加耕地的方式。本系统可以根据新增耕地的土壤属性,采用耕地质量评价相同的评判体系,判别新增地的质量等级,保证了新增耕地等别的评价和保持评价的标准一致。新增耕地质量评价可以根据新增地块的范围坐标,通过创建新增耕地图斑,把新增耕地地块添加到数据库中。在通过新增耕地质量评价工具,输入新增耕地在耕地质量评价中参与评价的各项指标,可以自动计算新增耕地的质量等级。系统还设计了其他的功能,如耕地质量评价、耕地养分预警、耕地养分评价,采样点的更新等功能,由于篇幅的限制,本文就不展开讨论了。
5 结论
本研究通过在芜湖县建立耕地质量预警系统,在使用过程中发现,该系统具有良好的操作性和优秀的数据处理功能,系统界面设计简约,软件的功能易于操作者掌握,结果的查询和输出简便快捷,体现了基于GIS开发软件的耕地质量预警系统在信息管理上的方便性,可为管理者提供实时的耕地养分和质量信息,提供强大的决策信息支持,具有重要的应用价值和现实意义。
参考文献
[1]张满红.广东省耕地资源保护利用现状和对策[J].广东农业科学,2010(2):210-212.
[2]刘艳霞.耕地预警研究进展[J].黑龙江农业科学,2009(4):142-144.
[3]李启宇.四川省耕地资源预警研究[D].成都:四川农业大学,2006.
[4]孙旭丹,张立亭,陈竹安,等.土地利用预警研究进展[J].广东农业科学,2011(12):170-172.
[5]Meadows D H.The Limits to Growth.London:an Books.1972.
[6]Goldsmith E.A Blueprint for Survival.London:Ecosystems LTD.
1972.
[7]吴延熊.区域森林资源预警系统的研究[M].昆明:云南科学技术出版社,1998.
[8]陶骏昌.农业预警概论[M].北京:北京农业大学出版社,1994.
[9]王军宁.运用灰色系统理论建立耕地预测运动模型[J].青海农技推广,1999(2):41-43.
[10]饶应祥,陆红生,徐勋光,等.如何测算人均耕地警界值[J].中国土地科学,1999,13(6):30-32.
[11]谭仁春,蔡忠亮,乌仔国锋等.组件技术在GIS开发中的应用[J].四川测绘,2003,26(1):24-27.
[12]吴玮,李小帅,张斌.基于ArcEngine 的GIS开发技术探讨[J].科学技术与工程,2006,6(2):176-178.
[13]刘奇,林岗.基于Visual Studio 2010的UG二次开发研究[J].自动化技术与应用,2015(01).
(责编:张宏民)