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