马 锋,韩姗姗,万 慧,贺亚雄,刘 敏
(榆林市气象局,陕西榆林 719000)
榆林耕地资源丰富,北部为风沙草滩区,南部为丘陵沟壑区,旱地多,水地少,土壤瘠薄,生态脆弱,灾害频繁。近年来,随着现代农业示范园区的不断壮大,农业科技支撑能力不断增强,产业化程度不断提高,农业综合生产能力显著增强,粮食生产实现了“十二连丰”,农民人均收入快速提升,榆林农业的地位进一步提高。同时,农业对气象服务需求发生了很大变化,现行的农业气象工作的内容、方法、途径已适应不了新形势的要求[1]。随着现代农业园区的建设和发展,现代化农、林、牧多种类型生产方式和经营模式,都需要将精细化的气象信息与不同种植品种作物的生长发育指标、病虫害发生阈值、气象致灾阈值等有机融合的气象服务。建设智能化、精细化的农业气象服务系统,以实现监测自动化、预报精细化、评估定量化、服务系列化、传输网络化和人员专业化等为核心,推进基于‘互联网+’的智慧农业气象服务,满足现代农业生产对气象服务的需求。
榆林现代农业精细化服务平台基于现代农业园区展示系统,加入作物生长发育气象服务指标、病虫害研究等成果,接入了各类气象监测数据、格点预报产品,实现农业气象服务产品一体化制作发布。通过预设策略,实现电子邮件、FTP服务等多渠道的“一键式”发布。用户可通过榆林农业气象APP实时获取所需的监测、预报等信息。可实时上传农情、灾情信息,与在线专家实时互动交流,解决农业生产中遇到的技术问题。平台设计市县一体化分级管理,对不同用户设置不同权限,功能模块可灵活设置,不同级别用户可操作不同的模块,同时对部分模块的维护采取开放式设置,方便气象监测站点、农业园区的删除、增加以及气象服务要点、服务指标的修改完善。平台基于地理信息、实时气象数据、网格预报产品、农业气象指标等多源数据开展建设,通过平台建设进一步提升了气象服务现代农业在数据环境、技术手段等方面的科技支撑,为新型农业经营主体提供直通式、精准化气象服务。
平台基于B/S结构,采用JAVA语言实现,总体分为四层,如图1所示。基础层为整个系统提供运行所需的网络通信、虚拟服务器、操作系统、软件开发平台等基础支撑。数据层主要由CIMISS业务数据库、本地SQLServer数据库、缓存数据库组成,提供各类数据的统一存储、管理、服务和交换[2]。CIMISS提供气象观测数据,本地SQLServer数据库主要用来存储气象观测数据、预报产品数据、农业业务数据以及系统运维数据;缓存数据库主要实现监测数据的统计查询结果缓存,加快查询速度,方便用户端快速显示。通过多源基础业务数据库的搭建,服务层以数据层为基础,通过对各类气象数据、预报数据的加工处理,进行可视化展示,并对不同需求不同级别的用户进行精准化服务。界面层通过WEB网站和手机APP两种方式为用户提供交互式界面。
图1 榆林现代农业精细化服务平台架构图
平台设置农业园区、格点预报、气象数据、农业服务、特色服务、产品制作发布等模块(图2)。通过将国家站、区域站、农业站、卫星云图、新一代天气雷达等各类监测数据,温度、湿度、降水等格点预报产品以及农业气象服务要点、生育期、农业服务指标等数据进行融合处理,形成监测服务一体化平台,实现精准化、智能化的现代农业气象服务与产品输出。通过WEB系统和榆林农业气象APP为广大用户提供气象监测信息、预报预警信息、专业服务产品。
图2 榆林现代农业精细化服务平台功能模块布局图
以实时在线地图为地理信息系统载体,建立榆林现代农业园区展示系统。根据每个园区的所在位置,在地理信息系统中对榆林市45个省级现代农业园区进行标识绘制,录入每个园区的名称、所在地、管理单位、联系人、联系电话等基本资料。实时显示榆林市已建成的区域站或农业小气候站监测信息,根据园区的所在位置可对附近站点的气温、湿度、风向风速、降水和未来预报信息实时查询,掌握气象要素和天气变化情况。
利用陕西省秦智系统3 km×3 km气温、湿度、降水、风向、风速等网格预报产品结果为现代农业园区提供精细化服务。系统采用反距离权重插值、克里金插值等生成要素等值面,格点要素图形产品与榆林行政地图叠加分析、裁剪生成气象预报产品等专业格点数据处理技术和图形处理技术,根据不同参数,从陕西省气象局FTP服务器中根据查询条件获取格点预报产品数据,通过自动化调用、处理、加工,生成等值线、等值面、格点值为主的可视化产品,最终实现网格预报产品在地理信息系统中显示与输出。用户可选择1、3、6、12、24 h时间间隔,选取填色、等值线、格点值等方式获取所选要素的预报结果,也可对任意位置的天气状况、温度、湿度、风速、降水量、能见度等未来一周预报信息通过综合图进行直观显示。
定时从陕西省综合气象信息共享平台(China integrated meteorological information service system,简称CIMISS)中调取榆林市各县区国家站、区域站的整点和逐日观测数据,进行本地存储和管理,通过逐日数据计算形成旬数据、月数据等基础数据。采集华云和无锡厂商不同型号的农业小气候站观测数据入库,通过数据整理融合,形成格式统一的数据资料。实时显示不同园区气象监测数据,提供棚内外温度、湿度、光和辐射、CO2、土壤温度、土壤湿度等资料的对比分析。平台提供的数据服务同时接入市县气象局发布的预警信号实时显示,并提供红外、三维卫星云图产品和反射率、组合反射率等多种雷达产品以及各站点历史数据统计查询等。
农业服务包括逐月气象服务、生育期服务、指标库设置、实时农情几个模块。逐月气象服务模块包括各月基本气象条件、不利气象条件、月内服务重点、物候期、易发气象灾害、主要农事活动、灾害防御指南等,用户可查阅当月气候、灾害、农事、服务等内容。对本地大宗作物玉米、马铃薯和特色经济作物红枣等根据生长发育时间设置生育期时段。通过农情资料、气象资料的分析研究,形成包含温湿度、降雨等气象因子的气象服务指标。根据格点预报结果和作物当前生育期,自动对比气象服务指标,实现作物生长发育适宜性判别及服务提示。实时农情模块,可查询境内园区设施农业、大田作物等生长发育情况,为农业气象服务提供第一手资料。
特色服务包括专家在线、病虫害防治、农业新闻、种植技术、农业气象科普几个模块。专家在线模块建立本地大宗作物玉米、马铃薯、小杂粮以及设施农业等种植领域的权威农业专家库,可实现对农业种植户提出的种植技术、管理措施、病虫害防治等相关问题进行解答。手机用户可通过榆林农业气象APP与在线气象、农业专家实时互动交流,解决农业生产中遇到的问题。病虫害防治模块,通过对玉米、马铃薯、红枣等气象服务指标与病虫害相关性研究,形成各类病害、虫害的危害症状、发病规律、发病气象因子及防治办法等病虫害知识库。农业新闻、种植技术模块不定期发布当前最新农业政策、粮食安全动态、作物生长发育等相关农业技术[3]。农业气象科普模块面向广大社会公众宣传气象常识、气象灾害、天气成因、气候与气候变化、气象与生产生活、人工影响天气、雷电防护等气象知识。通过flash、视频、图片、文字内容等形式,针对民众关注的热点天气、气象灾害的成因、影响、危害和科学防御进行科普,让广大农业生产者、经营者从不同角度了解气象科普内容,提升农业防灾抗灾能力。
建立包括市县农业管理部门、农业园区、广大种植户为对象的用户服务库。开展农业气象情报、农业灾害预警、农业气象预报、农业气象专报、气候评价等服务产品制作。自动判识作物所处的生长发育期,根据天气情况、影响分析、专家建议等个性化信息,利用录入的各类产品模板,形成相应的服务产品,通过预设策略,实现电子邮件、FTP服务、传真、手机APP等不同渠道的“一键式”发布。同时根据园区特点尝试开展农作物播种、收获期预报,土壤水分预报,灌溉期、灌溉量等田间活动适宜期预报以及病虫害、旱涝趋势等自然灾害预报。
平台同步建设Android版榆林农业气象客户端。用户可通过手机客户端实时掌握所在区域的气象实况信息、天气预报信息、气象预警信息、气象服务产品。后台系统对灾害发生区域的用户可主动推送预报、预警信息,在手机服务端实时报警显示。手机用户可实时上传基于文字、图像、视频等多种类别的农情、灾情、病虫害信息,与在线气象、农业专家实时互动交流。
系统采用B/S架构进行设计,基于J2EE(JAVA 2 Platform,Enterprise Edition)架构体系进行业务和数据资源的整合及集成,构建一套成熟的、灵活的、高效的系统。业务处理部分,采用MVC(Model-View-Controller)三层框架进行研发,方便系统后期功能扩展及升级。
气象数据统一服务接口(meteorological unified service interface community,简称“MUSIC”)是基于国家级-省级统一的CIMISS数据环境,面向气象业务和科研,提供了统一、标准、丰富、具有多种调用形式的数据访问服务和应用编程接口,为各级应用系统提供直接支撑的数据接入服务[4]。目前,MUSIC提供了多协议、跨平台、多语言的服务方式,系统采用MUSIC的C#客户端和REST服务调用数据,屏蔽了底层业务库变更带来的影响,使功能模块的移植更加方便,标准化程度更高。本系统通过MUSIC接口调取数据,进行本地化存储、管理、加工,为用户提供气象数据服务。
榆林农业气象Android客户端通过Tinker热更新、Glide图片加载库、MPAndroidChart框架等技术实现与WEB系统的同步服务。
4.3.1 Tinker热更新 Tinker是Android软件开发热补丁的一种解决方案,支持动态下发布代码、So 库以及资源,让APP能够在不需要重新安装的情况下实现更新。榆林农业气象APP通过Tinker 平台提供的热更新服务,可以随时下发补丁包,实时高效修复程序BUG,实时更新已发布版本的APP。更新后用户不需要下载新的应用,减少了用户下载安装成本。
热更新实现部分代码:
provided("com.tencent.tinker:tinker-android-anno:1.7.9")
compile("com.tinkerpatch.sdk:tinkerpatch-android-sdk:1.1.6")
apply from: ’tinkerpatch.gradle’
android {
defaultConfig {
buildConfigField "boolean", "TINKER_ENABLE",
"${tinkerpatchSupport.tinkerEnable}"
}
}
4.4.2 Glide图片加载库 Glide是一个快速高效的Android主流图片加载库。Glide提供了易用的API、高性能、可扩展的图片解码管道以及自动的资源池技术,支持拉取、解码和展示视频快照、图片和GIF动画。系统采用Glide图片加载库技术,使图片不会失真,并且减少内存资源占用,支持多种图片格式显示,从而达到平滑的图片列表滚动效果。
4.4.3 MPAndroidChart框架 MPAndroidChart是一个基于Android强大且容易使用的图表库,支持线状图、柱状图、散点图、烛状图、气泡图、饼状图和蜘蛛网状图,支持缩放、拖动(平移)、选择和动画。系统采用MPAndroidChart第三方插件,使气象数据在图表上快速的展示,更加形象、灵活。
针对榆林现代农业发展迅猛,农业种植品种多、布局分散、规模化程度相对低等特点,开展研究与建设榆林现代农业气象服务平台。该平台由多个子系统组成,以地理信息系统、监测预报数据综合处理为核心,形成集监测、服务于一体的智能化现代农业气象服务系统。通过对气象数据进行快速传输与管理,实现气象分析与灾害预警[5],为榆林现代农业生产提供保障服务。平台自2017年投入试运行以来,为当地现代农业生产和新型农业经营主体提供了更为直通式、精准化的气象服务,收效良好,平台的建设对推动榆林智慧农业气象工作具有积极意义。后期,将根据运行情况对平台功能进一步优化完善,全面提高平台的可用性和受众面。