王, 段燕楠, 姚 愚, 何 俊, 甄廷忠, 張秀年
(1.昆明市氣象局,云南昆明650034;2.云南省氣象局,云南昆明650034)
近年來,隨著中國極端天氣事件增多,突發性、局地性氣象災害呈現多發、頻發、重發態勢,氣象災害監測預警及信息發布工作面臨著嚴峻挑戰,傳統、單一、低效率的信息發布方式已難以滿足日益提高的氣象服務需求,各地氣象部門非常重視氣象監測預警信息發布系統的建設,從提高氣象預警信息準確率及制作發布的實效性和針對性出發,利用GIS、數據庫、WAP Push、SMS、GPRS等多種信息技術或手段,以C/S、B/S等多種結構在氣象監測預警以及信息發布工作方面做了大量研究。其中吳孟春等利用無線通信網絡GPRS實現了預警終端的數據傳輸以及建立了氣象信息管理平臺,實現了氣象災害預警信息的發布;羅保華等[1]從提高氣象預警信息準確率及制作發布的實效性和針對性出發,應用電子地圖和雷達產品、區域自動站等資料的疊加,研發了地市級氣象災害短信預警系統;深圳市關于氣象災害分區預警系統研究實現了分區預警信號自動提示、編輯、制作和各傳播渠道的自動分發[2];此外福建省、河北省也分別以全球地理信息系統(GIS)為基本模式和針對山區地質災害預警方面做了大量研發工作[3-4],全國各地其他氣象部門在氣象監測預警信息發布方面也做了大量研究[5-6];針對GIS技術的應用,段英杰等就基于Mapx控件的GIS系統建設進行了探討與實踐,王斌貝等[7]也基于delphi和MapObjects論述了桌面GIS系統在氣象自動站方面的應用。
結合各地氣象部門在預警信息制作發布上的經驗及現代信息技術的發展,昆明市氣象局為集成電子顯示屏、氣象預警機、手機短信等多種氣象服務信息的發布手段,提高對外服務的信息化水平,組織開發了基于GIS的氣象監測預警信息綜合發布系統。

圖1 氣象預警綜合發布平臺實體關系圖
系統在功能上以實現電子顯示屏、氣象預警大喇叭、決策手機短信以及WEB網站等各類信息終端基于GIS平臺的信息綜合發布主要目標,利用當前主流的信息技術將觀測產品獲取及顯示、確定預警范圍、信息綜合發布有機的統一在一起,簡化工作流程,提高對外服務的信息化和自動化水平。主要功能分為以下5個方面:無錫、華創兩類自動氣象站的數據整合讀取;獲取雷達回波產品并在GIS平臺上的疊加顯示;以圖形、矩形、多邊形(圈、框、勾)選的方式在發布平臺界面上確定氣象預警信息發布的地理范圍并自動對地理范圍內所屬的信息終端進行查詢;將多類終端的信息發布整合到本系統;其他相關輔助功能。
系統開發的編程語言使用CodeGear Delphi 2007,在網絡數據庫MS-SQLSERVER的支持下,采用C/S(客戶/服務器)模式,嵌入Arc MapObjects地理信息控件,使用本地Shape矢量文件支持系統GIS資料訪問,內置獨立數據庫訪問模塊,是一個集信息綜合發布、數據庫、GIS和雷達圖形產品為一體的綜合系統。系統使用的資料有:存放在網絡數據庫中的兩要素氣象觀測資料(包括逐小時降水量、氣溫);GIS本地Shape矢量文件(雷達探測范圍的區域邊界、作為點對象存儲的氣象電子屏、氣象預警機、決策服務手機終端的圖層文件);1000*1000分辨率、GIF格式的基本反射率(Base Reflectivity)、組合反射率(Composite Reflectivity)的雷達回波圖形產品。
系統設計了具有4層邏輯結構的框架體系:數據層、操作層、應用層以及用戶層。除了最高層次用戶層直接實現終端服務以外,低層3個層級結構業務邏輯分離,在實現中可以分布內部局域網、外部聯網的信息設備中,層次基于不同的功能明確劃分,為系統的有效運行創造了條件。數據層主要包括由區域自動站資料服務器、國家級氣象站資料服務器獲取自動氣象站實時數據,由多普勒雷達資料服務器獲取GIF格式圖形數據,支持地理信息系統的本地Shape矢量文件。操作層通過采用delphi開發或使用具有獨立功能的通用組件,包括地理信息組件(Arc MapObjects組件),數據庫訪問組件(ADO)等。應用層主要實現獲取操作層傳遞的數據并將寫定的氣象預警信息發布到手機、電子顯示屏、氣象預警機等終端。
框架模型通過以下技術處理來滿足實際需要:在數據層中,通過利用SQL Server數據庫的作業調度、視圖處理實現不同自動氣象站數據的整合,基于FTP技術實現雷達回波圖形產品的實時調用并在本地存儲Shape矢量文件,將各類產品和相關地理信息資料也納入統一管理。在操作層中,結合數據庫訪問組件(ADO)編程實現自動站資料庫的數據訪問,利用Arc MapObjects組件實現地理信息系統功能,基于各類信息終端提供的信息發布接口,通過結合Web Service的信息技術編程實現不同終端的信息發布。在應用層實現各種信息發布功能模塊的集成,通過接口和系統將功能相對獨立的不同終端的信息發布集成在一起,為用戶層提供統一的氣象災害預警信息,實現系統設計的總體目標。
由于系統涉及到的功能較多,因此需要對整個系統的業務流程進行規劃,根據業務功能的需求及系統框架模型的特點,將整個系統流程劃分為基礎數據產品獲取,數據產品的處理及GIS功能的實現、信息綜合發布3個部分,系統首先須獲取自動站、雷達回波等基礎觀測數據產品并將其集成于系統之中作為下一步預警范圍確定的參考,其次是綜合各類產品,結合預報,基于GIS功能實現預警內容和預警范圍的確定,最終通過各類信息終端的數據接口實現預警信息在平臺之上的綜合發布。

圖2 系統框架模型
在數據獲取過程中,首先基于內部網絡,讀取數據庫內國家級氣象站及區域自動站的觀測數據,同時應用ftp技術獲取存放于服務器上的固定格式雷達回波圖形產品,加以配準后作為圖層疊加于地圖之上,結合短時臨近天氣預報,以此作為確定預警信息范圍的依據。
地理信息功能的實現主要體現在GIS本地Shape矢量文件(區域邊界、信息終端圖層)與雷達回波圖形產品的疊加顯示,基于地理信息系統的空間關系、對象查找等功能,以圖形、矩形、多邊形確定預警的地理范圍并實現范圍內信息發布終端的選擇。
信息發布方面,由于多種終端分別基于GPRS、CDMA1X等通信技術實現信息的發布,如果重新編寫所有終端的信息發布程序存在效率低、難度較大等問題,在設計過程中,主要考慮利用設備提供商或網絡運營商預先開發的信息發布接口來編寫程序,以插入電子屏數據庫記錄發布電子屏信息,利用電信提供的Web Service短信發布接口發布決策預警短信,利用http協議發布數據包到互聯網實現插入發送記錄到預警機信息發布平臺的功能,最終完成各類預警信息在平臺上的綜合發布。
自動氣象站包括國家級站點和昆明地區區域自動站,根據業務需求,國家級氣象站數據通過內網光纖直接進入省級氣象部門數據庫,需要通過遠程登錄到省局的SQL數據庫獲取數據并將其實時同步到本地。
區域自動氣象站的觀測數據則基于GPRS技術發送到本地數據庫,當前昆明地區主要采用無錫和華創兩類站點,為了實現數據在系統上的高效查詢,需要提前整合兩類數據,主要是利用Microsoft Sql Server的數據同步、SQL代理、作業調度、視圖等技術,在SQL服務器上部署作業,逐小時將兩類站點的雨量數據同步到同一臺服務器下的同一個數據庫,再通過自定義SQL的SELECT語句以檢索數據來創建視圖,將分屬兩個數據表的無錫、華創自動氣象站數據按照統一的字段名、統一的字段格式導入到同一個視圖,實現數據的虛擬整合,便于后續軟件編程工作中對數據的提取及運算。

以上的sql語句功能為創建視圖ALLStation(整合數據后的視圖),并將其字段統一為華創自動站的字段名稱,以便在對兩類自動氣象站使用統一的代碼對視圖AllStation進行數據庫操作以實現數據的統計查詢,簡化了數據查詢部分的程序編制工作。
雷達觀測產品是短時臨近天氣預報的重要參考依據之一,通過雷達回波所處的位置、強度及移動的方向與速度可以判斷短時間內局地天氣過程發展的趨勢,對于預警信息地理范圍的確定有著重要的參考性。
目前,由昆明市氣象局開發,在全省推廣使用的云南省雷達拼圖軟件以GIF圖形格式為軟件終端提供產品,這一模式已相當成熟,基于該模式,在棋盤山天氣雷達站的產品生成服務器上增加功能,實現定時以固定格式、固定分辨率生成昆明雷達回波圖的GIF圖形格式產品并發布到指定的FTP服務器,以便預警信息綜合發布平臺的實時調用并將其作為確定預警地理范圍參考依據的Image圖層疊加到系統中的地圖圖層之上。
3.3.1 相關功能描述
系統采用ESRI公司供開發人員使用的制圖與GIS功能組件(ActiveX控件)MapObjects實現,基于MapObjects,可以實現多個圖層的地圖操作,選擇要素特征的統計,查詢和更新選擇要素特征的屬性數據,基于要素統計制作各種專題分析圖。

圖3 氣象預警綜合發布系統流程圖
訪問數據庫進行各種數據統計不是Mapobjects的強項,因此在該系統設計中,訪問數據庫,基于時間、站點等條件對氣象數據分析統計的功能部分由面向對象的程序設計語言Delphi完成,并將統計結果按指定格式導入MapObjects的圖層數據存儲文件(*.Dbf)文件中供系統調用。自動站站點信息及數據在GIS平臺上數據的查詢通過Mapobjects的SearchExpression功能實現查找點或者是點定位,再將查詢到的點數據作為新的查詢參數對Dbf數據庫進行再次查詢,從而得到查詢的結果數據并在系統中顯示,作為基礎數據供下一步信息編輯、發布工作參考。
自動氣象站、電子顯示屏、氣象預警機、決策服務手機均作為點對象圖層在系統中逐一疊加,同時將雷達回波的圖形產品通過進行地理配準,以圖形分辨率、圖形范圍經緯度進行換算,編輯圖形配準文件,確定圖形的每一個像素在地理坐標上的精度,使圖像數據與具有大地坐標的Shape數據精確集成在一起。此外,為了實現更加方便、準確的定位,也可以采用ArcMap提供的Georeferencing工具,在無投影、無配準的雷達回波GIF文件與雷達探測范圍的區域邊界之間添加多個控制點后自動生成配準文件(*.gfw),實現雷達回波在GIS平臺上的精確配準、疊加顯示。
MapObjects可以識別地圖上被選中的元素,通過線,方框,區域,多邊形,圓來拾取物體。基于 MapObjects提供的開發接口,系統的程序部分在選擇圓、矩形或多邊形的選擇方式后,對電子顯示屏、氣象預警機、決策服務手機的圖層逐層進行查詢操作,判斷各圖層位于已確定地理范圍內的信息終端。
3.3.2 部分功能的代碼實現
限于篇幅,列舉部分代碼如下:

以上代碼為實現鼠標在地圖空間上移動時自動判斷若移動到自動氣象站某個站點之上則顯示該站點的基本信息。


以上代碼為實現查詢單一圖層站點是否在選定的地理范圍(rect)之內,如果確定這將其與信息發送相關的站點信息保存到一個字符串以備信息發送功能模塊的調用。
考慮到重新編寫較底層的Socket通信程序效率較低且存在穩定性問題,信息發布功能設計方面主要從應用角度出發,在結合地理信息系統技術確定信息發布終端的前提下,基于數據庫技術、http協議、Web Service等信息技術,利用設備提供商、通信運營商提供的信息發送接口,實現預警信息到多種終端的統一發布,同時為下一步實現預警信息到本地氣象網站及其他WEB服務平臺的同步發送預留接口。
系統提供預警信息的人機交互編輯功能,可通過下拉列表快速選擇預警信息類型、預警等級,發布單位、預警時效等預警信息相關內容,預警發布的行政區范圍可通過勾選指定的縣市區來確定,通過程序智能組合、在預警信息內容的文本框自動確定信息編輯時間并生成預警信息。簡化了信息編輯的流程。
3.3.1 電子顯示屏信息發布
昆明地區的電子顯示屏信息發布目前已有成熟的發布平臺,后臺的發布程序經測試可支持至少4000個以上終端的信息發送,原有的發布平臺是先按固定的格式將需要發布的預警信息的類型、內容、時效、影響范圍、發布站點等相關數據寫入SQL Server的數據庫表中,供多線程的Socket通信程序調用后,基于GPRS技術,通過中國移動的通信網絡將預警信息發布到終端。
系統中,通過確定預警范圍可確定作為信息發布對象的電子顯示屏并讀取出終端硬件ID號,系統根據選擇的對象,將通過人機交互編輯好的預警信息作為表記錄逐條逐站點寫入電子顯示屏數據庫,供設備廠商提供的后臺發布程序查詢調用以實現信息發布的功能。
3.3.2 決策手機短信發布
系統將市、縣、鄉三級地方政府、氣象防災減災相關部門負責人或工作人員的手機以其所負責范圍或所在地的經緯度坐標作為基礎數據,制作對應的地理信息點圖層,通過預警范圍的選擇確定是否向該手機終端發送預警信息。
因考慮到決策用戶所使用的手機包含了移動、聯通、電信3大運營商提供的手機號碼,故系統短信發送平臺主要采用中國電信提供的、可指定目標號碼為3大運營商移動號碼的發送接口,實現跨網絡、覆蓋面更廣的預警信息服務。
電信提供短信發送接口服務器,使用標準的Web服務描述語言(Web Services Description Language,WSDL)向外界應用客戶端描述它所提供服務的內容,客戶端需要以規定的標準協議來調用此服務,基于互聯網提供的短信接口smssend.asmx可利用Delphi的導入工具將其轉化為可用的接口單元文件,以便系統調用其中的發送信息函數SendMsg將需要發送的短信數據通過簡單對象訪問協議(Simple Object Access Protocol,SOAP)的方式將數據經MD5驗證后發送至電信服務器。
系統將編輯好的信息基于Web Service技術通過10M光纖直接接入并發送到電信短信網關實現氣象預警信息的高效發布。此外,預警信息的發布也可以通過中國移動提供的短信機,基于專線接入移動短信網關,實現對移動用戶短信的發布,通過提供短信發布的備用線路,提高信息發布的可靠性。
3.3.3 氣象預警機信息發布
昆明地區的氣象預警機本身提供了一個基于B/S(瀏覽器/服務器)結構的預警信息發布平臺,預警機的信息基于中國電信的CDMA1X網絡發布,為了實現預警機信息發布與論述的信息發布平臺的無縫對接,預警機廠商提供了一個基于http協議的發送接口(sendmsg.php),系統提交預警信息及發布對象的相關信息,實際的信息發布工作由氣象預警機信息發布平臺的后臺程序來實現。
Http協議的POST方法可以請求服務器接收包含在請求中的實體信息,可以用于提交表單,向新聞組、BBS、郵件群組和數據庫發送消息,平臺中對預警機的信息發布通過http協議post方法提交,提交的請求信息中包含預警短信的內容、驗證的用戶名、密碼、預警機終端的ID號、信息編碼的方式等一系列參數,

以上代碼用于向服務器提交預警機信息發送的請求,post方法包含接收請求的服務器參數以及預警機信息的相關參數,GetSendParam(參數略)為系統程序中獲取預警內容、終端ID號等一系列請求信息參數的函數,具體獲取各參數的過程及代碼因其難度較低且通用性不高,在此不再贅述。

圖4 預警短信發布流程圖

圖5 氣象預警信息發布系統界面
氣象預警信息綜合發布平臺基于地理信息系統(GIS),實現了雷達回波作為Image圖層、電子顯示屏、氣象預警機、決策服務手機終端作為點對象圖層在系統上的疊加,以雷達回波作為確定預警范圍的重要依據,系統采用圓形、矩形、多邊形3種框選方式確定預警區域并對所選區域內的圖層進行逐層查詢,獲取地理范圍內電子顯示屏、氣象預警機、決策手機終端的硬件ID號以便信息發送模塊的逐個讀取調用后發送信息。系統界面主要分為顯示控制、圖層管理、數據顯示、預警范圍定位控制、預警信息編輯等多個功能區,系統主界面如圖5所示。
基于GIS的氣象監測預警信息綜合發布系統實現了自動氣象站數據、雷達回波圖形產品的自動獲取以及在地理信息系統上的圖層疊加,利用SQL技術實時讀取自動站雨量信息并寫入自動氣象站的圖層數據,以兩類綜合觀測數據產品作為參考依據,更加直觀可視的確定預警信息發布的范圍。并提供了人機對話高效編輯氣象預警信息的功能,整合了氣象電子顯示屏、氣象預警機、決策短信以及WEB網站等多種信息發布終端的發布平臺,基于GPRS、CDMA1X、WebService等通信、軟件技術實現了信息的同步、高效發送,提高了預警信息發布的信息化和自動化水平。
致謝:感謝昆明市科技項目(昆科計字085080002)對本文的資助
[1]羅保華,童以長,張深壽,等.地市級氣象災害短信預警系統[J].氣象科技,2007,35(5):755-758.
[2]蘭紅平,陳訓來,孫向明,等.深圳市氣象災害分區預警系統研究[J].氣象科技,2010,38(5):629-634.
[3]楊林.基于GIS的福建省氣候監測與災害預警系統[J].氣象科技,2005,33(5):474-477.
[4]尤鳳春,史印山,郭麗霞.河北省山區地質災害氣象預警系統[J].氣象科技,2008,36(6):818-821.
[5]崔勁松,張濤,楊雨春.GPRS/GIS技術在自動雨量監測網中的應用[J].氣象科技,2006,34(2):205-209.
[6]馬翠平,楊榮芳,劉建文,等.氣象災害農村預警發布系統[J].氣象,2008,34(9):112-116.