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