劉嘉唯 余宇婷 劉彥章 肖建


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