李子平,周欽強,麥宗鑒,劉祖俐
(1.茂名市氣象局,廣東茂名 525000;2.廣東省氣象探測數(shù)據(jù)中心,廣東廣州 510640)
近年來,突發(fā)性短時極端強降水造成的山洪、城市內(nèi)澇給茂名造成了巨大的人員傷亡和財物損失,特別是茂名北部山區(qū)“雨窩”強降水區(qū)域多次發(fā)生山體滑坡、泥石流等次生地質(zhì)災害,是典型的氣象災害頻發(fā)區(qū)[1],提升茂名市災害性天氣監(jiān)測預警服務決策水平,提高氣象災害的防御能力,顯得非常迫切和很有必要。短時強降水的監(jiān)測依據(jù)主要是自動氣象站雨量數(shù)據(jù)[2],隨著廣東省向著更高水平氣象現(xiàn)代化邁進,自動氣象站實時的觀測資料到桌面越來越及時,對標“監(jiān)測精密,預報精準,服務精細”,增強茂名本地短時強降水的監(jiān)測預警手段和決策服務也提出了更高的要求。
目前,李江南[3]、高凌峰等[4]、常國旭等[5]、楊濤等[6]等已針對區(qū)域自動氣象站預警應用方面進行了研究。這些研究,基本上只實現(xiàn)了某一時次的雨量監(jiān)測預警或統(tǒng)計,而其他氣象要素監(jiān)測預警或數(shù)據(jù)分析處理、篩選結(jié)合精細化GIS應用的研究還未涉及。本研究介紹了一種通過C#、VB編程軟件結(jié)合PostgreSQL數(shù)據(jù)庫,通過實時調(diào)用廣東省氣象局IDEA數(shù)據(jù)接口的標準數(shù)據(jù),一方面實現(xiàn)對觀測數(shù)據(jù)的實時監(jiān)測和預警,另一方面將數(shù)據(jù)存儲在本地數(shù)據(jù)庫,根據(jù)預報服務、決策服務和防災減災服務的需要,可進行任意時間和數(shù)據(jù)要素的篩選、統(tǒng)計和長時間跨度的日雨量、時雨量、5 min雨量、最高溫度、最低溫度以及極大風速等觀測數(shù)據(jù)加工處理并實時疊加顯示在茂名市各縣(區(qū))的GIS地理信息上,實現(xiàn)全市或分區(qū)自動監(jiān)測預警、自動調(diào)用surfer繪圖、自動生成統(tǒng)計表格、填色圖和決策短信文本等基礎業(yè)務功能的監(jiān)測預警平臺。
該監(jiān)測預警系統(tǒng)的總體功能以實現(xiàn)對茂名全市自動氣象觀測站實時觀測數(shù)據(jù)監(jiān)測、預警以及對各種氣象要素的數(shù)據(jù)綜合統(tǒng)計處理為目標,總體架構(gòu)如圖1所示。
圖1 自動氣象站數(shù)據(jù)監(jiān)測預警應用系統(tǒng)總體功能結(jié)構(gòu)示意圖
該系統(tǒng)主要功能:
(1)實時氣象觀測數(shù)據(jù)可視化操作。主要是實現(xiàn)從廣東省氣象局業(yè)務網(wǎng)IDEA數(shù)據(jù)庫接口對茂名全市所有的自動氣象觀測站觀測數(shù)據(jù)實時獲取并存儲的本地數(shù)據(jù)庫,實現(xiàn)按各觀測站點的經(jīng)緯度信息實時在茂名市精細化GIS上顯示實時風速、風向、溫度等各觀測要素值,為氣象服務、防災減災提供各種觀測數(shù)據(jù)的參考。
(2)氣象觀測資料數(shù)據(jù)綜合統(tǒng)計分析和加工處理。主要是實現(xiàn)各類氣象觀測要素數(shù)據(jù)的篩選、統(tǒng)計分析和加工,包括任意時間段氣溫、降水量、氣壓、風等觀測資料的查詢和歷史資料的統(tǒng)計分析,采用軟件后臺運行方式。
(3)調(diào)用統(tǒng)計資料繪制地域空間分布圖。主要是實現(xiàn)軟件系統(tǒng)對氣溫、降水等要素數(shù)據(jù)統(tǒng)計加工后,直接調(diào)用VB生成的Surfer自動繪圖ActiveX控件,在茂名市GIS信息系統(tǒng)上完成自動繪圖。
(4)自動生成服務和決策輔助短信功能。預設特定的閥值,對選定時間段的氣溫、總降水量、極大風速等特定選項資料進行統(tǒng)計和篩選,通過后臺相關函數(shù)自動計算判斷和識別相應值所占總量的百分比。
(5)相關輔助功能。主要用來實現(xiàn)以上所描述的功能輔助。包括站點信息資料編輯、站點選擇、地形圖和河流加載等。
茂名全市現(xiàn)在有將近180個自動氣象站,每天入庫的觀測數(shù)據(jù)非常龐大,為了更好實現(xiàn)系統(tǒng)的預定設計功能,盡可能提高數(shù)據(jù)入庫速度和效率,綜合考慮數(shù)據(jù)的查詢速度和使用操作方便、簡易,該系統(tǒng)設計了數(shù)據(jù)實時讀取、數(shù)據(jù)實時入庫存儲,以及應用操作終端3個邏輯層面。
(1)數(shù)據(jù)實時調(diào)取程序通過掃描廣東省氣象局IDEA數(shù)據(jù)庫接口,實時從IDEA接口中調(diào)取茂名市的自動站氣象觀測資料,包括小時數(shù)據(jù)、5 min數(shù)據(jù)等地面資料。
(2)數(shù)據(jù)庫采用免費的PostgreSQL,庫表采用主、分表設計,庫表結(jié)構(gòu)設計方案如圖2所示。小時數(shù)據(jù)、5 min數(shù)據(jù)各建一張主表,其中時數(shù)據(jù)表記錄每小時整點數(shù)據(jù)和常規(guī)資料,5 min數(shù)據(jù)表記錄5 min觀測數(shù)據(jù),但是由于時、分記錄的地面資料數(shù)據(jù)量龐大,因此在數(shù)據(jù)表下再另設分表,每隔1年再建一張子表,子表數(shù)據(jù)結(jié)構(gòu)繼承父表,對應年份的數(shù)據(jù)存放到對應的子表。該設計解決了隨著存儲的數(shù)據(jù)資料龐大而查詢速度較緩慢的問題,在數(shù)據(jù)量龐大時依然能實現(xiàn)對數(shù)據(jù)的快速分類查詢統(tǒng)計和操作。其中,數(shù)據(jù)實時讀取和數(shù)據(jù)庫部署在不同的機器上,互相之間通過內(nèi)部千兆網(wǎng)絡鏈接,可有效解決平臺服務器運行壓力,為可視化軟件操作終端對數(shù)據(jù)的檢索創(chuàng)造了穩(wěn)定的基礎條件。
圖2 數(shù)據(jù)庫邏輯結(jié)構(gòu)設計示意圖
(3)應用操作端在基礎數(shù)據(jù)庫提供的數(shù)據(jù)服務平臺上,通過內(nèi)部網(wǎng)絡快速訪問數(shù)據(jù)庫,實現(xiàn)各種基于茂名精細化GIS的可視化觀測數(shù)據(jù)操作。
茂名市和茂名各縣(區(qū))的地理信息系統(tǒng)(GIS)以ArcGIS的市、縣一級圖層數(shù)據(jù)為信息源,通過ArcGIS10把地圖數(shù)據(jù)導出為Shapefile文件數(shù)據(jù),使用C#讀取Shapefile的矢量數(shù)據(jù),實現(xiàn)對茂名和茂名各縣(區(qū))的GIS信息圖層的分區(qū)繪制。通過C#的控制技術和控件組合,繪制界面透明圖層的顯示和疊加,實現(xiàn)點擊鼠標操作對各GIS系統(tǒng)圖層的放大、縮小、拖動等基本操作功能,并在地圖界面可疊加顯示站點、站名,各氣象要素和地形、境內(nèi)河流等。通過預設定,可根據(jù)需要選擇相應的區(qū)域自動氣象站、國家級地面氣象觀測站,各自動氣象站點的經(jīng)緯度信息通過預設TXT文本直接導入并且可編輯,用戶可以很方便、直觀地瀏覽各氣象要素資料的時空分布特征[7],根據(jù)不同監(jiān)測預警級別需要,可選擇茂名全市或某個縣區(qū)進行顯示,其中縣一級圖層精細到鎮(zhèn)。以茂名市和電白區(qū)的圖層界面為例,效果如圖3所示。
圖3 茂名市(a)和電白區(qū)(b)GIS信息圖層
(1)5 min實時數(shù)據(jù)??蛇x自動刷新或手動刷新,實時顯示所選站點的實時氣溫、2 min風、10 min風等。20:00(北京時,下同)雨量和08:00雨量,軟件系統(tǒng)根據(jù)當前計算機時間自動進行判別,如當前時間大于08:00,數(shù)據(jù)的查詢開始時間選在08:01,如當前時間小于08:00,則當有數(shù)據(jù)查詢請求時,自動對前一天20:00或當天08:00到當前時間段的雨量數(shù)據(jù)自動統(tǒng)計和甄別,通過按不同量級用不同顏色在地圖上顯示,主要代碼如下:
(2)數(shù)據(jù)統(tǒng)計模塊。數(shù)據(jù)統(tǒng)計模塊可選時數(shù)據(jù)或分鐘實現(xiàn)任意時間段的時雨量、最大時雨量、極大風速、最高和最低氣溫等相關數(shù)據(jù)資料的統(tǒng)計和篩選。
(3)雨量和風速預警模塊。用C#自帶的定時器函數(shù)將系統(tǒng)軟件處于監(jiān)控狀態(tài),按相關規(guī)定的級別設定閥值,系統(tǒng)每2 min對新存入的風速數(shù)據(jù)進行一次查詢,每5 min對當前時間1 h內(nèi)雨量進行自動統(tǒng)計判斷,對如有達到或超預警閥值的,發(fā)出聲音和圖文預警,軟件選擇操作界面如圖4示。
圖4 軟件系統(tǒng)篩選統(tǒng)計(a)和監(jiān)控預警(b)選項界面
輔助功能主要用來實現(xiàn)調(diào)用surfer自動進行填色、短信文本生成、繪圖資料編輯、數(shù)據(jù)導出等。數(shù)據(jù)導出功能可把查詢到的要素數(shù)據(jù)直接生成文本或excel格式相應文件,在生成的文件后綴直接命名為csv文件,excel軟件即可打開。
為了減少在C#中調(diào)用surfer控件的工作量,在本設計中采用VB軟件制作Surfer8的ActiveX控件[8],當系統(tǒng)有填色圖響應時直接調(diào)用該控件,即可自動繪制相關要素的空間分布圖。于平等[9]已經(jīng)研究過用VB制作Surfer繪圖控件,該技術已應用在相關業(yè)務中。把VB調(diào)用Surfer8自動繪圖的原代碼生成控件,在C#中直接調(diào)用此控件即可實現(xiàn)根據(jù)相關數(shù)據(jù)自動出圖。
針對茂名本地氣象服務要求,該軟件系統(tǒng)按以上所述進行設計,構(gòu)建了不同的數(shù)據(jù)處理功能模塊,并能將相關的數(shù)據(jù)要素正確的以圖表形式呈現(xiàn)出來,實現(xiàn)了對觀測數(shù)據(jù)自動檢索、篩選處理,實現(xiàn)了按實際空間分布的數(shù)據(jù)圖形操作并能進行空間分析,為業(yè)務人員提供了便利的數(shù)據(jù)檢索平臺,目前該軟件系統(tǒng)已實現(xiàn)了在基層氣象臺的業(yè)務使用。
2020年第7號臺風“海高斯”于2020年8月19日06:00前后在珠海市金灣區(qū)登錄,受“海高斯”外圍云系影響,2020年8月17—20日茂名全市出現(xiàn)小到中雨、局部大暴雨的降水過程。使用該軟件系統(tǒng)對17日08:00至20日20:00的過程雨量、小時最大雨量、極大風速等進行統(tǒng)計和作空間分布圖,其主要實現(xiàn)如圖5所示,其中總降雨量用不同的顏色顯示以區(qū)分不同的降雨量級。
圖5 2020年8月17日08:00—20日20:00累計降雨量(單位:mm)和極大風速(單位:m/s)
本軟件應用系統(tǒng)設計用ArcGIS矢量數(shù)據(jù)資源接口為數(shù)據(jù)源,利用C#和VB的控件組合與控制技術,以茂名市精細化地理信息系統(tǒng)(GIS)為基礎依托,結(jié)合PostgreSQL數(shù)據(jù)庫,從廣東省氣象局業(yè)務網(wǎng)IDEA標準數(shù)據(jù)庫接口調(diào)取實時觀測資料,實現(xiàn)了基于茂名市精細化GIS的自動氣象站數(shù)據(jù)監(jiān)測預警系統(tǒng)。
該軟件優(yōu)點是有豐富的數(shù)據(jù)存儲、查詢功能和篩選、統(tǒng)計的方法,簡單明了的圖形操作方式,業(yè)務人員可快速實現(xiàn)對資料進行篩選、統(tǒng)計分析和加工處理,尤其是在臺風、強降水過程中可及時掌握風速、雨情等實況的基本變化,為決策服務提供及時、準確的數(shù)據(jù),并能按要求完成數(shù)據(jù)導出和繪圖等基礎功能,在茂名市基層氣象服務中使用良好,對“監(jiān)測精密,預報精準,服務精細”的要求有很好的提升作用。因數(shù)據(jù)量大,軟件系統(tǒng)在數(shù)據(jù)調(diào)取上只采用了實時的要素資料,缺乏對相關數(shù)據(jù)的質(zhì)量控制,這還有待繼續(xù)研究改進。