美章网 资料文库 信息空间查询的农业经济论文范文

信息空间查询的农业经济论文范文

本站小编为你精心准备了信息空间查询的农业经济论文参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

信息空间查询的农业经济论文

1系统设计

1.1系统框架

按照软件工程的设计思想,本系统包括以下三个层次:表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL),这样设计有利于系统的开发、维护、部署和扩展。表现层面向用户,为其提供人机交互界面,同时显示数据以及接收用户输入数据[10]。业务逻辑层位于表示层和数据访问层的中间,是整个体系的核心,主要完成业务规则的制定、业务流程的实现以及业务需求的设计,在数据交换中起一个承上启下的作用。数据访问层直接操作数据库,完成数据的增加、删除、查找和修改。本系统的数据库采用SQLServer2008R2(图1)。系统功能分为地图基本操作、数据查询、统计排名分析、专题图定制以及发展预测分析等模块。地图基本操作实现了地图导入、图层显示、地图浏览等;数据查询模块完成数据查询和统计分析;统计排名分析提供选择年份内的农业指标排名查询以及地图和农业指标数据的联动;专题图定制模块自动生成用户设置条件下的农业指标分段专题图;发展预测分析模块通过调用MATLAB函数,采用灰色系统方法预测未来农业发展情况。

1.2数据库设计

数据是河北省县域农业经济信息空间查询与辅助决策系统的基础,完整有效的数据库设计是后续系统分析的前提条件,本系统数据库包括农业经济信息数据库和地理空间数据库。

1.2.1农业经济信息数据库农业经济信息数据库的基本对象是河北省县域名称和农业指标数据,数据来源于中国农业部农村经济基础资料数据库。原始数据采取二维表形式按地区分年份存储,数据结构为年份、行政代码、地区、农业指标1、农业指标2、……、农业指标22,这种存储方式存在很大数据冗余,需要重新设计表格结构,最终通过SQLServer2008存储和管理。(1)核对县域名称及行政代码。依据国家统计局公布的县级行政区划代码,参考河北省县域行政区划图中地区名称和行政代码,逐个核对农业经济信息二维表中相关数据,保证二者完全匹配。(2)添加农业指标编码。系统中县域农业经济指标共22项,为区分各项指标,方便后续查询和分析,特采用4层共12位编码(如图2所示)。前两位表示县域,用“XQ”;接着5位表示指标类别,例如粮食面积指标编码中第二到七位用“LS006”表示,其中前两位“LS”代表粮食,后面三位是该类的序号;最后5位是指标字母简写,位数太短用“0”补充,例如粮食面积后5位用“LSMJ0”。(3)整理数据表结构。为避免大量数据冗余,将原始二维表划分成三个表格:河北县域信息表(行政代码、名称、地区类型、地区简介)、农业指标信息表(指标编码、名称、年份、指标类型、指标单位)和数值表(ID、年份、行政代码、指标编码)。前两个表格容易实现,最后一个数据表中主键ID=年份+行政代码+指标编码,为提高入库效率,借助C#语言编写了一个数据处理工具,很方便地得到该结构表格。(4)数据入库。通过SQLServer导入导出向导,将三个excel表格导入数据库。最终数据库中存储了河北省145个县域从1996~2011年22项农业指标,例如粮食产量、耕地面积、水产品总产量、总人口等。

1.2.2地理空间数据库地理空间数据库存储的是1:400万的河北省县域行政区划图,坐标系采用Krasovsky_1940,以矢量格式存储在扩展名为udb的一种文件型数据库。县域行政区划图记录147个县域边界,属性数据表格字段包括编号(FID)、形状(面)、记录者编号(UserID)、县域名称(NAME)、所属省份(PROV)和行政代码(CNYT_CODE)。

2系统关键技术和方法

2.1组件式GIS技术组件GIS又称ComGIS,是指采用组件式软件和面向对象技术的GIS系统。组件GIS的设计思路是将GIS的各大功能模块划分为几个不同的组件,每个组件实现特定的功能,GIS组件之间以及和其他非GIS组件之间通过一些可视化软件开发工具集成在一起,从而整合成一个GIS基础平台[11],具有上手快、开发便捷、功能强大的特点。本次系统开发主要利用Su-perMap平台中的Workspace和MapControl组件。

2.2布局控件AdvantageInfragistics公司一直专注于为全世界客户提供适用于各种平台环境下的、高质量的表现层应用软件及控件[12]。其开发的NetAdvantage拥有完整的表示层组件集,Windows应用程序、XMLwebservices和web解决方案等的界面均可以通过该组件集来构建。另外,NetAdvantage控件采用了认可度很高的应用程序(MicrosoftOffice、Windows和Outlook)中的技巧和用法,让使用者很容易设计出美观实用的用户界面。本系统使用Ne-控件,便于设计出灵活、美观的人机交互界面。

2.3MATLAB与C#混合编程技术MATLAB具有较强的数值分析与运算能力,在工程计算等领域中应用十分广泛,然而其不能脱离MATLAB工作环境,并且在人机交互界面方面存在很大不足[13]。微软的.NET环境能弥补这一缺点,将其引入到C#编写的系统中会大幅度减少代码量,并且提高计算精度和效率[14],二者结合具有重要意义。MATLAB软件中有一个组件编译工具———COMBuilder,能够方便地制作出可供.NET调用的组件,操作流程如图4所示[15]。

2.4灰色系统模型灰色预测是一种对含有不确定因素的系统进行预测的方法,其通过鉴别系统因素之间发展趋势的相异程度,即进行关联分析,并对原始数据进行分析处理来寻找系统变动的规律,生成有较强规律性的数据序列,然后建立相应的微分方程模型,从而预测事物未来发展趋势的状况

3系统实现

3.1地图基本操作该模块借助SuperMapObject6R中的MapControl和Workspace组件实现了地图的导入、放大、缩小、移动、全幅显示、撤销、刷新、选择等操作;同时通过文本框填写查询条件实现河北省县域空间信息查询,分析结果可导出成jpg格式。

3.2数据查询此模块实现农业经济信息查询功能,可支持用户通过时间(1996~2012年)、空间(河北省各县域)和农业指标等三种方式综合查询河北省各县域农业经济数据。查询结果显示在数据表格中,同时动态选中数据范围可实现统计分析,分析项有总和、平均值、最大值、最小值、单值个数、方差、标准差等。结果如图5所示。

3.3统计排名该模块通过树状列表的方式提供河北省各地区名称、农业指标和年份等信息,用户勾选条件,设置排名参数,即可得到分析结果。例如决策者想了解河北省2011年小麦产量最大的10个县,可在树状列表中勾选河北省根目录、小麦产量和2011,排名设置中选择“<”和“11”,点击分析按钮获得分析结果。查询到的地区在地图中高亮度显示,展示其空间位置分布。

3.4专题图定制本系统中专题图定制模块以河北省县域行政区划图各地区为分析对象,根据用户选择的指标对象和年份动态查询出各地区特定条件下的农业经济信息,并自动生成专题图,该专题图清晰地展现农业经济数据的空间分布特征,为政府管理部门决策提供科学依据。生成的专题图属于分段专题图,分段数量根据对象数目确定,范围为3~6。专题图自动按数值大小设置颜色深浅,白色表示无数据地区,图例说明每种颜色代表的含义,用户从视觉上可以快速判别出整个河北省各地区发展状况。另一方面,每一个地区详细的农业经济信息自动显示在数据表格中,方便用户查阅。

3.5发展预测分析该模块采用灰色系统预测方法。通过用户选择的农业经济指标,从数据库中自动提取分析对象历年数据,经用户手动设置检验年份后(例如近3年),系统动态分析出预测结果,包括年份、实际值、拟合值、相对误差和预测值。使用的关键技术是MATLAB和.NET互操作技术。(1)编写并调试MATLAB函数,确保其正确使用;(2)通过MATLAB的deploytool工具编译上述m文件,生成动态链接库(dll);(3)VS中调用MATLAB相关dll。除(2)中动态链接库外,还包括数据转换文件(MWArray.dll);(4)C#语言编码,实现预测功能。发展趋势分析是依据粮食产量历年数据信息,借助GM(1,1)预测方法动态建模,系统自动显示出预测精度和未来若干年预测结果,分析结果可导出成EXCEL格式。该模块仅作为分析工具使用,用户可以查看预测误差,并不能保证预测任何对象都能达到精度要求。以大名县小麦产量为例,利用灰色系统方法分析1996~2010年数据,其中最近三年做检验,预测未来五年发展情况。从图7中不难看出,相对误差最大为3.36%,低于5%,满足精度要求。

4结束语

设计与建设河北省县域农业经济信息空间查询与辅助决策系统是为提高农业经济信息服务水平,为农业生产部门提供一个可扩展的辅助决策平台,现仅在河北尝试,后期向全国其他地区移植。系统利用GIS分析和处理空间数据的特点,弥补了传统农业经济信息管理过程中缺乏空间信息的不足,实现了从时间、空间和农业指标等三维角度查询农业经济信息、动态可视化出图以及分析农业发展趋势。本研究虽然取得了一定的成果,但在应用过程中也存在一些不足,例如:系统暂时只局限于单机版,空间分析功能不够强大。随着信息技术的不断发展以及研究的日益深入,这些问题必会逐步解决。

作者:张杰刘丹诸叶平岳慧丽单位:中国农业科学院农业信息研究所农业部农业信息服务技术重点实验室