抚顺市粮食作物产量预报平台的设计与实现

时间:2022-10-11 08:51:40

抚顺市粮食作物产量预报平台的设计与实现

摘要 基于抚顺市历年的气象资料及所属三县粮食、玉米、水稻的趋势产量和播种面积资料,以粮食作物产量模拟预测方程为依据,利用Visual Basic语言设计抚顺市粮食作物产量预报平台,实现方便快捷地查询全市不同地区不同作物在不同年份的产量预报值,同时可根据相关影响因素输入订正值,得出粮食作物单产和总产预报值,从而提高粮食作物产量预报的准确率。

关键词 粮食作物产量;预报;设计;辽宁抚顺

中图分类号 TP311.52 文献标识码 A 文章编号 1007-5739(2016)14-0334-02

粮食产量不仅关系国家粮食安全,关系农业、农民增收,还关系国民经济相关部门科学发展,因此科学预测粮食产量意义重大[1-2]。抚顺市气象局科研项目《抚顺市粮食作物产量预报业务系统》根据1961―2013年的气象资料和粮食作物产量资料,利用不同方法对粮食作物的产量进行分离,分别得到其趋势产量和气象产量;并对各自的影响因子进行分析,选出气象产量主要影响因子,建立粮食作物产量的模拟预测方程;依据此方程,采用Visual Basic语言建立粮食作物产量预报平台,精细化粮食作物产量预报,分县区预报玉米、水稻等作物单产、总产,实现粮食作物产量预报的可视化操作,以提高粮食作物产量预报的方便性和准确率。

1 平台的设计

1.1 设计依据

以历年气象要素资料作为自变量x的数据来源,依据表1所示方程计算出各地区不同作物在不同年份的气象产量;再依据各种综合因素设定订正值,从基础资料库中检索到对应年份和地区的趋势产量和播种面积,并依据公式“预测单产=趋势产量+订正值+气象产量”以及公式“预测总产=预测单产×播种面积”,分别产生某年某地区某种作物的单产和总产,显示在平台窗体中。

1.2 设计语言

该平台采用Visual Basic程序设计语言,在程序中调用Excel来实现各种功能。VB是一种可视化的,面向对象和采用事件驱动方式的结构化高级程序设计语言,Excel在表格方面有着强大的功能,在VB应用程序中调用Excel,实质是将Excel作为一个外部对象来引用,由Excel对象模型提供能从VB应用程序内部来程序化操纵的对象以及相关的属性、方法和事件。用VB编写直接控制Excel操作的程序,即用VB的OLE自动化技术获取Excel的控制句柄,从而直接控制Excel的一系列操作[3-4]。

1.3 功能设置

1.3.1 计算气象产量。用户根据需要选择地区、农作物、年份,点击确定后,系统会生成相应的气象产量显示在窗体中。

1.3.2 计算单产。根据生成的气象产量和用户输入的订正值,系统会生成相应的单产预报值显示在窗体中。

1.3.3 计算总产。根据预测单产值,系统会调用数据资料中的播种面积,从而生成总产预报值显示在窗体中。

1.3.4 保存结果。根据用户需要,将上述预测产量值以文本的形式保存,方便查看。

2 基于VB的功能实现过程

2.1 平台主界面建立

平台整体界面为简洁明了,易操作。由于所属县及农作物类别较少,所以分别采用一组OptionButton控件即可满足需要,又可让用户对选项一目了然;年份选择采用一组ListBox控件,其他则采用TextBox控件来显示系统运行结果。主界面如图1所示。

2.2 产量预报程序

以抚顺市玉米气象产量预报为例,打开抚顺市.xls文件,读取方程所需数据,计算气象产量预报值,程序如下[3-5]:

k=1

If Option2(0).Value = True And Option1(1).Value = True Then//选定地区和农作物类别

xlsApp.Workbooks.Open("d:\抚顺\抚顺市.xls")//打开文件

Do While xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,1) ""

If xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,1).Value = List1.List(List1.ListIndex)Then//读取所选年份的对应数据,计算

X180=xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,181).Value

X41=xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,42).Value

X215=xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,216).Value

X238=xlsApp.ActiveWorkbook.Sheets("气象资料").Cells(k,239).Value

Text7.Text=Int(-7957.674 + 44.209 * X180 + 40.506 * X41 - 3.229 * X215 - 20.817 * X238)

Exit Do

End If

k = k + 1

Loop

End If

3 结语

该平台充分利用了现有气象资料及科研课题研究成果,将农作物产量预报方程转化为可视化操作平台,提高了农作物产量预报的方便性、快捷性和准确性,提升了农气服务质量。自2014年投入试运行以来,预报效果较好,预报准确率达到95%以上,未来还将根据需要,进一步完善平台项目,更好地服务于农业生产[2]。

4 参考文献

[1] 高峰,赵秀英,李晓亮.松原市粮食产量预报[J].吉林气象,2013(4):42-43.

[2] 裴秀苗,张高斌,褚红瑞.运城市粮食产量综合预报模型[J].安徽农业科学,2014,42(17):5583-5586.

[3] 胡延东,吴青林.基于Excel的VB报表制作技术[J].电脑与电信,2008(11):68.

[4] 叶加财.在VB应用程序中调用Excel对象[EB/OL].(2013-01-18)[2016-05-24].http:///newsDetail.aspx?id=242.

[5] 孙艳,耿亮,伯燕.基于VB的织物设计预测系统开发[J].价值工程,2011(29):52-53.

上一篇:农药安全问题对农产品质量安全的影响及对策 下一篇:武术基本功和基本动作对技能技术的作用研究