吳頻頻 李長明
摘 要:依托企業(yè)研發(fā)項目農(nóng)業(yè)自動氣象監(jiān)測系統(tǒng)的建設,開展了基于百度地圖API的WebGIS在農(nóng)業(yè)氣象監(jiān)測信息采集、處理與共享的研究。根據(jù)氣象行業(yè)相關標準,對監(jiān)測信息進行標準化處理和存儲,實現(xiàn)了監(jiān)測站分布,實時數(shù)據(jù)查看,數(shù)據(jù)分析與統(tǒng)計功能,力求通過WebGIS技術(shù)使信息展示快捷直觀易用,為農(nóng)業(yè)氣象監(jiān)測信息的最大化利用提供方便。
關鍵詞:百度地圖API;農(nóng)業(yè)氣象;WebGIS
中圖分類號:TP391文獻標識碼:A文章編號:1003-5168(2018)26-0023-03
1 研究背景
近年來,針對農(nóng)業(yè)生產(chǎn)經(jīng)營特點設計的區(qū)域自動氣象監(jiān)測站被越來越多地建設和使用。農(nóng)業(yè)氣象站不僅監(jiān)測要素全,而且還能實現(xiàn)實時監(jiān)測和遠距離數(shù)據(jù)傳輸。目前,市場上的農(nóng)業(yè)氣象站的結(jié)構(gòu)相似,主要有溫度、濕度、風向、風速、雨量和氣壓等6種常規(guī)傳感器,以及土壤濕度、光照度、葉面濕度和土壤水分等專業(yè)傳感器,另外還會配置LED顯示屏以實時顯示采集的數(shù)據(jù)等。然而,對農(nóng)業(yè)氣象站設計的應用軟件較為單一,且多為單機桌面客戶端模式操作。這種設計模式可以使應用軟件接收采集的數(shù)據(jù),并顯示解析后的數(shù)據(jù)。但是,有些軟件在設計之初不采用數(shù)據(jù)庫,直接使用文本文件轉(zhuǎn)存,這種混合式的軟件設計,對單一監(jiān)測站來說看似簡單直觀,但對大面積使用形成監(jiān)測網(wǎng)的用戶來說,不能滿足其全局觀測、集中存儲、分類查詢數(shù)據(jù)的要求。本文結(jié)合項目實際,采用基于客戶端/瀏覽器模式(B/S),將數(shù)據(jù)采集與數(shù)據(jù)查詢分開,并使用百度地圖API技術(shù)實現(xiàn)監(jiān)測站位置分布與實時數(shù)據(jù)查看。
2 關鍵技術(shù)與設計
2.1 關鍵技術(shù)
客戶端/瀏覽器模式(B/S模式),將顯示邏輯交給瀏覽器,事務處理邏輯交給應用服務器,這樣就避免了龐大的客戶端[1],能實現(xiàn)服務端集中提供服務,客戶端可以分布使用服務且無需額外安裝軟件。
WebGIS即網(wǎng)絡地理信息系統(tǒng),具有強大的空間數(shù)據(jù)管理與分析、屬性數(shù)據(jù)查詢等功能,能實現(xiàn)信息動態(tài)實時更新、圖文并茂及形象直觀表達[2]。WebGIS主要有3種結(jié)構(gòu)模式,即集中模式、S(客戶/服務器)結(jié)構(gòu)模式和B/S(瀏覽器/服務器)模式,其中的B/S(瀏覽器/服務器)模式提高了系統(tǒng)應用的跨平臺性,也便于用戶群的擴展和變化[3]。GIS按照部署方式可分為私有和公用兩大類。私有GIS多為自建自用,一般使用ArcGIS等軟件搭建服務端,需要自行進行地圖數(shù)據(jù)采集、處理、更新及發(fā)布地圖服務等,數(shù)據(jù)更新慢,但自主可控,容易實現(xiàn)基于地理分析的個性應用;公用GIS多由大型互聯(lián)網(wǎng)公司提供地圖服務,如國內(nèi)的百度地圖、高德地圖等及國外的谷歌地圖,這些公司通常是自己或者從地圖數(shù)據(jù)公司采購數(shù)據(jù),發(fā)布服務,一般是免費為公眾提供服務,具有數(shù)據(jù)更新周期短、數(shù)據(jù)精度高等特點,但不利于實現(xiàn)基于地理分析的個性需求。
百度地圖API,即百度地圖JavaScript API是一套由JavaScript語言編寫的應用程序接口,可在網(wǎng)站中構(gòu)建功能豐富、交互性強的地圖應用,支持電腦端和移動端基于瀏覽器的地圖應用開發(fā),且支持HTML5特性的地圖開發(fā)。使用百度地圖API,可免去自行搭建服務端的麻煩,只需使用HTML等前臺開發(fā)語言編寫客戶端調(diào)用即可[4]。
本文結(jié)合項目實際,僅需要用到基礎的地圖顯示、位置分布等需求,地理空間分析等需求目前暫未用到,所以采用百度地圖API最為合適,不僅地圖服務穩(wěn)定,且數(shù)據(jù)更新快,位置準確建設方便。
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式。采用完全獨立于編程語言的文本格式來存儲和表示數(shù)據(jù)。簡潔和清晰的層次結(jié)構(gòu)使JSON成為理想的數(shù)據(jù)交換語言,易于人閱讀和編寫,同時也易于機器解析和生成,并能有效提升網(wǎng)絡傳輸效率[5]。
2.2 技術(shù)路線
采用微軟.NET框架,利用C#語言實現(xiàn)軟件功能開發(fā)。采用IIS7.5搭建信息服務器,提供在線平臺軟件的訪問。使用百度地圖JavaScript API V2.0開發(fā)地圖服務功能。
服務器端軟件運行環(huán)境為Windows Server 2008 64 bit系列操作系統(tǒng),Microsoft SQL Server 2008 R2數(shù)據(jù)庫管理系統(tǒng)。
瀏覽器端需要安裝IE9以上瀏覽器,或360、谷歌等瀏覽器,客戶端與服務端通信采用JSON格式作為數(shù)據(jù)交換的載體。
2.3 整體設計
該農(nóng)業(yè)氣象在線監(jiān)測平臺部署在服務器上,通過后臺服務將各監(jiān)測站利用無線或串口方式傳輸?shù)臄?shù)據(jù)接收并進行處理然后存儲,通過前臺軟件為用戶提供信息發(fā)布和查詢等服務,用戶通過任意電腦使用瀏覽器軟件訪問在線監(jiān)測平臺進行業(yè)務操作。系統(tǒng)軟件整體結(jié)構(gòu)圖如圖1所示。
在線監(jiān)測平臺實現(xiàn)的功能如下。
①基于地圖的操作。在百度地圖上顯示所有站點及其實時監(jiān)測數(shù)據(jù)信息,有報警的站點,顯示提示及聲音報警,地圖放大、縮小、漫游、選擇、彈框等。
②觀測數(shù)據(jù)查詢操作??梢圆榭磳崟r上傳的監(jiān)測信息,歷史數(shù)據(jù)信息。
③數(shù)據(jù)統(tǒng)計與分析操作。以圖表的形式查看歷史數(shù)據(jù)趨勢信息,按照要素以月為單位進行統(tǒng)計分析。
④其他操作。用戶管理、權(quán)限設置及查詢報警等功能。
4 結(jié)語
本項目實現(xiàn)了農(nóng)業(yè)氣象數(shù)據(jù)的實時采集和實時監(jiān)測,特別有利于連點成網(wǎng)的大面積監(jiān)測使用。但針對農(nóng)業(yè)生產(chǎn)的特點,目前的簡單監(jiān)測和分析還不能滿足農(nóng)業(yè)生產(chǎn)的需求,期待未來更多的傳感器應用到農(nóng)業(yè)氣象中,結(jié)合土壤情況實現(xiàn)自動灌溉,提前預防病蟲害,結(jié)合不同農(nóng)作物研發(fā)更具針對性的氣象監(jiān)測系統(tǒng)及應用軟件。
參考文獻:
[1]覃國蓉.基于B/S架構(gòu)的軟件項目實訓[M].北京:電子工業(yè)出版社,2004.
[2]張倩,靳云通,羅勇,等.基于百度地圖API的農(nóng)特產(chǎn)品地理信息系統(tǒng)設計與實現(xiàn)[J].安徽農(nóng)業(yè)科學,2015(5):342-344.
[3]劉琦,潘瑜春.基于B/S模式的WEBGIS應用系統(tǒng)研究[J].計算機工程與應用,2004(20):176-179.
[4]李艷.基于百度地圖API的Web地圖服務及應用研究[J].地理信息世界,2010(2):54-57.
[5]百度百科.JSON[EB/OL].(2018-07-31)[2018-08-01].https://baike.baidu.com/item/JSON.