劉嘉唯 余宇婷 劉彥章 肖建
摘要:在總結以往雷電數(shù)據(jù)服務存在的不足和問題的基礎上,介紹了WebGIS在構建雷電數(shù)據(jù)服務方面的優(yōu)勢和特點,構建了基于WebGIS的雷電數(shù)據(jù)分析服務系統(tǒng)。著重對基于TeeChart統(tǒng)計分析曲線繪制、基于MapXtreme統(tǒng)計分析專題圖和等值線生成的關鍵技術進行論述,為雷電災害防治及預測預報提供技術支撐。
關鍵詞關鍵詞:雷電數(shù)據(jù)分析;WebGIS; .Net ;TeeChart;MapXtreme
DOIDOI:10.11907/rjdk.161584
中圖分類號:TP319文獻標識碼:A文章編號文章編號:16727800(2016)007006905
1系統(tǒng)設計
1.1系統(tǒng)總體設計
按照軟件工程原理,在保證軟件質量前提下,系統(tǒng)應該在互操作性、可擴展性和開放性等方面滿足用戶的基本需求,這也是系統(tǒng)總體設計的基本要求。本系統(tǒng)總體架構采用構件式WebGIS多層架構B/S模式,由數(shù)據(jù)層、服務層、應用層和展示層構成。系統(tǒng)基于.Net環(huán)境下的WebGIS體系結構,在系統(tǒng)分析、設計和實現(xiàn)的各個環(huán)節(jié)采用先進的面向對象軟件工程開發(fā)方法。圖1為系統(tǒng)體系結構。
1.2系統(tǒng)功能設計
在對雷電業(yè)務調研的基礎上,借助軟件工程方法設計了相應的邏輯系統(tǒng)結構,劃分為5大功能模塊,如圖2所示。
(1)用戶信息管理子系統(tǒng)。通過用戶信息管理子系統(tǒng),用戶可以注冊,查看、更新信息和密碼,管理員用戶可以對注冊用戶進行權限管理等事項操作。
(2)數(shù)據(jù)管理子系統(tǒng)。該子系統(tǒng)主要實現(xiàn)數(shù)據(jù)的輸入和輸出功能,包括按照不同方式實現(xiàn)數(shù)據(jù)導入,如按照逐個文件或批量方式進行數(shù)據(jù)導入。在數(shù)據(jù)導入過程中,系統(tǒng)還提供相應的數(shù)據(jù)預處理功能,檢驗諸如數(shù)據(jù)格式是否正確、數(shù)據(jù)是否有冗余等問題。
圖2系統(tǒng)功能模塊
(3)雷電信息統(tǒng)計子系統(tǒng)。該子系統(tǒng)式是本系統(tǒng)的主要模塊,實現(xiàn)系統(tǒng)數(shù)據(jù)分析和服務等功能,包括對雷電數(shù)據(jù)的查詢和統(tǒng)計。系統(tǒng)提供諸如按年月日方式、按時間段方式的統(tǒng)計,對有關雷電信息(如正閃、負閃及總閃)進行各種方式的可視化展示,以滿足業(yè)務需要;提供按年月日的雷電信息比較服務功能,實現(xiàn)按年、月和日方式并采用多種可視化方式提供對雷電信息及有關極值信息比較服務。
(4)雷電強度分析子系統(tǒng)。該子系統(tǒng)提供雷電強度信息,包括有關雷電強度的分布情況、雷電強度的密度分布和雷電強度的區(qū)間分布等信息,并采用數(shù)據(jù)可視化技術顯示分析結果。在強度分布和密度分布分析中滿足業(yè)務的各種精度要求,如本系統(tǒng)能提供3種不同分辨率網格的雷電強度分布分析服務,這3種分辨率分別是1×1km、5×5km和10×10km。
2系統(tǒng)數(shù)據(jù)庫設計
系統(tǒng)采用空間數(shù)據(jù)描述有關信息,并采用MWS文件實現(xiàn)空間數(shù)據(jù)的存儲和管理。除了空間數(shù)據(jù)外,系統(tǒng)采用屬性數(shù)據(jù)描述一般實體,并采用關系數(shù)據(jù)庫對屬性數(shù)據(jù)進行存儲和管理。因此,本系統(tǒng)采用混合模式來設計這兩類數(shù)據(jù)。
2.1空間數(shù)據(jù)庫
在空間數(shù)據(jù)庫設計中,主要包括以下幾類文件:擴展名為.tab代表 MapInfo 表的結構;擴展名為.dat(.mdb, .dbf, .txt, .xls or .wks)代表包含制表的數(shù)據(jù)文件;圖形對象的擴展名采用.map;交叉索引文件的擴展名為.id;用于搜索地圖對象的索引文件擴展名為.ind。因此,對一個采用MapXtreme表示的圖層就可以通過這些擴展名所構成的文件集合來描述了。2.1.1雷電背景圖層描述
本系統(tǒng)所使用的雷電背景圖層是江西省地圖,要求表現(xiàn)3個層次,即地級市、縣級市和行政區(qū)域?;诖艘?,本系統(tǒng)對背景圖層的數(shù)據(jù)結構描述包括3個組成部分:①通過采用5個字段來描述地級市圖層:NAME Char (30)、 AREA Float 、 PERIMETER Float 、 GBCODE Decimal (6, 0) 、 PINYIN Char (50);②通過采用RNAME Char (34) 、 AREA Float 、 PERIMETER Float 、 GB Char (5)、MAPTN Char (11) 這5個字段來描述縣級市圖層;③通過采用NAME Char (22) Index 1 、 CAPNAME Char (20) 、 AREA Float 、 PERIMETER Float 、DIST_CODE Integer這5個字段來描述行政區(qū)域圖層,由此構成圖3所示的背景地圖。
2.1.2動態(tài)圖層描述
2.2表設計
對雷電數(shù)據(jù)分析服務系統(tǒng)的數(shù)據(jù)表設計包括空間數(shù)據(jù)庫表設計和關系數(shù)據(jù)庫表設計,表1是其中的部分表設計。
3.1曲線展示技術實現(xiàn)
3.1.1獲取曲線有關參數(shù)
對雷電數(shù)據(jù)分析結果可視化,曲線繪制是最基本的展示方式,基于TeeChart技術實現(xiàn)。而基于TeeChart技術進行曲線的繪制第一步是要獲取繪制曲線的有關參數(shù),這些參數(shù)是從輸入的數(shù)據(jù)源中得到的;設定TeeChart所在的坐標范圍,這通過所獲得的參數(shù)映射來實現(xiàn);然后進行曲線顯示樣式設置,這可以通過操作TeeChart組件中的Series序列屬性來實現(xiàn)。由此可見,從輸入數(shù)據(jù)中讀取有關參數(shù)是繪制曲線最重要的一步,也是關鍵技術之一。本系統(tǒng)的輸入數(shù)據(jù)來自本地文件或數(shù)據(jù)庫。從輸入數(shù)據(jù)中獲取繪制曲線有關參數(shù)的技術實現(xiàn)代碼如下:
3.2專題圖實現(xiàn)
在雷電數(shù)據(jù)分析服務系統(tǒng)中經常需要以可視化方式來展示雷電的時空特征,這可通過專題圖來體現(xiàn)。專題圖是以某特定渲染地圖方式來實現(xiàn)數(shù)據(jù)可視化的。MapXtreme推崇以一種圖形化顯示數(shù)據(jù)方式達到數(shù)據(jù)可視化目的,即采用MapXtreme中的RangedTheme來生成范圍專題圖。3.3基于MapXtreme等值線實現(xiàn)
在雷電數(shù)據(jù)分析服務系統(tǒng)中,需要雷電災害信息以等值線方式進行展示,即構建雷電災害的等值線模型。3.3.1等值線數(shù)據(jù)結構描述
點、線、面及格網是等值線模型中最基本的組成元素。點由兩個字段構成,一段用來存儲高程值,另一個是存儲點的坐標;線由5個字段構成,兩個字段代表線的兩個端點,兩個字段表示相鄰的網格在數(shù)組中的水平位置和垂直位置。另一個字段是標志字段,表示線是否被處理;4個線對象構成的面,對應的是一個矩形網格對象,由5個字段構成,分別代表上線、右線、下線、左線和標志字段(即該面是否已被處理);而由有限個面組成的是格網,它通過定義一個對象的二維數(shù)組來實現(xiàn)。3.3.2基于格網模型的等值線生成
等值線生成步驟描述如下:
輸入:網格對象List;
輸出:網格所有對象都處理的list。
對網格的未處理對象根據(jù)基于二義性判斷矩形網格與等值線的相交情況,將記錄點生成等值線。這里對象的網格標志字段若已處理,則為1,否則為0。
(1)初始化網格對象,即初始化鏈表。
(2)判斷,是,則繼續(xù)下一步,否則轉入步驟(8)。
(3)判斷網格標志字段是否為0,是則進行步驟(7);否則,進行下一步。
(4)判斷是否有邊與等值線相交,是則進入下一步,否則轉入步驟(7)。
(5)對所有與等值線相交的邊的對象集進行處理。①初始化;②選擇作為起始邊,判斷是否已處理,是則轉入步驟,否則繼續(xù)下一步;③記錄與等值線的交點,判斷是否存在相鄰網格共享此邊,有則繼續(xù)下一步,否則轉入步驟;④計算矩形網格與等值線的相交情況,兩邊相交則繼續(xù)下一步,否則轉入步驟⑥;⑤將網格標志為已處理,轉入步驟;⑥判斷處理了多少邊,如已經處理了一半則繼續(xù)下一步,否則轉入步驟⑧;⑦將網格標志設為已處理,轉入步驟⑨;⑧將網格標志設為處理一半,轉入步驟⑨;⑨判斷網格的二義性,返回對應的邊,轉入步驟;將記錄的點生成等值線;選擇下一條邊,即,若轉至步驟②,否則進行步驟(6)。
(6)判斷計算網格內等值線的情況:若為2條邊,直接生成等值線;若為4條邊,則進行二義性處理再生成等值線。
(7)將網格標志字段設為已經處理1,轉至步驟(2)。
(8)算法結束。
在等值線生成過程中,關于非閉合等值線的問題可以通過在所得到的等值線點中加入輔助點方法解決。
4系統(tǒng)功能實現(xiàn)
4.1雷電信息統(tǒng)計模塊
系統(tǒng)采用多種手段進行各類統(tǒng)計,包括對雷電信息的年月日統(tǒng)計、根據(jù)給定時間段對雷電信息的統(tǒng)計、對不同方式的雷電信息統(tǒng)計結果進行比較等。圖5和圖6所示的結果是用戶通過界面選擇需要統(tǒng)計的有關參數(shù)(統(tǒng)計年份以及統(tǒng)計區(qū)域或經緯度范圍)后得到的雷電數(shù)據(jù)統(tǒng)計結果。本系統(tǒng)對雷電數(shù)據(jù)的統(tǒng)計結果采用報表方式及圖形方式顯示,用戶還可以通過選擇導出報表或圖形存儲統(tǒng)計結果。
4.2雷電數(shù)據(jù)分析模塊
系統(tǒng)可對雷電發(fā)生強度分布進行分析、對雷電發(fā)生的強度區(qū)間進行統(tǒng)計,以及對雷電發(fā)生的強度密度進行分析,下面以雷電強度數(shù)據(jù)分析為例來說明雷電數(shù)據(jù)分析模塊功能。
數(shù)據(jù)分析地圖可實現(xiàn)放大、縮小、移動、查看網格信息等,用戶可使用操作工具盒和地圖縮放標尺工具進行圖形的有關操作。如果用戶需要對雷電發(fā)生的有關信息進行統(tǒng)計分析,事先需要對時間段、矩形網格的大小及統(tǒng)計的區(qū)域或經緯度范圍進行參數(shù)設置,然后通過界面按鈕工具進行雷電發(fā)生的強度分布、密度分布等信息進行數(shù)據(jù)分析,如圖7所示。
用戶單擊界面中的網格即可查看網格的詳細信息,如圖8所示。
5結語
針對傳統(tǒng)氣象數(shù)據(jù)服務系統(tǒng)中雷電觀測數(shù)據(jù)分析功能受限、雷電數(shù)據(jù)表現(xiàn)形式單一、可用性差、缺乏數(shù)據(jù)可視化功能和使用不方便等不足,將WebGIS應用于雷電數(shù)據(jù)分析服務領域,有效提高了雷電數(shù)據(jù)的利用率和時效性,為雷電業(yè)務部門提供了有力的業(yè)務支撐,促進了雷電數(shù)據(jù)的應用范圍,提升了應用水平。系統(tǒng)為雷電監(jiān)測數(shù)據(jù)提供了良好的共享和服務平臺,具有重要的實際意義和發(fā)展前景。參考文獻:
馬明,呂偉濤,張義軍,等. 1997-2006年我國雷電災情特征[J].應用氣象學報,2008,19(4):393400.
孫凌,周筠珺,楊靜.雷暴預警預報研究進展[J].高原山地氣象研究,2009,29(2):7580.
安寧,吳景飛,梁香清.雷電研究與雷電災害預警預報現(xiàn)狀的分析[J]. 氣象研究與應用,2014,35(SI):9798.
趙曦,姬建中,???,等,基于WebGIS 的地震數(shù)據(jù)服務系統(tǒng)建設及關鍵技術研究[J]. 災害學,2014,29(3):224228.
談樹成, 金艷珠, 馮龍,等. 基于 RIA 的WebGIS 斜坡地質災害氣象預報預警信息系統(tǒng)的設計與實現(xiàn)——以怒江為例[J]. 地球學報,2014,35(1):119125.
張樂平. 基于WebGIS的陜西省冷凍害干旱監(jiān)測系統(tǒng)的設計與實現(xiàn). 杭州:浙江大學,2014.
趙青松,徐濤,姜海燕. 基于SOA和WebGIS的作物種植制度設計服務系統(tǒng)[J]. 計算機應用,2014,(31)6:755759.
劉旭林,趙文芳,劉國宏. 基于WebGIS 的氣象信息顯示和查詢系統(tǒng)[J]. 應用氣象學報,2008,19(1):116122.
劉茜茜,孫亞琴,呂翔,等. 基于WebGIS的氣象信息服務系統(tǒng)的設計與實現(xiàn)[J]. 計算機工程與設計,2014,35(1):322326.
張茜. WebGIS和Flex架構在公眾氣象信息發(fā)布系統(tǒng)中的應用研究. 南京:南京信息工程大學,2013.
屈景輝. Teechart應用技術詳解. 北京:中國水利水電出版社,2007.
吳曉偉,史樹輝 ,董慶民,等.繪圖控件TeeChart的功能介紹與應用舉例[J]. 內蒙古石油化工, 2005 (7):5455.