馬 鋒,韓姍姍,萬 慧,賀亞雄,劉 敏
(榆林市氣象局,陜西榆林 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年投入試運行以來,為當地現代農業生產和新型農業經營主體提供了更為直通式、精準化的氣象服務,收效良好,平臺的建設對推動榆林智慧農業氣象工作具有積極意義。后期,將根據運行情況對平臺功能進一步優化完善,全面提高平臺的可用性和受眾面。