姜建華,張廣云
(廣東科學(xué)技術(shù)職業(yè)學(xué)院計算機工程學(xué)院,廣東 珠海 519090)
我國是氣象災(zāi)害的易發(fā)區(qū),具有災(zāi)害種類多、分布廣、危害大的特點,氣象與地質(zhì)災(zāi)害已成為影響人民安居樂業(yè)和經(jīng)濟發(fā)展的最重要因素之一[1],國內(nèi)外對此展開了深入的研究[2-6]。隨著計算機、通信網(wǎng)絡(luò)、移動互聯(lián)網(wǎng)等高新技術(shù)的發(fā)展,智能終端的不斷普及和移動辦公自動化的興起,基于Android 智能終端的氣象預(yù)報與預(yù)警成為了研究熱點,針對特定的應(yīng)用需求開發(fā)了不同的氣象服務(wù)系統(tǒng)[7-17]。
本文基于Android 智能終端,設(shè)計和實現(xiàn)一種集氣象預(yù)報與災(zāi)害預(yù)警信息的儲存、管理、發(fā)布等功能于一體的氣象服務(wù)平臺,使氣象部門工作人員可隨時隨地了解當(dāng)?shù)貧庀鬆顩r,為管理部門對當(dāng)?shù)剞r(nóng)業(yè)、人工影響天氣、防洪減災(zāi)等做出決策提供參考,能有效滿足氣象部門對氣象與災(zāi)害預(yù)警的實時性和及時性需求,提高氣象與地質(zhì)災(zāi)害防災(zāi)決策工作的科學(xué)性和準(zhǔn)確性,最大限度地減少氣象與災(zāi)害對人民生命財產(chǎn)造成的危害。
系統(tǒng)分為客戶端和服務(wù)器端,包括數(shù)據(jù)層、處理層和應(yīng)用層3 個層次,如圖1 所示。其中,數(shù)據(jù)層和處理層運行在服務(wù)器端,應(yīng)用層包括客戶端功能和客戶端智能終端設(shè)備。系統(tǒng)框架中的各層具體功能描述如下:
1)數(shù)據(jù)層。提供系統(tǒng)運行所需的數(shù)據(jù)支撐,包括采集的氣象與災(zāi)害類原始數(shù)據(jù),以及通過氣象與災(zāi)害服務(wù)產(chǎn)品制作程序生成的產(chǎn)品數(shù)據(jù),數(shù)據(jù)的具體形式包括數(shù)據(jù)庫、圖片文件、非格式化的TXT 和Word文件,以及GIS 數(shù)據(jù)等。
2)處理層。實現(xiàn)各個業(yè)務(wù)邏輯,完成各種業(yè)務(wù)需求,包括氣象與災(zāi)害產(chǎn)品制作程序、產(chǎn)品管理系統(tǒng)、氣象預(yù)警預(yù)報數(shù)據(jù)的實時推送,以及為智能終端提供獲取數(shù)據(jù)層數(shù)據(jù)的Web Service。
3)應(yīng)用層。是系統(tǒng)服務(wù)的使用方式和表現(xiàn)形式,主要通過Android 智能終端設(shè)備訪問系統(tǒng)對外發(fā)布的各種功能。
圖1 系統(tǒng)框架結(jié)構(gòu)
系統(tǒng)客戶端的功能結(jié)構(gòu)如圖2 所示,主要包括天氣預(yù)報、氣象實況、氣象預(yù)警、專項預(yù)報和地災(zāi)服務(wù)這5 大功能模塊。
圖2 系統(tǒng)客戶端功能結(jié)構(gòu)
系統(tǒng)服務(wù)器端主要實現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)處理、氣象與地質(zhì)災(zāi)害類產(chǎn)品制作、基于Web Service 為客戶端提供數(shù)據(jù)獲取等功能。系統(tǒng)服務(wù)端架構(gòu)如圖3 所示。
圖3 系統(tǒng)服務(wù)端架構(gòu)
1)數(shù)據(jù)采集。實現(xiàn)系統(tǒng)所需數(shù)據(jù)的采集入庫,為整個系統(tǒng)的快速運行提供數(shù)據(jù)支撐。采集的數(shù)據(jù)類型包括:氣象實況數(shù)據(jù)(如區(qū)域自動站數(shù)據(jù)、雷達數(shù)據(jù)、衛(wèi)星云圖等)和氣象預(yù)報產(chǎn)品(市級天氣預(yù)報產(chǎn)品、市區(qū)主要場館及全市主要旅游景點天氣預(yù)報、短時臨近預(yù)報、鄉(xiāng)鎮(zhèn)精細化預(yù)報、城市火險預(yù)報、空氣污染氣象條件預(yù)報、生活氣象指數(shù)預(yù)報、全市主要交通干道天氣預(yù)報、城區(qū)內(nèi)澇氣象風(fēng)險等級預(yù)報、氣象災(zāi)害預(yù)警等)。采集方式根據(jù)服務(wù)器所在網(wǎng)絡(luò)狀態(tài),可采用FTP、局域網(wǎng)和DDN 等多種。
2)氣象與地質(zhì)災(zāi)害類產(chǎn)品制作程序。供專業(yè)人員基于原始數(shù)據(jù)進行產(chǎn)品制作,制作的產(chǎn)品包括氣象預(yù)報產(chǎn)品、預(yù)警預(yù)報和專項預(yù)報等。
3)Web Service?;赩isual Studio 2008 平臺,采用C#語言進行開發(fā),部署在服務(wù)器端作為智能終端設(shè)備、應(yīng)用程序和IE 瀏覽器等多種方式與服務(wù)端數(shù)據(jù)和產(chǎn)品進行交互的業(yè)務(wù)處理橋梁。
系統(tǒng)的實現(xiàn)需要解決的關(guān)鍵問題包括:獲取移動終端設(shè)備、氣象與災(zāi)害信息的實時推送機制、氣象與災(zāi)害信息在地圖上的圖形化顯示和標(biāo)注。
1)努力提升高職英語教師的專業(yè)水平?,F(xiàn)階段的高職英語教師普遍存在教學(xué)觀念老套等問題,在社會發(fā)展速度快、社會元素較多的今天,傳統(tǒng)方式已經(jīng)不能適應(yīng)學(xué)生的發(fā)展需要,雖然很多教師有著過硬的專業(yè)能力,但是在教育水平與教育方式方法的選擇上確是捉襟見肘,從而不利于課程的有利開展,更不能進行分層施教、因材施教等等,使得實際授課效果不盡人意。因此如果要提高學(xué)生的自主學(xué)習(xí)能力教師應(yīng)起到相應(yīng)的指導(dǎo)作用,采用合適方式方法,在尊重學(xué)生主體地位的同時,幫助高職學(xué)生在英語路上越走越遠。
本系統(tǒng)采用百度定位SDK,將終端設(shè)備的經(jīng)緯度轉(zhuǎn)換成位置信息。首先由用戶設(shè)置定位時間間隔,然后在Android 后臺服務(wù)主線程中注冊百度定位監(jiān)聽,實時獲取用戶當(dāng)前地理位置信息。該過程主要涉及GPS、MyLocationListener 和MyTask 這3 個類,GPS 類初始化時調(diào)用MyLocationListener 類方法獲取用戶的經(jīng)緯度信息,在MyLocationListener 類中調(diào)用MyTask類上傳用戶的經(jīng)緯度,從而獲取用戶的位置信息。該實現(xiàn)過程的關(guān)鍵代碼如下:
服務(wù)器端獲取氣象預(yù)警數(shù)據(jù)后,首先與上一次的預(yù)警數(shù)據(jù)對比,保存最新的預(yù)警數(shù)據(jù)到實時預(yù)警表中,保證預(yù)警信息的實時性。實時預(yù)警信息表中的數(shù)據(jù)都有一定的生命周期,即定時獲取服務(wù)端的時間間隔。監(jiān)控模塊通過定時地掃描實時預(yù)警信息表中的數(shù)據(jù),檢查是否存在最新預(yù)警信息,為保證既不向用戶重復(fù)發(fā)送預(yù)警信息,又不讓用戶錯過預(yù)警信息,將定時器與實時預(yù)警數(shù)據(jù)的生命周期設(shè)為一致即可。
本系統(tǒng)根據(jù)用戶位置信息獲取實時預(yù)警信息,向用戶主動推送,主要采用4 個類進行實現(xiàn)。
1)GetContentService 類:獲取網(wǎng)絡(luò)信息并存入數(shù)據(jù)庫;
2)WarningInfoService 類:從數(shù)據(jù)庫中獲取預(yù)警信息并推送給用戶;
3)DataControl 類:數(shù)據(jù)庫類,負責(zé)對服務(wù)器端數(shù)據(jù)庫的訪問;
4)WeatherApp 類:提供網(wǎng)絡(luò)數(shù)據(jù)的地址來源,將獲取的數(shù)據(jù)添加到數(shù)據(jù)庫。
為實現(xiàn)氣象災(zāi)害區(qū)域信息的直觀顯示,系統(tǒng)基于百度地圖對災(zāi)害信息進行圖形化的可視化交互設(shè)計,通過百度地圖提供的MapView 和MapController 這2個接口,實現(xiàn)對災(zāi)害信息的顯示和操作。首先實現(xiàn)BDLocationListener 接口中的onReceiveLocation 方法獲得用戶精準(zhǔn)的地理位置定位,然后自定義一個圖層類,并重寫百度地圖ItemizedOverlay 類中的draw 方法,以圓形陰影區(qū)域顯示周邊情況,最終通過Map-View 將自定義的圖層疊加到地圖上,實現(xiàn)更加豐富的圖層顯示。具體實現(xiàn)的關(guān)鍵代碼如下:
圖4 系統(tǒng)硬件部署結(jié)構(gòu)
本系統(tǒng)基于Android 平臺開發(fā),客戶端以Eclipse作為開發(fā)平臺,服務(wù)端采用Visual Studio 開發(fā)平臺,系統(tǒng)的運行和部署環(huán)境如圖4 所示。
服務(wù)器端運行Windows 操作系統(tǒng),采用SQL Server 數(shù)據(jù)庫管理系統(tǒng),通過IIS 部署后臺Web Service。智能終端Android 設(shè)備運行Android2.2 及以上版本,iPhone 設(shè)備運行iOS 5.0 及以上版本。
系統(tǒng)主要應(yīng)用界面如圖5 所示。
圖5 系統(tǒng)應(yīng)用界面
本文以移動互聯(lián)網(wǎng)、軟件工程和氣象與地質(zhì)災(zāi)害學(xué)理論為指導(dǎo),設(shè)計和實現(xiàn)了一種氣象與災(zāi)害預(yù)警預(yù)報服務(wù)系統(tǒng),解決了系統(tǒng)實現(xiàn)過程中關(guān)鍵問題,系統(tǒng)的實際應(yīng)用表明該系統(tǒng)符合商用軟件的要求。今后將進一步提高系統(tǒng)運行的效率,優(yōu)化系統(tǒng)性能,提高用戶體驗效果,擴展系統(tǒng)功能,實現(xiàn)一個真正意義上的氣象專業(yè)人員、管理人員及社會工作間的協(xié)同工作平臺。
[1]陳洪凱,唐紅梅,王林峰,等.地質(zhì)災(zāi)害理論與控制[M].北京:科學(xué)出版社,2011.
[2]鐘洛加,肖尚德,周衍龍.基于WebGIS 的湖北省地質(zhì)災(zāi)害氣象預(yù)警預(yù)報[J].資源環(huán)境與工程,2007,21(S1):104-106.
[3]周平根,毛繼國,侯圣山,等.基于WebGIS 的地質(zhì)災(zāi)害預(yù)警預(yù)報信息系統(tǒng)的設(shè)計與實現(xiàn)[J].地學(xué)前緣,2007,14(6):38-42.
[4]王遂纏,孫林花.基于Internet 平臺的災(zāi)害性天氣預(yù)警信號及氣象信息發(fā)布系統(tǒng)[J].氣象科技,2007,35(2):295-298.
[5]Herrera L,Mink B,Sukittanon S.Integrated personal mobile devices to wireless weather sensing network[C]//Proceedings of the IEEE Southeast Con 2010(Southeast-Con).2010:5-8.
[6]Intrieri E,Gigli G,Mugnai F,et al.Design and implementation of a landslide early warning system[J].Engineering Geology,2012,147-148:124-136.
[7]劉楓.Android 智能手機天氣預(yù)報系統(tǒng)設(shè)計及實現(xiàn)[J].計算機時代,2011(4):61-63.
[8]王赟,段燕楠,姚愚,等.氣象預(yù)警信息綜合發(fā)布平臺的設(shè)計與實現(xiàn)[J].成都信息工程學(xué)院學(xué)報,2011,26(6):656-662.
[9]閆娜,閆蕾.基于Android 的個性化天氣預(yù)報系統(tǒng)的設(shè)計與軟件實現(xiàn)[J].計算機光盤軟件與應(yīng)用,2012(7):155-156.
[10]Crowley G,Haacke B,Reynolds A.Realitime space weather forecasts via Android phone app[C]// American Geophysical Union,F(xiàn)all Meeting 2010.2010.
[11]王瑩,巨曉璇,李建科,等.基于Android 智能手機氣象服務(wù)系統(tǒng)的設(shè)計與實現(xiàn)[J].河南科技,2013(2):18-19.
[12]高鵬.基于安卓的移動氣象信息系統(tǒng)的設(shè)計與實現(xiàn)[D].大連:大連理工大學(xué),2013.
[13]孟富強,王忠偉.基于Android 平臺的新疆氣象移動終端系統(tǒng)設(shè)計[J].計算機光盤軟件與應(yīng)用,2013(16):51-52.
[14]王一姝.基于Android 系統(tǒng)的氣象災(zāi)情手機直報平臺的設(shè)計開發(fā)[J].安徽農(nóng)業(yè)科學(xué),2013,41(20):8773-8776.
[15]錢崢,趙科科,許皓皓.基于Android 的移動氣象信息服務(wù)系統(tǒng)設(shè)計與實現(xiàn)[J].氣象科技,2014,42(1):99-103.
[16]任齊,王遠飛,孫迪.基于Android 的LBS 系統(tǒng)研究[J/OL].http://www.paper.edu.cn/,2012-03-05.
[17]王冬霞,張玉輝.基于Android 天氣預(yù)報系統(tǒng)的設(shè)計與實現(xiàn)[J].科技廣場,2014(1):57-61.