罗锦华,刘 畅,刘 尧
(盘锦市气象局,辽宁盘锦 124010)
现代农业的快速发展对农业气象测报精度与业务人员服务质量提出了更高的要求,通过获取不同基层观测台站的业务人员工作基数进行计算与统计分析,并将统计结果与业务软件进行对接,能够为业务质量考核与评价提供重要参考依据。
基于农业气象业务类型与具体内容进行系统数据流框架的设计,包含以下4 个层级:1)数据源层,包含农业气象观测数据、地理信息系统(GIS)数据、遥感系统(RS)数据、观测基数参数及基数报表电子模板等数据及文件;2)模型方法层,设有数据访问接口、统计分析算法模型、基数统计报表组件等模块;3)数据分析层,支持工作基数统计分析、专题图/报表制作;4)目标用户层,由各基层台站业务人员、管理人员及省市级管理人员组成。
基于层间相互协作、层内自主处理原则进行系统逻辑架构的设计,主要划分为以下4 个层级:1)基础层,用于提供软件设计与运行的平台环境,包含.Net 框架开发包、Oracle/SQL Server/MySQL 数据库、ArcGIS Engine组件及桌面控件等;2)数据层,用于完成数据存储与分类管理,将不同类型农业气象数据与工作基数分别存储在主数据、临时数据、运行管理及业务统计等不同存储区;3)组件层,用于提供基础功能性操作、供各系统进行功能模块的调用,可依据农业气象数据、专业算法、空间分析及数据访问等不同基础类库实现系统功能;4)应用层,用于与用户建立业务层面的直接交互,提供农业气象测报数据、工作基数统计分析结果、业务人员考核结果查询等应用服务。
1.2.1 插件框架技术
该技术主要利用插件进行信息配置,遵循相关规范添加程序集,用于描述、定义插件信息,辅助主程序实现对插件的动态加载[1]。针对插件结构组成进行细分,包括以下4 个部分:1)应用程序框架,负责提供插件调用接口,根据工作基数统计需要进行插件的调用,实现具体功能;2)资源库,对所有插件应用程序进行集中管理,辅助插件业务逻辑的实现;3)公共函数库,配置动态链接库DLL,支持调用插件及应用程序框架;4)插件规范,基于标准规范进行插件接口、插件调用环节的约束条件设计。
该系统基于C#进行插件式框架的开发,利用该插件完成农业气象灾害数据统计、工作基数统计等子系统的开发,在主界面窗口完成各插件、菜单栏、状态栏的加载与显示,用户可利用插件执行具体操作,并且基于统一接口规范进行协作与复用,保证系统使用与界面显示效果的一致性。
1.2.2 数据库技术
该系统采用关系型数据库进行数据管理与分析,依照时间序列进行数据查询与统计分析,采用多种存储方式汇集不同主体实现数据共享,支持Oracle、SQL Server及MySQL 三种类型的数据库,配合数据分区、冷热备份等技术手段作为支撑。在数据库设计上,本系统中主要包含以下2 种数据库。
1)农业气象观测资料库。该数据库由农业气象站点索引表.mbd、农作物生育情况.mbd、土壤水分状况与类型.mbd、自然物候特征.mbd 及畜牧气象.mbd 共5 种数据库文件组成,在各数据库内包含若干数据表,涵盖农业气象观测信息[2]。在数据库设计环节,需结合不同观测数据库类型与内容进行相应要素字段的定义,并保留通用字段,完成数据库结构设计。以农作物生育情况观测数据库为例,“ID”通用字段的类型为长整型,精度为32 Bit,实行自动编号;“记录表编码”类型为文本,精度为13 字符,有索引,非空;“读取状态”类型为逻辑,精度为4 Bit,需编辑状态;“修改次数”类型为长整型,精度为32 Bit;“首次修改时间”“最后修改时间”类型均为日期/时间,表现为yyyy-MM-dd hh:mm:ss 形式。
2)测报工作基数参数库。该数据库包含观测工作基数、软件基数等项目,用于存储相关参数配置结果,为日常气象测报业务管理工作提供数据支持。以观测基数的数据表结构设计为例,“观测类型”属于文本,精度为20 字符,有索引,非空;“项目名称”“数据表”均属于文本,精度为100 字符,有索引,非空;“查重字段列表”“分析字段列表”均为文本,精度为255 字符,非空;“基数”属于双精度,精度为64 Bit。在工作基数统计分析上,基于SQL 查询命令进行工作基数统计,面向不同类型数据库进行参数配置,调用相应参数与表格进行分析控制,便于适应业务变革需要进行系统应用扩展[3]。以辽宁省2020 年冬小麦发育期的气象观测基数统计分析为例,将分析代码设计为:
基于上述过程完成2020 年冬小麦发育期内观测数据的统计,判断数据输入、存储环节的有效次数,对照基础分数合算结果进行观测基数的计算与分析。
农业气象观测业务涉及农作物、土壤水分、自然物候及畜牧等项目内容,在软件业务范围逐渐拓展的背景下,还囊括农气测报软件的应用、月统计报表制作等业务内容,对软件系统及功能模块设计提出更高要求。在软件系统界面设计上,主要划分为以下5 个项目类型:1)农气测报基础数据,包含观测基数、农气报表基数、农气观测错情、农气月/年报表等统计项目;2)农气软件应用项目,由基数统计、错情统计、报表制作3 个模块组成;3)土壤水分自动测报项目,包含测报结果、质量考核情况等内容;4)三表合计报表项目,由月报表、年报表2 大类组成;5)系统管理模块,包含用户账号信息、工作台账记录与维护等。在系统开发环境设计上,采用Windows XP 操作系统、基于C#语言、选用Microsoft Visual Studio 2010 工具进行软件开发,利用Access 组件支持数据库管理,将观测数据、工作基数统计结果以.xls报表格式导出。
在系统实际操作环节,进入系统后双击界面、打开观测模块的窗口,以农业气象作物观测模块为例,程序自动读取指定月份的农气作物观测信息,根据农气台站选定观测员,录入观测员在相应子项上的观测次数,由系统程序自动统计与计算,将基数标准与观测次数相乘获取到基数小计结果,并将统计结果保存[4]。同时,当切换观测月份或观测员时,系统将自动切换观测基数统计结果,将各模块基数汇总即可获得工作基数合计结果,为质量考核提供参考依据。例如,在农气观测错情模块的统计分析上,可将其划分为责任性、漏测、观测等具体类型,在各类型中包含若干分项,将错情标准与错情次数相乘获取到错情小计结果。由观测人员在系统界面相应位置输入错情数量,系统将自动运行相应程序算法进行错情统计,并生成月度、年度报表,为质量考核提供资料。通过在界面工具栏中点击检索模块,即可生成相应台站中各观测人员的年度质量报表,对照质量考核表进行质量基数梳理与统计,有效提升质量考核工作效率。
将该系统应用于辽宁省气象局进行观测人员工作基数与软件操作基数的统计分析,获取辽宁省水稻、玉米、大豆及高粱等农作物的生育状况、土壤水分、自然物候及畜牧气象等观测记录,利用软件操作分别对上述工作基数进行统计分析,并与观测人员手工测算的观测基数进行比较分析[5]。该系统经由统计分析后自动生成辽宁省2020 年3 月软件操作基数和全站年度农气软件操作基数,与观测基数、观测人员测算结果保持一致,说明该系统的统计分析结果具备较高的准确度,能够为农气业务观测质量评估提供重要参考依据。
当前由国家气象中心开发的农业气象测报业务系统软件已于全国各省市实现全面覆盖,为农业气象观测业务的数字化转型提供平台支持。通过从现有业务系统中获取相关观测数据与业务执行信息,能够有效提升数据核算环节的工作效率,实现对观测业务工作量、观测质量的精确反馈,为农气业务质量考核提供辅助平台支持。