譚嘯++彭浴++鄭宇洋
摘要 為進(jìn)一步提升氣象服務(wù)能力和水平,拓展氣象信息發(fā)布手段和發(fā)布渠道,使社會(huì)公眾能夠便捷地獲取準(zhǔn)確豐富的氣象信息。本文通過(guò)運(yùn)用株洲區(qū)域自動(dòng)氣象站實(shí)時(shí)數(shù)據(jù)資料,并針對(duì)株洲微氣象微信公眾平臺(tái)的服務(wù)后臺(tái)進(jìn)行系統(tǒng)設(shè)計(jì)。結(jié)果表明,運(yùn)用上述系統(tǒng)可以迅速、高效地實(shí)現(xiàn)對(duì)實(shí)時(shí)氣象信息的獲取、查詢統(tǒng)計(jì)、預(yù)警等功能。
關(guān)鍵詞 氣象預(yù)警;信息發(fā)布;公眾服務(wù);微信平臺(tái);設(shè)計(jì);實(shí)現(xiàn)
中圖分類號(hào) P409 文獻(xiàn)標(biāo)識(shí)碼 A 文章編號(hào) 1007-5739(2017)19-0216-02
近年來(lái),強(qiáng)降雨導(dǎo)致城市內(nèi)澇、山體滑坡等氣象災(zāi)害頻繁發(fā)生,造成嚴(yán)重的經(jīng)濟(jì)損失和社會(huì)影響,成為各界普遍關(guān)注的問(wèn)題。株洲市內(nèi)均勻地分布了195個(gè)區(qū)域自動(dòng)氣象站監(jiān)測(cè)點(diǎn),覆蓋了全市的所有鄉(xiāng)鎮(zhèn)街道社區(qū)。由于區(qū)域自動(dòng)氣象站每5 min向服務(wù)器端傳送一次數(shù)據(jù),其實(shí)時(shí)降雨量監(jiān)測(cè)數(shù)據(jù)對(duì)于氣象災(zāi)害預(yù)警有著重要的意義。微信作為目前覆蓋范圍最廣、使用人群最多的手機(jī)軟件,在氣象公共服務(wù)中也得到了廣泛應(yīng)用[1]。通過(guò)手機(jī)微信平臺(tái)的實(shí)時(shí)信息發(fā)布渠道,實(shí)現(xiàn)區(qū)域自動(dòng)氣象站強(qiáng)降雨信息的實(shí)時(shí)獲取、查詢統(tǒng)計(jì)、預(yù)警等功能,可以給政府和人民群眾提供最新、及時(shí)、最準(zhǔn)確的氣象資料,啟動(dòng)相應(yīng)的應(yīng)急預(yù)案,減輕突發(fā)惡劣天氣對(duì)公眾安全造成的影響[2]。
1 系統(tǒng)總體設(shè)計(jì)
系統(tǒng)以株洲市氣象臺(tái)最新預(yù)報(bào)結(jié)論和城區(qū)195個(gè)區(qū)域自動(dòng)站實(shí)時(shí)雨量數(shù)據(jù)為數(shù)據(jù)基礎(chǔ),發(fā)布實(shí)時(shí)天氣預(yù)報(bào)結(jié)論、區(qū)域自動(dòng)氣象站數(shù)據(jù),推送氣象災(zāi)害預(yù)警消息。
1.1 系統(tǒng)目標(biāo)
項(xiàng)目主要需要解決以下3個(gè)問(wèn)題:一是株洲地區(qū)1周天氣預(yù)報(bào)查詢。二是區(qū)域自動(dòng)氣象站實(shí)時(shí)雨量數(shù)據(jù)查詢。預(yù)警平臺(tái)的數(shù)據(jù)由區(qū)域自動(dòng)氣象站負(fù)責(zé)數(shù)據(jù)的傳輸與采集,監(jiān)控中心負(fù)責(zé)對(duì)數(shù)據(jù)的接收、入庫(kù)處理,并通過(guò)微信平臺(tái)查詢區(qū)域自動(dòng)氣象站降雨實(shí)況。三是依據(jù)區(qū)域自動(dòng)氣象站實(shí)時(shí)降雨量和降雨強(qiáng)度推送強(qiáng)降雨預(yù)警信息。當(dāng)區(qū)域自動(dòng)氣象站實(shí)時(shí)降雨量達(dá)到預(yù)警閾值時(shí),使用微信平臺(tái)編輯模式的自定義規(guī)則,在開(kāi)發(fā)模式下開(kāi)發(fā)接口編寫相關(guān)程序,向有關(guān)人員推送實(shí)時(shí)氣象預(yù)警信息,提供氣象服務(wù)的文本、語(yǔ)音及圖文信息[3]。
1.2 系統(tǒng)特點(diǎn)
該預(yù)警系統(tǒng)具有以下特點(diǎn):一是該系統(tǒng)實(shí)時(shí)監(jiān)測(cè)降雨數(shù)據(jù),用戶可以在第一時(shí)間掌握實(shí)時(shí)降雨的準(zhǔn)確信息;二是通過(guò)微信公眾服務(wù)號(hào),提供了新的信息發(fā)布渠道;三是氣象預(yù)警狀態(tài)提示和自動(dòng)推送預(yù)警信息使用戶可以快速了解緊急情況,提升了工作效率。
1.3 系統(tǒng)工作原理
系統(tǒng)使用降雨實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)為預(yù)警依據(jù)。降雨實(shí)時(shí)監(jiān)測(cè)數(shù)據(jù)來(lái)自株洲區(qū)域自動(dòng)氣象站,自動(dòng)氣象站向服務(wù)器端傳送數(shù)據(jù)的頻率是1次/5 min,系統(tǒng)對(duì)降雨數(shù)據(jù)實(shí)時(shí)監(jiān)測(cè),每小時(shí)從數(shù)據(jù)服務(wù)器統(tǒng)計(jì)小時(shí)累積雨量,監(jiān)測(cè)時(shí)段分為過(guò)去1、3、6、12、24 h,并動(dòng)態(tài)監(jiān)測(cè)最新降雨實(shí)況。當(dāng)預(yù)報(bào)未來(lái)24 h有大到暴雨以上降水過(guò)程或城區(qū)自動(dòng)雨量站出現(xiàn)20 mm/h以上的降水時(shí),微信平臺(tái)自動(dòng)向用戶推送相關(guān)預(yù)警信息。
1.4 開(kāi)發(fā)流程
微信(wx)與微信服務(wù)器(wx_server)通信獲取相關(guān)的數(shù)據(jù),公眾號(hào)菜單的鏈接實(shí)際上是通過(guò)微信服務(wù)器跳轉(zhuǎn)到站點(diǎn)服務(wù)器(site_server)完成[4]。具體開(kāi)發(fā)流程如下。
1.4.1 申請(qǐng)注冊(cè)微信號(hào),登錄并配置服務(wù)器。這里的服務(wù)器指的是個(gè)人Web站點(diǎn)的服務(wù)器。填寫服務(wù)器地址(URL)、Token和EncodingAESKey。
1.4.2 服務(wù)器地址的有效性驗(yàn)證。對(duì)于開(kāi)發(fā)者,要求URL有效性驗(yàn)證成功后才能接入生效。其后,開(kāi)發(fā)者針對(duì)用戶每次向公眾號(hào)發(fā)送消息或者產(chǎn)生自定義菜單等,可以依據(jù)自身業(yè)務(wù)邏輯進(jìn)行回復(fù)消息等響應(yīng)。
1.4.3 獲取access_token。公眾號(hào)的全局唯一接口調(diào)用憑據(jù)就是access_token,各接口的調(diào)用時(shí)都需使用它。
1.4.4 程序編寫。根據(jù)系統(tǒng)設(shè)計(jì)進(jìn)行程序的編寫。
1.5 技術(shù)選擇
站點(diǎn)服務(wù)器端的Web站點(diǎn)采用的是LNMP(Linux+Nginx+MySQL+PHP)架構(gòu),基于氣象局已有的數(shù)據(jù)資源接口,使用微信平臺(tái)的消息模版功能,實(shí)現(xiàn)消息推送功能。后臺(tái)管理系統(tǒng)采用B/S架構(gòu)。信息發(fā)布以XML消息格式組裝,及時(shí)響應(yīng)用戶的請(qǐng)求,實(shí)現(xiàn)天氣查詢、數(shù)據(jù)查詢、預(yù)警信息發(fā)送等相關(guān)功能。
2 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)由微信用戶客戶端、騰訊微信第三方服務(wù)端和氣象局微信服務(wù)器端組成。主要任務(wù)是連接接口的基礎(chǔ)網(wǎng)絡(luò)、部署服務(wù)器、設(shè)計(jì)信息接口,優(yōu)化信息接口和氣象業(yè)務(wù)系統(tǒng)之間的信息交互。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
氣象微信服務(wù)端系統(tǒng)工作方式主要包括2種方式:一是信息推送。氣象服務(wù)端主動(dòng)下行消息給微信第三方服務(wù)器端,通過(guò)微信下發(fā)給手機(jī)用戶。二是信息交互。手機(jī)用戶主動(dòng)發(fā)送相關(guān)請(qǐng)求,消息上行到微信第三方服務(wù)器端,微信服務(wù)器端轉(zhuǎn)發(fā)到氣象局相關(guān)服務(wù)器端,氣象服務(wù)器端作出響應(yīng),并給予微信服務(wù)器端響應(yīng),然后通過(guò)微信服務(wù)器下行到手機(jī)用戶。
2.1 天氣預(yù)報(bào)信息查詢
此模塊通過(guò)后臺(tái)自動(dòng)更新信息,用戶可以隨時(shí)查詢株洲市24 h天氣預(yù)報(bào)及未來(lái)1周的趨勢(shì)預(yù)報(bào)。還可以查詢空氣質(zhì)量預(yù)報(bào),并提供國(guó)內(nèi)主要城市和湖南省內(nèi)城市的天氣預(yù)報(bào)內(nèi)容可供查詢。
2.2 實(shí)時(shí)降雨功能查詢
降雨量查詢功能為用戶查詢到周邊區(qū)域自動(dòng)站的實(shí)時(shí)降雨量信息,用戶可以查看附近區(qū)域自動(dòng)站站點(diǎn)實(shí)時(shí)降雨量情況,相關(guān)氣象要素來(lái)源于區(qū)域自動(dòng)站最近1 h的整點(diǎn)小時(shí)數(shù)據(jù)。通過(guò)創(chuàng)建VIEW類型的菜單,點(diǎn)擊按鈕跳轉(zhuǎn)到數(shù)據(jù)顯示頁(yè)面。獲取access_token的2種方式如下:一是https請(qǐng)求方,即GEThttps://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET。二是http請(qǐng)求方式,即POST(請(qǐng)使用https協(xié)議)https://api.weixin.qq.com/cgi-bin/menu/create?access_token=ACCESS_TOKEN。
編寫代碼將菜單通過(guò)post方式到wx_server,關(guān)注公眾號(hào)之后就可以看到菜單按鈕。點(diǎn)擊菜單(view類型)按鈕即可跳轉(zhuǎn)到相應(yīng)的頁(yè)面。數(shù)據(jù)的添加:195個(gè)區(qū)域自動(dòng)站的降雨數(shù)據(jù)每隔5 min添加到數(shù)據(jù)庫(kù)。數(shù)據(jù)的展示:訪問(wèn)菜單鏈接(頁(yè)面),程序查詢數(shù)據(jù)庫(kù)通過(guò)http返回響應(yīng)數(shù)據(jù),查詢結(jié)果如圖2所示。
2.3 強(qiáng)降雨預(yù)警推送
預(yù)警功能為用戶提供短時(shí)臨近氣象預(yù)報(bào)服務(wù)。當(dāng)預(yù)報(bào)員預(yù)報(bào)未來(lái)24 h有大到暴雨以上降水過(guò)程或區(qū)域自動(dòng)氣象站雨量出現(xiàn)20 mm/h以上的降水時(shí),即通過(guò)微信平臺(tái)推送氣象預(yù)警信息。天氣預(yù)警為用戶提供天氣預(yù)警信息,用戶可以查看到當(dāng)前期間是否有預(yù)警信息。通常情況下,天氣預(yù)警為空消息,只是在有預(yù)警信號(hào)產(chǎn)生時(shí),才會(huì)發(fā)布?xì)庀箢A(yù)警,提醒用戶注意天氣狀況。預(yù)警信息內(nèi)容為氣象預(yù)警類別、預(yù)警區(qū)域、實(shí)時(shí)天氣狀況等。預(yù)警消息的推送使用特定內(nèi)容模板主動(dòng)向用戶發(fā)送消息。首先在微信后臺(tái)中設(shè)置消息模板然后編寫代碼。當(dāng)最新降雨量數(shù)據(jù)添加到數(shù)據(jù)庫(kù)的同時(shí),根據(jù)設(shè)置的閾值來(lái)判斷是否推送給用戶。預(yù)警消息使用微信的模板消息功能完成,微信的模板消息功能是在需要對(duì)用戶發(fā)送服務(wù)通知時(shí),例如刷卡提醒、服務(wù)預(yù)約成功通知等,針對(duì)某一個(gè)用戶進(jìn)行提醒。但由于對(duì)服務(wù)器能力和并發(fā)量要求較高、群發(fā)消息應(yīng)用數(shù)量多,通過(guò)提升服務(wù)器性能、修改模板消息調(diào)用邏輯、增加后臺(tái)并發(fā)量、縮短循環(huán)時(shí)間,能實(shí)現(xiàn)定向群發(fā)功能,消息發(fā)送成功后會(huì)對(duì)微信用戶進(jìn)行聲音提醒,效果明顯,且群發(fā)消息速度快,提升了預(yù)警信息的可用性、及時(shí)性和有效性[5]。推送結(jié)果如圖3所示。
3 結(jié)語(yǔ)
本文將區(qū)域自動(dòng)氣象站降雨的數(shù)據(jù)結(jié)果應(yīng)用于株洲氣象微信公眾號(hào)中,并通過(guò)微信公眾平臺(tái)實(shí)現(xiàn)了預(yù)警方式的多元化,且更具時(shí)效性。微信預(yù)警消息推送服務(wù)使得有人民群眾可以快速了解緊急情況,提升了工作效率,提高了株洲地區(qū)氣象災(zāi)害監(jiān)測(cè)預(yù)警預(yù)報(bào)的水平。
4 參考文獻(xiàn)
[1] 湯靜,陳偉,肖衛(wèi)國(guó).微信平臺(tái)在氣象服務(wù)中的應(yīng)用[J].現(xiàn)代農(nóng)業(yè)科技,2016(4):342-343.
[2] 李志良,尹清華,王旭生,等.赤峰氣象微信公眾平臺(tái)建設(shè)初探[J].內(nèi)蒙古農(nóng)業(yè)科技,2014(4):66-68.
[3] 徐瓊芳,聶菊榮,馮海旭.基于微信平臺(tái)的氣象預(yù)警信息發(fā)布系統(tǒng)[J].氣象科技,2014,42(6):1019-1022.
[4] 盧榮瓊,龔勝眉.長(zhǎng)沙微農(nóng)直通微信的應(yīng)用現(xiàn)狀及完善設(shè)想[J].湖南農(nóng)業(yè)科學(xué),2016(6):82-85.
[5] 高亭亭,孫偉忠,朱平.廣州天氣微信的創(chuàng)新設(shè)計(jì)[J].廣東氣象,2014,36(6):60-62.