張正文,張振濤
(中國氣象局公共氣象服務(wù)中心服務(wù)系統(tǒng)開放實驗室,北京 100080)
氣象產(chǎn)品圖作為公共氣象服務(wù)的一個重要手段,具有簡明直觀等特點,制作形式美觀、內(nèi)容豐富、信息準確的氣象產(chǎn)品圖已成為公共氣象服務(wù)業(yè)務(wù)人員重要職責(zé)之一[1-2]。氣象產(chǎn)品圖的發(fā)布方式主要有門戶網(wǎng)站、移動互聯(lián)網(wǎng)、專題決策材料幾種。近年來,由于移動設(shè)備、新媒體技術(shù)的不斷進步,打造適宜的業(yè)務(wù)平臺幫助業(yè)務(wù)人員制作時效性強、符合媒介要求的氣象產(chǎn)品圖已成為氣象服務(wù)系統(tǒng)開發(fā)人員迫切問題。目前,國內(nèi)的氣象業(yè)務(wù)人員主要使用 MESIS[1]、IDV[3]、GWASS等軟件實現(xiàn)產(chǎn)品圖的制作,IDV 由美國UCAR組織下屬機構(gòu)Unidata程序中心研發(fā),IDV基于Java技術(shù),軟件本身集成Barne等插值算法,可在三維視角下繪制等值面等值線等產(chǎn)品圖。值得一提的是,Unidata圍繞IDV開發(fā)了一系列的產(chǎn)品,包括用于氣象數(shù)據(jù)管理的LDM等。MESIS由中國氣象局氣象中心研發(fā),早期版本基于ArcGIS平臺,近期版本基于SuperMap,MESIS主要用于決策材料的制作,控件功能例如圖例的制作等基于ArcGIS API,界面風(fēng)格也與ArcGIS保持一致,對于熟悉GIS的業(yè)務(wù)人員較易掌握。GWASS由中國氣象局公共氣象服務(wù)中心研發(fā),具有三維和二維2種視角,GWASS主要功能在于氣象數(shù)據(jù)的分析處理與展示。某些基于GIS的氣象產(chǎn)品后臺制作系統(tǒng)將主要功能集中于后臺自動化運行,前臺供用戶設(shè)定產(chǎn)品參數(shù)及管理計劃任務(wù)[4-6]。綜合國內(nèi)外氣象產(chǎn)品制作軟件來看,主要有以下不足:
(1)海量數(shù)據(jù)處理功能不足,大多數(shù)軟件基于文件系統(tǒng),國外有NetCDF[7]格式,國內(nèi)主要使用Micaps數(shù)據(jù)格式;
(2)氣象數(shù)據(jù)分析算法難以定制,有些軟件集成了一些較為常用的插值算法,但在實際使用過程中較難擴展;
(3)產(chǎn)品圖形質(zhì)量難以保證,業(yè)務(wù)人員往往需要在成圖以后再使用PhotoShop等位圖處理工具進行美化;
(4)安裝操作依賴第三方軟件,有些需要商業(yè)授權(quán),不能實現(xiàn)所見即所得的用戶體驗。
基于以上原因,公共氣象服務(wù)產(chǎn)品制作系統(tǒng)(開發(fā)代號:MonaRudo)基于.NET平臺,綜合運用多種處理算法(三角網(wǎng)格等值線追蹤等)處理氣象數(shù)據(jù),提供文本編輯、氣象專業(yè)符號繪制等工具實現(xiàn)所見即所得的氣象產(chǎn)品編輯平臺,力圖為業(yè)務(wù)人員提供一款集數(shù)據(jù)獲取、處理、展現(xiàn)、成圖、保存多個功能為一體的業(yè)務(wù)平臺。
公共氣象服務(wù)產(chǎn)品制作系統(tǒng)是一款氣象產(chǎn)品圖制作軟件,系統(tǒng)所提供功能囊括完整的氣象產(chǎn)品圖制作流程,在圖形質(zhì)量上以滿足氣象服務(wù)業(yè)務(wù)人員需求為標準,該平臺為用戶提供統(tǒng)一的氣象數(shù)據(jù)處理接口并綜合管理矢量圖和位圖,系統(tǒng)用戶使用該平臺不僅可處理常見的Micaps[8]類型數(shù)據(jù),還可以在成圖過程中使用PhotoShop風(fēng)格工具對位圖進行操作,從用戶角度,系統(tǒng)內(nèi)在邏輯完全透明,用戶在使用過程中不需要了解GIS知識概念或使用Micaps等第三方軟件進行預(yù)處理即可制作氣象產(chǎn)品圖。業(yè)務(wù)目標為公共氣象服務(wù)手機報產(chǎn)品圖、中國天氣網(wǎng)等專題圖產(chǎn)品制作,系統(tǒng)適用范圍為氣象服務(wù)人員和科研人員。
公共氣象服務(wù)產(chǎn)品制作系統(tǒng)MonaRudo基于C#語言體系,在地理數(shù)據(jù)處理上不依賴 ArcGIS[9]、SuperMap等第三方組件,系統(tǒng)采用輕量級實現(xiàn)理念,MonaRudo采用1:400萬的地圖矢量數(shù)據(jù),包含氣象服務(wù)熱點挖掘、工具庫、文件瀏覽等模塊,系統(tǒng)集成的工具庫、算法庫等均使用插件管理機制載入,MonaR-udo在保證交互靈活性的同時還提供模板定制腳本自動化出圖。
圖1描述了MonaRudo軟件整體架構(gòu),數(shù)據(jù)層使用IDataProvider封裝不同數(shù)據(jù)來源,使得上層功能均能使用統(tǒng)一的結(jié)構(gòu)化數(shù)據(jù),在系統(tǒng)內(nèi)部業(yè)務(wù)邏輯中,由于業(yè)務(wù)人員制圖的需要,MonaRudo提供2類圖形的管理,即向量圖和位圖。不同圖形均可使用不同的渲染策略進行繪制,有效保證繪制圖形的風(fēng)格可擴展性。表現(xiàn)層提供了用戶功能入口,包括用戶行為交互、工具選擇、文件打開保存操作按鈕等。
圖1 公共氣象服務(wù)產(chǎn)品制作系統(tǒng)架構(gòu)
氣象服務(wù)熱點可以定義為對氣象服務(wù)具備典型提示性和服務(wù)價值的天氣事件、天氣過程或新聞點。氣象服務(wù)熱點挖掘核心基于本體思想,利用本體對服務(wù)熱點對象進行分析,找出氣象服務(wù)熱點挖掘領(lǐng)域概念之間的聯(lián)系,進而創(chuàng)建服務(wù)熱點模型并進行推理應(yīng)用。挖掘技術(shù)以氣象實況資料、預(yù)報資料、歷史資料、災(zāi)情資料等為基礎(chǔ),結(jié)合服務(wù)中涉及的各類氣象指標,形成熱點數(shù)據(jù)信息,并進行提示。
氣象服務(wù)熱點挖掘是系統(tǒng)中服務(wù)產(chǎn)品制作的主要入口點,其主要內(nèi)容包括熱點分類、熱點內(nèi)容、熱點產(chǎn)品、處理任務(wù)、相關(guān)數(shù)據(jù)和存儲結(jié)構(gòu)。熱點挖掘技術(shù)的應(yīng)用,實現(xiàn)了從大量氣象數(shù)據(jù)中快速分析服務(wù)重點,簡化了服務(wù)人員的工作流程,有效提高了工作效率。
圖2 氣象熱點形成過程
圖2描述了MonaRudo使用資料庫和指標庫結(jié)合熱點算法發(fā)現(xiàn)氣象服務(wù)熱點的技術(shù)路線,根據(jù)氣象服務(wù)業(yè)務(wù)流程,MonaRudo共梳理21類典型的氣象概念,并明確了各氣象概念使用的氣象資料來源及算法。MonaRudo基于事件驅(qū)動的制作流程可以幫助氣象業(yè)務(wù)人員在典型天氣事件發(fā)生時迅速制作相關(guān)產(chǎn)品。
手機報具有體積限制,一份公共氣象服務(wù)手機報通常包含4~5張氣象產(chǎn)品圖,因此每張圖體積應(yīng)盡量小于15k,本平臺在成圖過程中首先控制像素位深及顏色數(shù),然后采用基于八叉樹結(jié)構(gòu)的色彩量化算法進行壓縮優(yōu)化消除噪點。該色彩量化算法考慮在2個像素顆粒之間填充與這2個像素顏色相近的過渡顏色,提供更多可視顏色空間。
不同的媒介設(shè)備所表示的色彩數(shù)目是有限的,利用設(shè)備能力可允許的K種顏色,盡可能地再現(xiàn)真實感的圖形效果,是圖像量化的目的所在,采用八叉樹結(jié)構(gòu)表示色彩空間、用以實現(xiàn)色彩優(yōu)化選擇的方法,簡稱八叉樹量化[10]。圖3顯示了針對氣象產(chǎn)品圖使用八叉樹量化前后效果對比,從圖3可以看出,八叉樹量化算法有效消除了氣象產(chǎn)品圖中噪點及顏色缺失等情況。
圖3 圖像量化算法效果對比圖
MonaRudo使用傳統(tǒng)的MVC軟件架構(gòu),數(shù)據(jù)提供者IDataProvider用來抽象系統(tǒng)使用的數(shù)據(jù)輸入,系統(tǒng)運行時的環(huán)境參數(shù)使用單例模式[11]完成初始化,并使用消息者模式通知圖層等對象,系統(tǒng)工具庫使用反射機制進行加載,工具對象通過命令模式操作圖層。
整個系統(tǒng)的渲染均使用多線程控制,線程池的活躍線程數(shù)取決于CPU的核數(shù),每個線程對應(yīng)控制屏幕一部分區(qū)域,對于影像地圖,此線程負責(zé)該區(qū)域內(nèi)所有金字塔瓦片圖下載渲染。
不同于其它多數(shù)平臺使用的樹形結(jié)構(gòu),本平臺使用鏈表結(jié)構(gòu)管理圖層,每個圖層均對應(yīng)一塊相應(yīng)的內(nèi)存區(qū)域,此內(nèi)存區(qū)域即構(gòu)成Windows畫圖對象Graphic的句柄。各圖層使用策略模式[11]選擇所需的渲染方式,各渲染策略均包含簡單的對象進行屬性控制。
目前氣象業(yè)務(wù)中常用的數(shù)據(jù)根據(jù)其結(jié)構(gòu)特點可以分為離散點數(shù)據(jù)(站點數(shù)據(jù))和網(wǎng)格點數(shù)據(jù)2種。MonaRudo分別采用三角網(wǎng)格分析算法和改進的等值線追蹤算法進行等值線分析。
三角網(wǎng)格分析算法用于離散點數(shù)據(jù)分析,整合了泰森多邊形生成算法,Delaunay三角網(wǎng)生成算法以及不規(guī)則三角網(wǎng)等值線追蹤算法,可以快速通過數(shù)據(jù)分析得到等值線信息,同時,針對氣象上氣溫、降水等數(shù)據(jù)連續(xù)性的特點對算法進行了調(diào)整。改進的等值線追蹤算法是在傳統(tǒng)的網(wǎng)格點等值線追蹤算法的基礎(chǔ)上,對網(wǎng)格內(nèi)等值線走向問題進行了優(yōu)化,引入網(wǎng)格中心點確定等值線追蹤時多個連接點的優(yōu)先級。三角網(wǎng)繪制等值線算法具有高精度、高效率和易于處理的性線等特點[12]。
MonaRudo根據(jù)氣象產(chǎn)品制作特點,在2種原有算法的基礎(chǔ)上,進一步完成了每一條等值線的自閉合、確定閉合區(qū)域內(nèi)外值關(guān)系并采用三次樣條插值算法對等值線進行平滑處理。經(jīng)過算法完善,保證多條等值線的閉合區(qū)以合理的的層次疊放,以正確的顏色填充。文獻[13]描述了等值線追蹤算法的步驟及實現(xiàn)流程。
圖4展示了MonaRudo軟件界面,分為菜單欄、懸浮工具欄、主體工作區(qū)三大部分。
圖4 MonaRudo軟件界面圖
菜單欄包括文件工具欄、視圖和編輯菜單,文件工具欄提供文件打開、保存操作,視圖菜單提供懸浮窗口顯隱設(shè)定,各子窗口布局設(shè)定等操作,編輯菜單分為地圖、制圖模板、數(shù)據(jù)、分析模板4大類,地圖類提供系統(tǒng)使用底圖參數(shù)設(shè)定,例如投影參數(shù)、定位等。制圖模板類主要由制圖人員添加氣象產(chǎn)品圖圖形要素,包括插入圖例、標題、頁腳等。分析模板用來設(shè)定氣象產(chǎn)品圖填色方案,目前系統(tǒng)集成的主要有1小時降水模板、24小時降水模板、氣溫模板、風(fēng)速模板等
左側(cè)窗口包含熱點挖掘、圖層管理、資料檢索和工具庫4部分,熱點挖掘提供服務(wù)熱點事件算法閾值和定時任務(wù)設(shè)定,圖層管理提供增加、刪除、上移、下移、圖層屬性設(shè)置等功能,資料檢索提供文件系統(tǒng)搜索,用戶通過預(yù)配置可快速檢索實況和預(yù)報數(shù)據(jù)。資料檢索列表主要針對氣象數(shù)據(jù)進行分類供用戶快速查詢,列表中數(shù)據(jù)類型組織方式根據(jù)業(yè)務(wù)人員檢索習(xí)慣確定,圖5為MonaRudo中資料檢索窗口。
圖5 資料檢索結(jié)構(gòu)
如圖6所示,工具庫提供通用操作和專業(yè)符號2大類工具,通用工具包含地圖漫游、縮放、文字標注等基本操作工具,專業(yè)符號工具為用戶提供氣象符號的繪制,包括霜凍線、靜止鋒等。
圖6 工具庫分類
用戶在主體工作區(qū)的所有操作均保證流暢柔和的所見即所得用戶體驗,比如文字標注與PhotoShop使用方式完全一致,而不是采用ArcGIS、SuperMap等彈框輸入文字。主體功能區(qū)各要素均可進行獨立設(shè)置、拖曳等操作。
公共氣象服務(wù)產(chǎn)品制作系統(tǒng)MonaRudo旨在為氣象服務(wù)人員提供專業(yè)的氣象產(chǎn)品制作工具,進一步拓展氣象產(chǎn)品圖在新媒介設(shè)備上的表現(xiàn)水平。相比較其它氣象業(yè)務(wù)系統(tǒng),MonaRudo具有以下特點:
(1)注重氣象產(chǎn)品繪制過程的簡便快捷,氣象業(yè)務(wù)人員不需要掌握其它領(lǐng)域如GIS、計算機圖形學(xué)等方面的知識也能快速使用并完成工作。
(2)MonaRudo在繪圖設(shè)備、圖形算法上為用戶提供更多選擇,保證圖形質(zhì)量符合設(shè)備要求。
(3)集成多種氣象要素的插值算法,使用插件機制提供可擴展性。
MonaRudo已在公共氣象服務(wù)手機報、公共氣象服務(wù)專報中得到應(yīng)用,目前在氣象行業(yè)中使用云計算平臺進行數(shù)據(jù)分析已成為工程趨勢[14],在未來的工作中,筆者將更加注重氣象熱點事件中的海量數(shù)據(jù)處理能力以試圖打造Internet衍生應(yīng)用,為業(yè)務(wù)人員提供更加強大的實時制作能力。
[1]呂終亮,羅兵,吳煥萍,等.MESIS信息檢索及可視化產(chǎn)品制作平臺實現(xiàn)[J].應(yīng)用氣象學(xué)報,2012,23(5):631-637.
[2]中國氣象局辦公室.中國氣象局業(yè)務(wù)技術(shù)體制改革總體方案[EB/OL].http://www.cma.gov.cn/qxzt/yjtzgg/wjhb/zt/t20060406_170222.phtml,2006-01-12.
[3]Nogueira R,Cutrim E M.Applications of“integrated data viewer”(IDV)in the classroom[J].Advance Geoscience,2006(8):63-67.
[4]毛衛(wèi)星,王秀榮,劉海波.全國氣象業(yè)務(wù)服務(wù)信息系統(tǒng)中圖形產(chǎn)品的研制開發(fā)[J].新疆氣象,2005,8(5):1-3.
[5]吳煥萍,羅兵,王維國,等.GIS技術(shù)在決策氣象服務(wù)統(tǒng)建設(shè)中的應(yīng)用[J].應(yīng)用氣象學(xué)報,2008,19(3):380-383.
[6]唐衛(wèi),吳煥平,羅兵,等.基于GIS的氣象產(chǎn)品后臺制作系統(tǒng)[J].計算機工程,2009,35(7):232-234.
[7]王甫棣,林潤生,胡英楣.基于Web服務(wù)的氣象數(shù)據(jù)服務(wù)[J].計算機工程,2009,35(8):280-282.
[8]李月安,曹莉,高嵩,等.MICAPS預(yù)報業(yè)務(wù)平臺現(xiàn)狀與發(fā)展[J].氣象,2010,36(7):50-55.
[9]張永華,肖文名,何婉文,等.基于ArcGIS Server和VML的氣象信息發(fā)布平臺[J].應(yīng)用氣象學(xué)報,2011,22(4):498-504.
[10]劉青,錢瑋.一種八叉樹量化算法的改進[J].電子技術(shù),2010,47(8):1-3.
[11]Erich Gamma,Richard Helm,Ralph Johnson,et al.Design Paterns:Elements of Reusable Object-Orient Software[M].Addison Wesley Longman,1995.
[12]鄭盛貴,顏七笙,黃臨平.基于點的三角形構(gòu)網(wǎng)算法及等值線自動生成方法[J].計算機與現(xiàn)代化,2004(5):7-9.
[13]蔣瑜,杜斌,盧軍,等.基于Delaunay三角網(wǎng)的等值線繪制算法[J].計算機應(yīng)用研究,2010,27(1):101-103.
[14]楊森,陳力強,周曉珊.構(gòu)建PC-Cluster系統(tǒng)實現(xiàn)精細數(shù)值模式業(yè)務(wù)運行[J].氣象與環(huán)境學(xué)報,2006,22(3):41-44.