周雪瑩,李顯風(fēng),胡麗麗
(江西省氣象信息中心,南昌 330096)
農(nóng)田小氣候與農(nóng)業(yè)生產(chǎn)和農(nóng)業(yè)生物有著密切的關(guān)系,是農(nóng)業(yè)生活環(huán)境和農(nóng)業(yè)生產(chǎn)活動(dòng)環(huán)境內(nèi)的氣候,直接或間接地影響動(dòng)植物的生長(zhǎng)發(fā)育[1,2]。對(duì)農(nóng)田氣象觀測(cè)數(shù)據(jù)進(jìn)行實(shí)時(shí)采集、監(jiān)視和分析,可以為農(nóng)業(yè)病蟲(chóng)害預(yù)測(cè)和防治、作物灌溉和追肥等方面提供科學(xué)技術(shù)指導(dǎo),在農(nóng)業(yè)氣象鑒定、農(nóng)田環(huán)境監(jiān)測(cè)和改良、農(nóng)田技術(shù)措施效應(yīng)評(píng)定和應(yīng)用、農(nóng)業(yè)資源調(diào)查分析和開(kāi)發(fā)利用以及農(nóng)業(yè)氣象災(zāi)害防御等方面具有重要的應(yīng)用意義,能夠提升氣象為農(nóng)服務(wù)的業(yè)務(wù)效率和決策水平。
針對(duì)農(nóng)田小氣候數(shù)據(jù)服務(wù)的實(shí)際需求,各省氣象部門(mén)建立了一定數(shù)量的農(nóng)田小氣候觀測(cè)站。為保障農(nóng)田小氣候觀測(cè)站正常運(yùn)行,國(guó)內(nèi)氣象學(xué)者開(kāi)展了針對(duì)農(nóng)田小氣候站監(jiān)測(cè)與數(shù)據(jù)服務(wù)的支撐技術(shù)研究,建立了相關(guān)的數(shù)據(jù)服務(wù)平臺(tái)。林蘭芬等[3]設(shè)計(jì)了基于GIS的農(nóng)田小氣候環(huán)境可視監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)物聯(lián)網(wǎng)資源管理和可視化監(jiān)測(cè);張宇等[4]設(shè)計(jì)了農(nóng)業(yè)小氣候數(shù)據(jù)監(jiān)測(cè)站,較好地保障了傳感器所采集數(shù)據(jù)的正確性和可靠性;朱偉華等[5]設(shè)計(jì)了基于4G技術(shù)的農(nóng)業(yè)小氣候監(jiān)控系統(tǒng),可以有效監(jiān)控農(nóng)業(yè)小氣候的環(huán)境數(shù)據(jù)。上述研究主要采用應(yīng)用終端為臺(tái)站自動(dòng)監(jiān)控提供數(shù)據(jù)支撐,但研究?jī)H局限于單個(gè)站點(diǎn)的狀態(tài)監(jiān)控和數(shù)據(jù)服務(wù),缺乏對(duì)全部站點(diǎn)的統(tǒng)一管理服務(wù)。目前江西省建設(shè)了82個(gè)農(nóng)田小氣候站,覆蓋糧食作物、經(jīng)濟(jì)作物和漁業(yè)水產(chǎn)等作物類(lèi)型,但是缺乏一個(gè)統(tǒng)一的監(jiān)測(cè)與數(shù)據(jù)服務(wù)平臺(tái),導(dǎo)致無(wú)法提供及時(shí)、全面、連續(xù)的監(jiān)視信息和觀測(cè)數(shù)據(jù)服務(wù)。因此,為了滿(mǎn)足業(yè)務(wù)需求和高效利用農(nóng)田小氣候站觀測(cè)數(shù)據(jù),迫切需要設(shè)計(jì)開(kāi)發(fā)一套農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái)。
本研究利用江西省農(nóng)田小氣候站點(diǎn)監(jiān)視信息和實(shí)時(shí)觀測(cè)數(shù)據(jù),建立農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái),基于地理位置服務(wù)技術(shù),統(tǒng)一展示觀測(cè)站點(diǎn)的臺(tái)站基礎(chǔ)信息、監(jiān)控信息和觀測(cè)數(shù)據(jù),為省、市、縣三級(jí)氣象部門(mén)的農(nóng)業(yè)氣象服務(wù)提供數(shù)據(jù)支撐。
農(nóng)田小氣候是以農(nóng)作物為下墊面所形成的小氣候,是農(nóng)田-植被-大氣所構(gòu)成的連續(xù)體中各組成部分之間物質(zhì)輸送和能量轉(zhuǎn)換的最終體現(xiàn)[6],體現(xiàn)為農(nóng)田貼地氣層和土壤氣候的一些環(huán)境參數(shù)。農(nóng)田小氣候站是自動(dòng)觀測(cè)和存儲(chǔ)這些環(huán)境參數(shù)的設(shè)備,由高精度傳感器、遠(yuǎn)程數(shù)據(jù)采集模塊、通訊控制系統(tǒng)、系統(tǒng)電源以及外圍設(shè)備等部分組成[7]。江西省于2010年針對(duì)雙季稻的農(nóng)業(yè)氣象自動(dòng)化觀測(cè)試驗(yàn)[8],按照代表區(qū)域農(nóng)業(yè)特色和兼顧平衡分布的原則,結(jié)合滿(mǎn)足地方需求,在11個(gè)地級(jí)市建立了82個(gè)農(nóng)田小氣候觀測(cè)站,服務(wù)對(duì)象包括糧食作物、經(jīng)濟(jì)作物和漁業(yè)水產(chǎn)(表1),實(shí)現(xiàn)高精度的農(nóng)田小氣候數(shù)據(jù)自動(dòng)觀測(cè),為農(nóng)業(yè)氣象服務(wù)提供數(shù)據(jù)支撐,為農(nóng)業(yè)生產(chǎn)實(shí)施計(jì)劃提供科學(xué)依據(jù)。
表1 農(nóng)田小氣候觀測(cè)站服務(wù)對(duì)象說(shuō)明
農(nóng)作物生長(zhǎng)過(guò)程依賴(lài)外部環(huán)境因素,對(duì)農(nóng)田小氣候的監(jiān)測(cè)有助于農(nóng)作物的生長(zhǎng)發(fā)育。農(nóng)田小氣候觀測(cè)站一般是多要素、多點(diǎn)的連續(xù)定時(shí)觀測(cè),觀測(cè)要素包括表征輻射的各種特征量、表征熱的各種特征量、表征氣體成分、表征水氣的各種特征量和表征空氣運(yùn)動(dòng)的各種特征量。針對(duì)作物類(lèi)別的地理環(huán)境的要求配置相應(yīng)的觀測(cè)要素傳感器,其中大棚蔬菜增加棚外的風(fēng)向風(fēng)速和雨量傳感器(表2)。此外,根據(jù)實(shí)際觀測(cè)需求,可以選擇添置相應(yīng)的觀測(cè)要素傳感器。
表2 農(nóng)田小氣候觀測(cè)站配置說(shuō)明
農(nóng)田小氣候觀測(cè)站通過(guò)傳感器對(duì)各氣象要素進(jìn)行連續(xù)、自動(dòng)測(cè)量,使用數(shù)據(jù)采集器轉(zhuǎn)換成氣象要素原始數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行質(zhì)量控制、存儲(chǔ)和統(tǒng)計(jì)處理后,形成同一交換格式數(shù)據(jù)文件,采用GPRS的通訊方式上傳至省級(jí)中心站系統(tǒng),經(jīng)過(guò)加工處理存入中心站數(shù)據(jù)庫(kù),同時(shí)轉(zhuǎn)換成標(biāo)準(zhǔn)文件名格式(Z_AGME_C_YYYYMMDDhhmmss_O_CLI_FTM.csv),上傳至省級(jí)氣象通訊系統(tǒng)(CTS2),經(jīng)過(guò)解碼處理后納入氣象大數(shù)據(jù)云平臺(tái)存儲(chǔ)管理,并通過(guò)氣象數(shù)據(jù)統(tǒng)一服務(wù)接口為省、市、縣三級(jí)氣象部門(mén)提供數(shù)據(jù)服務(wù),具體數(shù)據(jù)流程如圖1所示。
圖1 數(shù)據(jù)流程
由于每個(gè)農(nóng)田小氣候站的服務(wù)對(duì)象和觀測(cè)要素不盡相同,給數(shù)據(jù)解碼入庫(kù)造成很大困難,導(dǎo)致現(xiàn)有業(yè)務(wù)中使用的解碼程序出現(xiàn)數(shù)據(jù)不完整問(wèn)題,目前只有69個(gè)觀測(cè)站的觀測(cè)數(shù)據(jù)寫(xiě)入氣象大數(shù)據(jù)云平臺(tái),并且入庫(kù)的站點(diǎn)數(shù)據(jù)未能涵蓋所有觀測(cè)要素。為實(shí)現(xiàn)對(duì)所有觀測(cè)站以及所有觀測(cè)要素的存儲(chǔ)管理,江西省省級(jí)中心站系統(tǒng)采用分站建表方式,即每個(gè)站一張數(shù)據(jù)表,數(shù)據(jù)表采用不同的字段結(jié)構(gòu)設(shè)計(jì),以涵蓋所有的觀測(cè)要素。因此,本研究采用中心站數(shù)據(jù)庫(kù)數(shù)據(jù)來(lái)設(shè)計(jì)和開(kāi)發(fā)農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái),以保障農(nóng)田小氣候站監(jiān)測(cè)信息和數(shù)據(jù)服務(wù)的完整性。
根據(jù)上述數(shù)據(jù)流程,并充分考慮到平臺(tái)監(jiān)視和數(shù)據(jù)展示的直觀性以及平臺(tái)的可擴(kuò)展性等,采用WebGIS框架進(jìn)行平臺(tái)設(shè)計(jì)[9],圖2為平臺(tái)總體結(jié)構(gòu)。平臺(tái)采用多層體系結(jié)構(gòu)設(shè)計(jì),包括服務(wù)層、應(yīng)用層、數(shù)據(jù)層和支撐層。①支撐層是平臺(tái)開(kāi)發(fā)所需的硬件和軟件基礎(chǔ);②數(shù)據(jù)層包括基礎(chǔ)數(shù)據(jù)(站點(diǎn)信息、地理信息等)、平臺(tái)配置數(shù)據(jù)和數(shù)據(jù)庫(kù)軟件等;③應(yīng)用層為服務(wù)層提供數(shù)據(jù)處理、存儲(chǔ)、統(tǒng)計(jì)分析、數(shù)據(jù)庫(kù)服務(wù)和地圖服務(wù)等應(yīng)用;④服務(wù)層是針對(duì)業(yè)務(wù)人員和管理人員進(jìn)行設(shè)計(jì),包括業(yè)務(wù)應(yīng)用和監(jiān)視告警,使用通用的瀏覽器訪問(wèn)平臺(tái)地址,并且接入短信平臺(tái)和微信平臺(tái)提供的接口,以實(shí)現(xiàn)實(shí)時(shí)告警。
圖2 平臺(tái)總體結(jié)構(gòu)
根據(jù)實(shí)際業(yè)務(wù)服務(wù)需求,農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái)設(shè)計(jì)了前端地圖顯示、站點(diǎn)標(biāo)注展示、監(jiān)視告警以及檢索和下載四大功能模塊。
2.2.1 前端地圖顯示前端地圖顯示是平臺(tái)的基礎(chǔ),主要提供瓦片地圖和行政邊界線矢量數(shù)據(jù)顯示來(lái)展示江西省地理信息。瓦片地圖提供矢量地圖、地形地圖和影像地圖3種地圖切換模式;行政邊界線矢量數(shù)據(jù)采用中國(guó)氣象局下發(fā)的已審核的標(biāo)準(zhǔn)規(guī)范數(shù)據(jù),用戶(hù)可以根據(jù)需要顯示省界、地界、縣界和鄉(xiāng)鎮(zhèn)界。通過(guò)實(shí)時(shí)偵聽(tīng)鼠標(biāo)滾輪,實(shí)現(xiàn)以滾輪點(diǎn)為中心點(diǎn)的地圖放大、縮小和平移等圖形操作。
2.2.2 站點(diǎn)標(biāo)注展示站點(diǎn)標(biāo)注展示是平臺(tái)核心模塊,實(shí)現(xiàn)監(jiān)視信息與GIS數(shù)據(jù)同步展示。根據(jù)站點(diǎn)的經(jīng)緯度坐標(biāo)計(jì)算具體位置,耦合地理信息用圓點(diǎn)圖形在前端地圖上進(jìn)行標(biāo)注以實(shí)現(xiàn)定位;正常接收和異常接收站點(diǎn)以不同顏色標(biāo)注顯示,并統(tǒng)計(jì)出正常站點(diǎn)數(shù)和異常站點(diǎn)數(shù);鼠標(biāo)移動(dòng)到站點(diǎn)標(biāo)識(shí)上,顯示該站點(diǎn)的站名、站號(hào)、地理位置信息、服務(wù)對(duì)象和觀測(cè)要素等詳細(xì)信息。
2.2.3 監(jiān)視告警根據(jù)業(yè)務(wù)人員需求,設(shè)計(jì)狀態(tài)監(jiān)視、列表顯示和滾動(dòng)顯示、自動(dòng)告警三部分。狀態(tài)監(jiān)視對(duì)觀測(cè)站點(diǎn)狀態(tài)進(jìn)行監(jiān)控,通過(guò)顏色直觀顯示站點(diǎn)的狀態(tài),綠色代表站點(diǎn)數(shù)據(jù)上傳正常,紅色代表站點(diǎn)數(shù)據(jù)上傳異常(數(shù)據(jù)中斷達(dá)20 min以上);列表顯示主要提供對(duì)異常站點(diǎn)的基本信息和最近接收數(shù)據(jù)的時(shí)間;滾動(dòng)顯示以滾動(dòng)和高亮顯示異常站點(diǎn)實(shí)時(shí)監(jiān)視信息。自動(dòng)告警功能實(shí)現(xiàn)異常監(jiān)視與微信、短信平臺(tái)對(duì)接,提供實(shí)時(shí)告警服務(wù)。
2.2.4 檢索和下載檢索功能提供根據(jù)站點(diǎn)、起始時(shí)間和結(jié)束時(shí)間查詢(xún)農(nóng)田小氣候站觀測(cè)數(shù)據(jù)的監(jiān)測(cè)信息,包括臺(tái)站號(hào)、接收時(shí)間、發(fā)送時(shí)間和觀測(cè)要素值等,并且提供分頁(yè)顯示和記錄數(shù)設(shè)置等功能。下載功能提供查詢(xún)結(jié)果,以表格文件的形式下載到本地服務(wù)器上,便于用戶(hù)應(yīng)用服務(wù)和科學(xué)研究的需要。
采用Leaflet、GeoServer等開(kāi)源軟件平臺(tái)設(shè)計(jì)和構(gòu)建平臺(tái)的WebGIS框架[10-12]。具體構(gòu)建思路(圖3):首先利用Nginx搭建靜態(tài)瓦片圖片服務(wù)器,將互聯(lián)網(wǎng)下載的標(biāo)準(zhǔn)規(guī)范的離線瓦片圖片進(jìn)行web發(fā)布,以HTTP服務(wù)提供Leaflet調(diào)用,實(shí)現(xiàn)平臺(tái)地理底圖數(shù)據(jù)顯示。通過(guò)GeoServer進(jìn)行研究區(qū)行政邊界數(shù)據(jù)(Shapefile格式)的組織管理,并發(fā)布WMS服務(wù)方式提供Leaflet調(diào)用,實(shí)現(xiàn)省、市、縣各級(jí)行政邊界數(shù)據(jù)疊加地理底圖顯示。利用Canvas技術(shù)對(duì)Leaflet的點(diǎn)圖層進(jìn)行擴(kuò)展,解決Leaflet在海量數(shù)據(jù)點(diǎn)以及文本繪制效率不足的問(wèn)題,基于Echart控件進(jìn)行圖層的圖表顯示擴(kuò)展,補(bǔ)充Leaflet圖層交互功能,最終得到適合本平臺(tái)的WebGIS組件庫(kù),基于該組件庫(kù),實(shí)現(xiàn)平臺(tái)的全部WebGIS展示和地圖操作功能。
圖3 基于HTML5的WebGIS構(gòu)建方案
將平臺(tái)的站點(diǎn)信息要素以及中心站服務(wù)器、顯示范圍、地圖服務(wù)等公共配置信息寫(xiě)入可擴(kuò)展標(biāo)記語(yǔ)言(XML)配置文件,規(guī)范配置文件以便于配置信息維護(hù)管理,減輕維護(hù)、升級(jí)和移植的工作量。
根據(jù)監(jiān)控需求和每個(gè)站點(diǎn)的觀測(cè)要素不盡相同的實(shí)際情況,通過(guò)修改站點(diǎn)信息要素配置文件,實(shí)現(xiàn)根據(jù)需求實(shí)時(shí)更改地圖上站點(diǎn)的分布和站點(diǎn)的詳細(xì)資料,如站名、站號(hào)、經(jīng)緯度、海拔高度、建站時(shí)間、服務(wù)對(duì)象和觀測(cè)要素。中心站服務(wù)器配置包括中心站服務(wù)器地址和用戶(hù)密碼等。顯示區(qū)域配置文件主要包括顯示區(qū)域范圍、區(qū)域中心位置等配置信息,根據(jù)業(yè)務(wù)需要顯示省、市區(qū)域的監(jiān)視數(shù)據(jù)。地圖服務(wù)配置信息為瓦片地圖和行政邊界線地圖服務(wù)地址。
采用閾值判斷法對(duì)農(nóng)田小氣候中心站數(shù)據(jù)收集信息進(jìn)行實(shí)時(shí)分析,實(shí)現(xiàn)對(duì)各臺(tái)站數(shù)據(jù)采集狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)。具體思路如下:首先根據(jù)XML配置文件的站點(diǎn)信息列表,從中心站數(shù)據(jù)庫(kù)中獲取每個(gè)臺(tái)站最新時(shí)次的觀測(cè)數(shù)據(jù);再計(jì)算最新數(shù)據(jù)的日期時(shí)間和當(dāng)前日期時(shí)間差;最后通過(guò)時(shí)間差與設(shè)定的閾值進(jìn)行比較得到站點(diǎn)數(shù)據(jù)狀態(tài),如時(shí)間差在閾值范圍內(nèi)則數(shù)據(jù)接收正常,反之則判斷數(shù)據(jù)接收異常(圖4)。
圖4 實(shí)時(shí)監(jiān)控流程
短信接口是基于HTTP協(xié)議的接口,由3部分組成:資源類(lèi)型、存放資源的主機(jī)域名、資源文件名。URL的一般語(yǔ)法格式為(帶方括號(hào)[]的為可選項(xiàng)):protocol:∕∕hostname[:port]∕path∕[;parameters][?query]#fragment,氣象業(yè)務(wù)系統(tǒng)直接調(diào)用接口http:∕∕地址∕messagein.aspx?tel=....&message=....發(fā)送短信(圖5)。
圖5 微信告警信息
微信接口是采用POST調(diào)用方式,URL的為https:∕∕地址∕alert∕openapi∕v2∕create?apikey=###,body采用json格式接入企業(yè)微信(圖6)。
圖6 短信告警信息
基于省級(jí)農(nóng)田小氣候中心站數(shù)據(jù)庫(kù),采用輕量級(jí)的Python Flask開(kāi)發(fā)平臺(tái)以及JavaScript、HTML、Leaflet、Highchart等web技術(shù)[13,14],建立了基于Web-GIS的農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái),平臺(tái)部署于Linux服務(wù)器,并通過(guò)“Flask+Nguix+uWSGI”方式發(fā)布安全、穩(wěn)定的web服務(wù),保障平臺(tái)穩(wěn)定、快速運(yùn)行,平臺(tái)運(yùn)行界面如圖7所示。平臺(tái)實(shí)現(xiàn)了農(nóng)田小氣候觀測(cè)站疊加地理信息站點(diǎn)分布展示,提供不同連接狀況站點(diǎn)顯示和監(jiān)視信息的告警等功能;點(diǎn)擊站點(diǎn)圖標(biāo)顯示站點(diǎn)觀測(cè)要素的詳細(xì)數(shù)據(jù)(圖8,要素取值為原始數(shù)據(jù),其中溫度、風(fēng)速、雨量是實(shí)際數(shù)據(jù)的10倍,地溫是實(shí)際數(shù)據(jù)的100倍,如溫度原始數(shù)據(jù)315,實(shí)際數(shù)據(jù)為31.5),同時(shí)通過(guò)輸入起始日期和結(jié)束日期任意時(shí)間段范圍的數(shù)據(jù)查詢(xún)檢索服務(wù),并提供Excel格式文件數(shù)據(jù)導(dǎo)出功能。
圖7 平臺(tái)運(yùn)行界面
圖8 站點(diǎn)觀測(cè)數(shù)據(jù)查詢(xún)與結(jié)果顯示(南昌站)
本研究基于集約化建設(shè)思想,提出了一種基于省級(jí)中心站的農(nóng)田小氣候數(shù)據(jù)監(jiān)測(cè)服務(wù)構(gòu)想,采用B∕S架構(gòu)和基于HTML5的WebGIS框架,建立了農(nóng)田小氣候觀測(cè)站服務(wù)平臺(tái)。對(duì)農(nóng)田小氣候站觀測(cè)數(shù)據(jù)流程、平臺(tái)設(shè)計(jì)、關(guān)鍵技術(shù)、系統(tǒng)實(shí)現(xiàn)和應(yīng)用效果等方面進(jìn)行了詳細(xì)闡述。
基于WebGIS的農(nóng)田小氣候觀測(cè)數(shù)據(jù)服務(wù)平臺(tái)實(shí)現(xiàn)了全省農(nóng)田小氣候站實(shí)時(shí)監(jiān)視信息、觀測(cè)數(shù)據(jù)等疊加地理信息統(tǒng)一展示,提供了異常站點(diǎn)監(jiān)視告警,歷史觀測(cè)數(shù)據(jù)檢索、導(dǎo)出等功能,為臺(tái)站觀測(cè)設(shè)備運(yùn)維管理、各級(jí)農(nóng)業(yè)氣象業(yè)務(wù)服務(wù)提供了數(shù)據(jù)支撐平臺(tái),在推進(jìn)地方特色農(nóng)業(yè)氣象服務(wù)、研究影響農(nóng)作物生長(zhǎng)發(fā)育和產(chǎn)量形成的小范圍特殊氣候環(huán)境等方面發(fā)揮了重要作用,具有面向省、市、縣三級(jí)氣象部門(mén)推廣的應(yīng)用前景。