王囝囝 鄒善勇 劉曉初



摘要 介紹了市級雨量數據圖形處理分析顯示系統的設計思路及其功能特點。該系統引用MeteoInfo類庫開發,基于數據庫系統,采用模塊化設計,由獨立的模塊完成數據錄入、質量控制及分析處理等功能;該系統具有高度自動化、使用方便簡捷等特點,滿足業務工作的雨量數據監控、圖形顯示等需要,在各級氣象部門具有很好的推廣和實用價值。
關鍵詞 雨量數據圖形處理分析顯示系統;開發;應用;雨量計色斑圖;MeteoInfo類庫
中圖分類號 S16 文獻標識碼 A 文章編號 0517-6611(2016)05-220-05
Abstract We introduced the design thought and functional characteristics of processing analysis system of municipal rainfall process data graphical display system.This system introduced MeteoInfo library development, and adopted modular design based on database system.Independent module was used to complete the data entry, quality control, analytical processing and so on.The system had the characteristics of high automation, simple usage and so on, which met the requirements of rainfall data monitoring and graphical display of operation service.This system had high promotion and practical values in all levels of meteorological departments.
Key words Rainfall process data graphical display system; Development; Application; Rainfall pattern; MeteoInfo class library
隨著氣象現代化業務的快速推進,各地氣象部門加大投入建設各種儀器觀測設備,獲取高時空分辨率的觀測資料。其中自動雨量站作為建設中的重點,數量快速增加。如何快速有效地處理、分析、顯示高密度的雨量數據,以促進氣象預報服務能力水平的提高,成為各地氣象部門急需解決的問題。各地氣象部門結合當地實際工作需求開發出大量實用、高效的雨量顯示分析處理程序。大連地區地處遼寧半島南端,三面環海,地質環境復雜,轄域內夏季強對流天氣多發,容易促發山洪地質災害。因此,充分利用加密自動站雨量數據做好強降水天氣的預警工作,能夠提升大連地區防災減災整體能力。
在開發大連區域雨量數據圖形處理分析顯示系統時,技術人員參考各地氣象部門開發的系統平臺設計思路[1-7],設計開發了大連地區市級雨量數據圖形處理分析顯示系統作為開展日常業務工作的支撐工具,在日常的短臨預報預警工作中發揮出重要作用。筆者對該系統的設計思路、功能特點及具體實現進行了介紹,以期為有同樣開發需求的技術人員提供借鑒作用。
1 設計思路
雨量數據圖形處理分析顯示系統作為開展日常業務工作的基礎工具,滿足業務工作需要且穩定運行是首要的研發目標,因此需要符合高時效性、可靠性、可擴展性等原則。
雨量數據圖形處理分析顯示系統基于C/S結構,采用模塊化設計,由數據錄入系統、數據庫系統和數據分析顯示系統3部分組成。數據錄入系統完成對各自動雨量站的采集,進行質量控制后操作入庫;數據庫系統對所有的站點數據進行統一存儲管理;數據分析顯示系統用于對自動站雨量的圖形監控分析顯示。該系統采用Dot Net軟件開發技術,基于SQL SERVER 2005數據庫系統開發,適用于Windows系列操作系統。系統結構設計合理、操作簡捷、運行速度快、自動化程度高。
2 系統功能及實現
2.1 數據庫系統
雨量數據圖形處理分析顯示系統處理整個大連區域所有雨量站點,包括山洪站、海島站、浮標站等共計219個(圖1)。各站點10 min上傳一組溫度、降水、風向、風速等氣象要素數據。站點多、數據上傳頻度高,對數據庫的操作頻繁,因此數據庫設計的優劣是確定后續數據量大、訪問用戶多時是否能夠確保響應及時高效。在對比各種數據庫系統且綜合考慮性能、開發技術難度和人員學習難度等因素的情況下,決定采用SQL SERVER 2005數據庫系統,作為當前主流流行的商用數據庫系統,其具有功能強大、維護操作簡單等特點,很適合該項目的建設。
數據庫結構設計是否合理,在存儲處理大數據量時性能表現差異明顯。考慮到各自動站點觀測的氣象要素多達50多項,其中許多要素并未用于雨量監測預警業務,因此在設計數據庫表結構時,僅設計存儲部分要素的字段結構,減輕數據庫存儲的壓力;由于各站點24 h不間斷采集數據,數據庫記錄數快速增加,在兼顧數據庫訪問效率的時候需考慮數據的實時庫和歷史庫的自動轉換。系統建立了實時庫和歷史庫,當實時庫數據量達到一定量級后將自動轉存至歷史庫;當檢索數據時,系統能夠自動跨越實時庫和歷史庫完成用戶的查詢操作,實現面向用戶的透明化操作。
2.2 數據錄入系統
數據錄入系統按結構和功能劃分為數據實時監控掃描模塊、數據質量控制模塊、數據資料錄入模塊和數據庫備份模塊4個模塊。
2.2.1 數據實時監控掃描模塊。大連地區的自動站儀器設備采購于多個廠家,各廠家都提供了數據庫和文件系統2種數據檢索方式。系統在采集各站點數據時,由于各廠家設備配備的數據庫系統類型多樣、數據庫表字段結構差異大,難以直接應用,嘗試過同步各產品的數據庫數據至自定義的雨量數據分析系統的數據庫內,但在長時間的測試過程中發現經常出現對方數據庫系統響應緩慢,甚至無法建立鏈接的情況。分析原因主要在于對方數據庫在頻繁響應數據同步模塊的同步操作的同時,還需完成大量站點的數據錄入操作,數據庫負擔重,難以保障同步操作過程數據的完整性。因此,系統在錄入數據操作時考慮另外一種處理方案,解析處理各站點的數據文件,解析入庫操作,降低數據庫的操作頻度。
各站點的雨量數據上傳后存儲在信息中心的FTP服務器上,數據實時監控模塊對服務器的特定目錄進行實時監控掃描,當掃描到有新文件生成時,將新文件取到本地目錄,為數據的后續處理做好準備。系統在獲取數據的過程中,獲取臨近時間段內FTP服務器和本地目錄的文件列表,對比文件列表,監測到新文件啟動數據下載操作,從而保證數據獲取的及時性,確保新數據生成時能夠被掃描監測到,但不重復獲取數據,提高數據的處理效率,保證數據庫系統的高時效性,能夠實時反映雨量的變化分布情況。
2.2.2 數據質量控制模塊。由大量監測儀器設備高頻度采集的數據經常會因為儀器設備故障出現格式錯誤、無效記錄等數據,而錯誤記錄的混入會影響系統的應用,導致業務人員對天氣變化形勢的誤判,因此數據的質量是確保系統是否滿足實際工作需要的關鍵,而確定錯誤數據文件中剔除無效信息,確保數據記錄的有效性成為必須解決的問題,數據質量控制是其中的關鍵操作。在系統的開發過程中,通過對數據文件的格式規范、觀測儀器的性能參數和觀測特點進行研究,在對大連當年的氣候特點、歷史降水特點的分析基礎上,制定出資料提取、剔除的規范。針對自動站數據文件為文本文件的特點,在數據處理前依據標準文件格式進行正則表達式的匹配操作的預處理,剔除掉格式不規范的數據。自動站設備采集的雨量數據在時間和空間上具有一定的連續性,當與前后時次和臨近數據相比出現異常跳躍時,可以根據數據質量的檢驗規范進行數據取舍操作;當數據超出儀器設備的觀測范圍時,即可判斷數據無效。數據的質量監控操作只能提高數據質量,難以做到完全排除無效記錄,因此需要對程序的操作記錄進行日志記錄,便于業務人員后續分析質控程序的性能,調整完善數據質控系統。
2.2.3 數據資料錄入模塊。數據資料錄入模塊主要對經過質控操作后的數據進行入庫操作。數據入庫操作要求高效、快速,在保證數據高完整度、低冗余的要求下,實現數據的批量錄入,降低對數據庫鏈接操作的頻度,減輕數據庫的壓力。當數據入庫操作出現錯誤的時候,進行事物回滾操作,對錄入的不完整的數據進行刪除,記入日志文件;當檢索到數據已經錄入時,不進行錄入操作,避免數據重復。
2.2.4 數據庫備份模塊。系統所需處理的數據類型多、數據量大,當數據庫系統長時間運行,隨著數據量的增加,系統處理響應能力不斷下降。為了保證數據處理的高效性,有必要對數據庫的歷史數據進行備份,增加系統的安全性和靈活性。該模塊能夠實現數據的自動增量備份導入功能,當需要對數據進行遷移操作時可以運用該模塊完成數據庫的移植工作。
2.3 數據分析顯示系統
分析顯示系統是整個系統的核心部分,主要通過處理數據庫中的雨量數據實現雨量數據的監控報警,提供柱形、平面分布等多種圖形產品。
2.3.1 累計雨量實時監控。
按照中國氣象局業務規定《氣象災害預警信號發布與傳播辦法》要求,當特定時長范圍內降雨量達到一定級別時,需要發布對應級別的暴雨預警信號,因此實際業務工作中,業務人員非常關注一定時段內各站點累計降水量。系統提供累計雨量實時監控圖,方便用戶掌握各站點的雨量情況。雨量監控圖在設計時參考上級業務管理部門對雨量數據量級規定,以不同顏色表示小雨、中雨、大雨、暴雨等級別;在設計圖形縱坐標標注時,考慮到該地區降雨情況特點,按照不同的雨量級別將縱坐標進行不等距的劃分。暴雨過程在整個降水過程中所占比例有限,因此對暴雨以下量級降水分配更大區間長度,以促使圖形顯現更加美觀。圖形橫坐標標注各站點名稱,并以不同顏色區分基本站、區域站和山洪站等級別,由于全部站點過多無法全部進行顯示,因此默認對累計雨量排名前60位的站點進行排序顯示(圖2)。預報業務工作中,經常將20:00作為一天的起始時刻,因此該監控程序在無人工干預的情況下,默認從20:00開始計算到當前時刻的累計雨量;當降水過程持續時間過長、降水起始時刻開始于20:00以前,此時可以通過功能按鈕指定降水過程的起始時刻,然后由系統自動計算起始時刻至當前時刻各站點的累計雨量。程序在非實時監控狀態下,可以檢索任意時間段各站點的累計雨量。
2.3.2 單站點雨量時序圖。
在取得各站點累計降水數據后,通常業務人員還關注某一站點一定時間段內逐小時、逐10 min的降水時序圖,獲取該站點降水強度信息。業務人員在操作時,通過鼠標選中各站點的柱形圖形后,雙擊操作后調出各站點部分氣象要素的時間變化序列圖(圖3);還可以通過功能按鍵進行時間顯示間隔的切換。
2.3.3 雨量區域分布圖。雨量區域分布圖可以直觀地掌握降水的分布情況,在實際業務工作中得到廣泛應用。通常在區域分布圖的制作過程中,都需要對各站點數據進行插值分析、繪制等值線,然后進行填色操作。常用的繪圖軟件GrADS和Surfer的二次開發的工作主要是通過開發數據接口將現有數據轉換其支持的數據格式,然后通過后臺批處理的方式調用出圖,但這種操作方式難以實現對圖形內容風格的細粒度操作,在多方調研分析后決定采用開源的MeteoInfo.dll類庫進行二次開發,從而實現產品的靈活定制。
氣象數據圖像分析系統MeteoInfo是由中國氣象科學研究院王亞強對氣象數據顯示、分析功能而開發的類庫。該類庫支持多種氣象數據格式,包括MICAPS第一類數據、第十一類數據、第十三類數據以及GRIB格式資料、NetCDF格式資料等,同時還支持多種地理數據格式,包括ESRI的Shape格式地圖數據、GrADS格式地圖數據、MICAPS格式地圖數據;其提供統一的函數接口,能將各種數據轉換成經過插值后的格點數據,插值過程還可基于不同參數滿足不同功能需求。
基于MeteoInfo類庫進行桌面程序的開發主要是通過引用類庫中的LayersLegend、MapView和MapLayout 3個控件,LayersLegend是管理MapFrame和Layer,MapView是地圖顯示控件,MapLayout是圖形版面管理控件,使用MeteoInfo桌面軟件可以很容易理解這幾個控件的用途[8]。通過C#語言引用類庫的函數,可以完成插值、等值線分析等操作,按照MeteInfo.dll類庫的要求自定義好填色調色板文件后,結合地理Shape文件可以做出直觀的雨量分布圖(圖4)。雨量區域
分布系統基于GIS系統,可以實現圖形的漫游、無極縮放等功能,方便呈現更多的雨量信息細節。系統在開發的過程中,還擴展了控件功能,在MapView控件上繪制出圖例圖,并實現對站點雨量數據的統計功能,可以較為方便地獲取所有站點雨量數據的區間分布情況。
MeteoInfo類庫不僅支持桌面程序的開發,同時還支持IronPython腳本程序的調用開發。系統可以通過腳本程序后臺自動獲取數據,按照設計好的版式進行出圖,此項功能可以用于對圖形美觀程度要求較高的工作(圖5)。
2.3.4 雨量數據的表格方式顯示。
由于實際工作中業務人員還常關注各站點所在區域等更具體的信息,因此系統設計時還提供表格瀏覽數據的方式,以表格的方式瀏覽各站點的站號、站名、站點所在區域、雨量信息等具體信息(圖6),方便業務人員提取制作發布預警信號。
3 應用效果
雨量數據圖形處理分析顯示系統開發完成后部署在大連地區各區市縣氣象部門應用,取得很好的效果。
該系統建成前,各部門處理使用雨量數據只能各自處理。由于軟件開發水平參差不齊,導致統計的雨量數據常出現不一致的情況,制作出雨情分布圖美觀程度也難以達到各級領導的需求。該系統的建設使得雨量數據可以實現對質控后的數據統一入庫管理,提供了一個供各部門使用的統一平臺,能方便地實現雨量數據的監控、圖形顯示,顯著提高了工作效率。
4 小結
(1) 系統通過數據錄入操作,建立數據庫系統對站點數據進行存儲,提供方便的數據錄入檢索功能,方便業務人員分析處理數據。
(2) 研究了自動站雨量數據的質量監控技術方法,對入庫數據進行質量控制,提高了數據質量,保證生成產品的有效性。
(3) 根據各項業務規定,制作生成多種雨量數據的監控圖形產品,多方面地獲取大連地區全域雨量數據的變化信息,促進工作效率的提高,提升了服務的手段和能力水平。
(4)該系統的建立為開展預報預警服務業務和天氣個例總結工作提供了一個很好的平臺和支撐。基于MeteoInfo類庫的開發經驗,也為后期業務系統平臺的開發奠定了基礎。將系統所使用的Shape文件替換成其他地區的信息,匹配好站點信息,也可以將系統推廣到其他地區應用。安裝部署也較為簡單,具有較好的推廣價值和前景。
參考文獻
[1]肖天貴,肖光梁.高原山地短臨預警預報系統的設計與構建[J].高原山地氣象研究, 2012,32(3):46-49.
[2]梁豐.對流天氣臨近預報業務系統的新發展[J].沙漠與綠洲氣象,2011,5(6):1-6.
[3]鄭永光,王洪慶,陶祖鈺,等.Windows下二維氣象繪圖軟件-客觀分析診斷圖形系統[J].氣象, 2002,28(3):42-45.
[4]皮學賢,,蔡勛,宋君強.氣象可視化原形系統的設計與實現[J].計算機工程與科學, 2001,23(1):51-54.
[5]李培軍,張維峰,郭洪濤.氣象資料三維化技術中的插值問題[J].氣象科學, 2005,25(6):617-623.
[6]和青芳.計算機圖形學原理及算法教程[M].北京:清華大學出版社,2006:156-164.
[7]李大為,隋東,黃振.沈陽天氣預報業務自動化平臺的開發研制[J].氣象與環境學報,2006,22(2):69-71.
[8]王亞強.MeteoInfo-Help-1.0-Chinese[Z].2012.