周雪瑩,李顯風,胡麗麗
(江西省氣象信息中心,南昌 330096)
農田小氣候與農業生產和農業生物有著密切的關系,是農業生活環境和農業生產活動環境內的氣候,直接或間接地影響動植物的生長發育[1,2]。對農田氣象觀測數據進行實時采集、監視和分析,可以為農業病蟲害預測和防治、作物灌溉和追肥等方面提供科學技術指導,在農業氣象鑒定、農田環境監測和改良、農田技術措施效應評定和應用、農業資源調查分析和開發利用以及農業氣象災害防御等方面具有重要的應用意義,能夠提升氣象為農服務的業務效率和決策水平。
針對農田小氣候數據服務的實際需求,各省氣象部門建立了一定數量的農田小氣候觀測站。為保障農田小氣候觀測站正常運行,國內氣象學者開展了針對農田小氣候站監測與數據服務的支撐技術研究,建立了相關的數據服務平臺。林蘭芬等[3]設計了基于GIS的農田小氣候環境可視監測系統,實現物聯網資源管理和可視化監測;張宇等[4]設計了農業小氣候數據監測站,較好地保障了傳感器所采集數據的正確性和可靠性;朱偉華等[5]設計了基于4G技術的農業小氣候監控系統,可以有效監控農業小氣候的環境數據。上述研究主要采用應用終端為臺站自動監控提供數據支撐,但研究僅局限于單個站點的狀態監控和數據服務,缺乏對全部站點的統一管理服務。目前江西省建設了82個農田小氣候站,覆蓋糧食作物、經濟作物和漁業水產等作物類型,但是缺乏一個統一的監測與數據服務平臺,導致無法提供及時、全面、連續的監視信息和觀測數據服務。因此,為了滿足業務需求和高效利用農田小氣候站觀測數據,迫切需要設計開發一套農田小氣候觀測數據服務平臺。
本研究利用江西省農田小氣候站點監視信息和實時觀測數據,建立農田小氣候觀測數據服務平臺,基于地理位置服務技術,統一展示觀測站點的臺站基礎信息、監控信息和觀測數據,為省、市、縣三級氣象部門的農業氣象服務提供數據支撐。
農田小氣候是以農作物為下墊面所形成的小氣候,是農田-植被-大氣所構成的連續體中各組成部分之間物質輸送和能量轉換的最終體現[6],體現為農田貼地氣層和土壤氣候的一些環境參數。農田小氣候站是自動觀測和存儲這些環境參數的設備,由高精度傳感器、遠程數據采集模塊、通訊控制系統、系統電源以及外圍設備等部分組成[7]。江西省于2010年針對雙季稻的農業氣象自動化觀測試驗[8],按照代表區域農業特色和兼顧平衡分布的原則,結合滿足地方需求,在11個地級市建立了82個農田小氣候觀測站,服務對象包括糧食作物、經濟作物和漁業水產(表1),實現高精度的農田小氣候數據自動觀測,為農業氣象服務提供數據支撐,為農業生產實施計劃提供科學依據。

表1 農田小氣候觀測站服務對象說明
農作物生長過程依賴外部環境因素,對農田小氣候的監測有助于農作物的生長發育。農田小氣候觀測站一般是多要素、多點的連續定時觀測,觀測要素包括表征輻射的各種特征量、表征熱的各種特征量、表征氣體成分、表征水氣的各種特征量和表征空氣運動的各種特征量。針對作物類別的地理環境的要求配置相應的觀測要素傳感器,其中大棚蔬菜增加棚外的風向風速和雨量傳感器(表2)。此外,根據實際觀測需求,可以選擇添置相應的觀測要素傳感器。

表2 農田小氣候觀測站配置說明
農田小氣候觀測站通過傳感器對各氣象要素進行連續、自動測量,使用數據采集器轉換成氣象要素原始數據,對數據進行質量控制、存儲和統計處理后,形成同一交換格式數據文件,采用GPRS的通訊方式上傳至省級中心站系統,經過加工處理存入中心站數據庫,同時轉換成標準文件名格式(Z_AGME_C_YYYYMMDDhhmmss_O_CLI_FTM.csv),上傳至省級氣象通訊系統(CTS2),經過解碼處理后納入氣象大數據云平臺存儲管理,并通過氣象數據統一服務接口為省、市、縣三級氣象部門提供數據服務,具體數據流程如圖1所示。

圖1 數據流程
由于每個農田小氣候站的服務對象和觀測要素不盡相同,給數據解碼入庫造成很大困難,導致現有業務中使用的解碼程序出現數據不完整問題,目前只有69個觀測站的觀測數據寫入氣象大數據云平臺,并且入庫的站點數據未能涵蓋所有觀測要素。為實現對所有觀測站以及所有觀測要素的存儲管理,江西省省級中心站系統采用分站建表方式,即每個站一張數據表,數據表采用不同的字段結構設計,以涵蓋所有的觀測要素。因此,本研究采用中心站數據庫數據來設計和開發農田小氣候觀測數據服務平臺,以保障農田小氣候站監測信息和數據服務的完整性。
根據上述數據流程,并充分考慮到平臺監視和數據展示的直觀性以及平臺的可擴展性等,采用WebGIS框架進行平臺設計[9],圖2為平臺總體結構。平臺采用多層體系結構設計,包括服務層、應用層、數據層和支撐層。①支撐層是平臺開發所需的硬件和軟件基礎;②數據層包括基礎數據(站點信息、地理信息等)、平臺配置數據和數據庫軟件等;③應用層為服務層提供數據處理、存儲、統計分析、數據庫服務和地圖服務等應用;④服務層是針對業務人員和管理人員進行設計,包括業務應用和監視告警,使用通用的瀏覽器訪問平臺地址,并且接入短信平臺和微信平臺提供的接口,以實現實時告警。

圖2 平臺總體結構
根據實際業務服務需求,農田小氣候觀測數據服務平臺設計了前端地圖顯示、站點標注展示、監視告警以及檢索和下載四大功能模塊。
2.2.1 前端地圖顯示前端地圖顯示是平臺的基礎,主要提供瓦片地圖和行政邊界線矢量數據顯示來展示江西省地理信息。瓦片地圖提供矢量地圖、地形地圖和影像地圖3種地圖切換模式;行政邊界線矢量數據采用中國氣象局下發的已審核的標準規范數據,用戶可以根據需要顯示省界、地界、縣界和鄉鎮界。通過實時偵聽鼠標滾輪,實現以滾輪點為中心點的地圖放大、縮小和平移等圖形操作。
2.2.2 站點標注展示站點標注展示是平臺核心模塊,實現監視信息與GIS數據同步展示。根據站點的經緯度坐標計算具體位置,耦合地理信息用圓點圖形在前端地圖上進行標注以實現定位;正常接收和異常接收站點以不同顏色標注顯示,并統計出正常站點數和異常站點數;鼠標移動到站點標識上,顯示該站點的站名、站號、地理位置信息、服務對象和觀測要素等詳細信息。
2.2.3 監視告警根據業務人員需求,設計狀態監視、列表顯示和滾動顯示、自動告警三部分。狀態監視對觀測站點狀態進行監控,通過顏色直觀顯示站點的狀態,綠色代表站點數據上傳正常,紅色代表站點數據上傳異常(數據中斷達20 min以上);列表顯示主要提供對異常站點的基本信息和最近接收數據的時間;滾動顯示以滾動和高亮顯示異常站點實時監視信息。自動告警功能實現異常監視與微信、短信平臺對接,提供實時告警服務。
2.2.4 檢索和下載檢索功能提供根據站點、起始時間和結束時間查詢農田小氣候站觀測數據的監測信息,包括臺站號、接收時間、發送時間和觀測要素值等,并且提供分頁顯示和記錄數設置等功能。下載功能提供查詢結果,以表格文件的形式下載到本地服務器上,便于用戶應用服務和科學研究的需要。
采用Leaflet、GeoServer等開源軟件平臺設計和構建平臺的WebGIS框架[10-12]。具體構建思路(圖3):首先利用Nginx搭建靜態瓦片圖片服務器,將互聯網下載的標準規范的離線瓦片圖片進行web發布,以HTTP服務提供Leaflet調用,實現平臺地理底圖數據顯示。通過GeoServer進行研究區行政邊界數據(Shapefile格式)的組織管理,并發布WMS服務方式提供Leaflet調用,實現省、市、縣各級行政邊界數據疊加地理底圖顯示。利用Canvas技術對Leaflet的點圖層進行擴展,解決Leaflet在海量數據點以及文本繪制效率不足的問題,基于Echart控件進行圖層的圖表顯示擴展,補充Leaflet圖層交互功能,最終得到適合本平臺的WebGIS組件庫,基于該組件庫,實現平臺的全部WebGIS展示和地圖操作功能。

圖3 基于HTML5的WebGIS構建方案
將平臺的站點信息要素以及中心站服務器、顯示范圍、地圖服務等公共配置信息寫入可擴展標記語言(XML)配置文件,規范配置文件以便于配置信息維護管理,減輕維護、升級和移植的工作量。
根據監控需求和每個站點的觀測要素不盡相同的實際情況,通過修改站點信息要素配置文件,實現根據需求實時更改地圖上站點的分布和站點的詳細資料,如站名、站號、經緯度、海拔高度、建站時間、服務對象和觀測要素。中心站服務器配置包括中心站服務器地址和用戶密碼等。顯示區域配置文件主要包括顯示區域范圍、區域中心位置等配置信息,根據業務需要顯示省、市區域的監視數據。地圖服務配置信息為瓦片地圖和行政邊界線地圖服務地址。
采用閾值判斷法對農田小氣候中心站數據收集信息進行實時分析,實現對各臺站數據采集狀態進行實時監測。具體思路如下:首先根據XML配置文件的站點信息列表,從中心站數據庫中獲取每個臺站最新時次的觀測數據;再計算最新數據的日期時間和當前日期時間差;最后通過時間差與設定的閾值進行比較得到站點數據狀態,如時間差在閾值范圍內則數據接收正常,反之則判斷數據接收異常(圖4)。

圖4 實時監控流程
短信接口是基于HTTP協議的接口,由3部分組成:資源類型、存放資源的主機域名、資源文件名。URL的一般語法格式為(帶方括號[]的為可選項):protocol:∕∕hostname[:port]∕path∕[;parameters][?query]#fragment,氣象業務系統直接調用接口http:∕∕地址∕messagein.aspx?tel=....&message=....發送短信(圖5)。

圖5 微信告警信息
微信接口是采用POST調用方式,URL的為https:∕∕地址∕alert∕openapi∕v2∕create?apikey=###,body采用json格式接入企業微信(圖6)。

圖6 短信告警信息
基于省級農田小氣候中心站數據庫,采用輕量級的Python Flask開發平臺以及JavaScript、HTML、Leaflet、Highchart等web技術[13,14],建立了基于Web-GIS的農田小氣候觀測數據服務平臺,平臺部署于Linux服務器,并通過“Flask+Nguix+uWSGI”方式發布安全、穩定的web服務,保障平臺穩定、快速運行,平臺運行界面如圖7所示。平臺實現了農田小氣候觀測站疊加地理信息站點分布展示,提供不同連接狀況站點顯示和監視信息的告警等功能;點擊站點圖標顯示站點觀測要素的詳細數據(圖8,要素取值為原始數據,其中溫度、風速、雨量是實際數據的10倍,地溫是實際數據的100倍,如溫度原始數據315,實際數據為31.5),同時通過輸入起始日期和結束日期任意時間段范圍的數據查詢檢索服務,并提供Excel格式文件數據導出功能。

圖7 平臺運行界面

圖8 站點觀測數據查詢與結果顯示(南昌站)
本研究基于集約化建設思想,提出了一種基于省級中心站的農田小氣候數據監測服務構想,采用B∕S架構和基于HTML5的WebGIS框架,建立了農田小氣候觀測站服務平臺。對農田小氣候站觀測數據流程、平臺設計、關鍵技術、系統實現和應用效果等方面進行了詳細闡述。
基于WebGIS的農田小氣候觀測數據服務平臺實現了全省農田小氣候站實時監視信息、觀測數據等疊加地理信息統一展示,提供了異常站點監視告警,歷史觀測數據檢索、導出等功能,為臺站觀測設備運維管理、各級農業氣象業務服務提供了數據支撐平臺,在推進地方特色農業氣象服務、研究影響農作物生長發育和產量形成的小范圍特殊氣候環境等方面發揮了重要作用,具有面向省、市、縣三級氣象部門推廣的應用前景。