李 琳,劉小生
(江西理工大學建筑與測繪工程學院,江西 贛州341000)
鄱陽湖地區防汛抗洪地理信息發布系統研究
李 琳,劉小生
(江西理工大學建筑與測繪工程學院,江西 贛州341000)
鄱陽湖地區洪澇頻發,每年因此造成的損失十分巨大,為了及時準確地掌握災情,使損失降到最低,文中在分析了湖區概況的基礎上,采用Silverlight RIA客戶端呈現技術設計并實現了鄱陽湖地區防汛抗洪地理信息發布系統.系統實現基本的地圖導航、地理報表等功能外,還包括基礎工情管理,社會經濟數據的查詢、統計和分析,洪水預報信息的發布,洪災損失評估數據管理以及用戶反饋信息的采集等功能,為洪泛區各級政府和防汛部門及時、準確、全面地掌握洪澇災害及損失情況提供防汛和救災的決策支持服務.
鄱陽湖;防汛抗洪;地理信息發布;Silverlight;REST/WCF
鄱陽湖位于長江中下游,是我國第一大淡水湖,也是我國著名的商品糧基地之一.而湖區地勢普遍低緩[1],洪澇等自然災害頻發,每年洪災給人們帶來巨大的經濟損失.近年來,伴隨經濟迅速發展、人口增多,洪災造成的損失呈現只增不減之勢[2].為了及時準確地了解湖區雨情、水情、災情等信息,進行洪水預報并對洪災進行客觀分析和損失評估,將損失降到最低,開展鄱陽湖地區防汛抗洪地理信息發布系統研究是非常必要的.
WebGIS是基于互聯網平臺,客戶端采用網絡協議,運行在Internet上的GIS,是Internet和GIS技術的結合[3-4].傳統的WebGIS存在開發復雜、界面單調、數據傳輸速度慢、效率低等諸多不足,已漸漸滿足不了用戶更高的、全方位的體驗要求[5].因此,相對更為輕型的 Silverlight技術就成為未來WebGIS應用開發中更為理想的選擇[6].針對這種情況,本文基于Silverlgiht技術設計并實現鄱陽湖地區防汛抗洪地理信息發布系統.
鄱陽湖地區防汛抗洪地理信息發布系統要管理海量的空間和非空間數據,包括湖區地形圖、DEM數據、遙感影像及基礎工情數據等,來源類型多樣、復雜度高,具有多源異構、變化頻繁等特點,將這些數據在同一數據庫中進行高效的存儲、管理和應用,是對系統最基本的要求.其次,系統應提供空間和屬性數據備份與恢復,保證數據安全性.
為了更好地服務于防汛抗洪工作需要,鄱陽湖地區防汛抗洪地理信息發布系統需提供基本的地圖瀏覽、縮放、查詢、空間分析、屬性查詢和輸出等基礎GIS功能外,還應該包括基礎工情管理、統計分析,洪水預報信息的發布,洪災損失評估數據管理等專題GIS功能.
系統還應提供用戶管理、信息反饋等功能,設置不同權限用戶(如普通用戶、管理員用戶、高級用戶),只有有權限的人才能夠進入基礎工情管理,洪水預報,損失評估等模塊,保證系統安全性.系統的操作界面直接體現了設計的合理性,決定了用戶對系統的滿意度,因此,系統在界面設計上應增強流暢性、美觀性和易操作性.
2.1 系統框架設計
鄱陽湖地區防汛抗洪地理信息發布系統實現界面展現、人機交互、空間數據的組織/存取、屬性數據流轉處理等工作.文中采用DSL-BLL-UIL(數據服務層—業務邏輯層—用戶界面層)三層架構(如圖1所示),它突破了傳統的客戶端(瀏覽器)/服務器模式,將數據存取邏輯、服務器運行機制、界面展現邏輯分開[7].BLL主要處理核心的業務邏輯,接受客戶端請求,然后通過Web Server與數據服務器進行數據交互,通過GIS Server托管GIS資源和應用,處理來自客戶端的請求,最后返回結果到客戶端;UIL負責界面的表達、與用戶的交互;DSL層負責空間數據、屬性數據、影像數據等的存儲管理工作,如圖2所示.DSL與BLL之間通過TCP/IP通信,UIL訪問空間數據通過已發布的GIS服務的REST(表述性狀態轉移)公開服務鏈接實現[8];屬性數據庫的訪問是通過WCF服務實現.

圖1DSL-BLL-UIL三層架構模式圖

圖2 系統層次結構圖
2.2 系統功能模塊設計
鄱陽湖地區防汛抗洪地理信息發布系統包括6個功能模塊,分別為地圖導航模塊、地理報表模塊、基礎工情管理模塊、洪水預報模塊、洪災損失評估模塊、用戶管理模塊.
1)地圖導航模塊
該模塊實現基本地圖瀏覽、平移、縮放、鷹眼、識別要素、比例尺及地圖打印輸出等功能.地圖可以無極縮放,通過鼠標拖曳可將地圖平移到任何位置.可打開/關閉圖層列表,通過勾選打開或關閉圖層.所有操作均提供菜單欄、工具欄、快捷鍵及右鍵菜單等幾種不同操作方式.
2)地理報表模塊
該模塊主要實現普通屬性表和屬性報表功能.普通屬性表中可以瀏覽要素類中每個要素的屬性值,并提供 Select All、Clear Selection、Zoom to Selection、Switch Selection等功能.屬性報表中用戶可以根據需要選擇要輸出的圖層、字段值等,還可以將數據導出為Excel文件.
3)基礎工情管理模塊
該模塊提供降雨量、水位、徑流量及社會經濟數據的查詢、瀏覽、統計輸出.其中,每個站點的降雨量、水位及徑流信息提供均按年、月、日、時段四種方式查詢.查詢結果可以以圖表(線狀圖、柱狀圖、餅狀圖)和報表的形式輸出.
4)洪水預報模塊
該模塊提供洪水預報信息發布、瀏覽、查詢、預警,危險范圍查看等功能.提供實時水位、預測水位信息查詢,危險范圍可與湖區地形圖疊加直觀地顯示出危險區域.
5)洪災損失評估模塊
該模塊實現淹沒范圍查看、淹沒損失數據統計功能.用戶可根據需要查看淹沒區域范圍,與湖區地形圖疊加顯示,淹沒范圍數據提供高中低三個精度級別,也可以查看各個鄉鎮各行業詳細損失數據,提供詳細損失數據導出功能.
6)用戶管理模塊
系統用戶根據權限不同分為普通用戶、高級用戶、管理員用戶.該模塊實現新用戶注冊、修改密碼、修改權限、重置密碼及用戶反饋信息的采集等功能.
3.1 數據庫的建立
數據庫是系統運行的基礎,選擇合適的數據庫管理軟件對系統的創建及后期的維護至關重要[9].本文選用開放性、可伸縮性、穩定性更強的Oracle數據庫存儲空間數據和屬性數據.
空間數據包括鄱陽湖地區地形圖、往年淹沒區數據、DEM數據及其他專題圖等,采用統一參考系[10],通過ArcSDE空間數據庫引擎存儲到Oracle數據庫中,并以ArcServer 10作為GIS Server發布和共享GIS資源.文中通過對紙質地圖進行掃描矢量化,建立空間數據庫,然后根據要求將預先準備好的數據集制作成專題圖,然后通過ArcServer Manager或ArcCatalog以相應的服務類型發布到GIS服務器[11],圖3為ArcCatalog中預覽已發布的鄱陽湖地區地形圖數據.屬性數據包括降雨量、水位、徑流,社會經濟數據,歷史淹沒區受災損失情況數據等,是以二維表的形式存儲到Oracle數據庫中.

圖3 ArcCatalog中預覽發布的地圖數據
3.2 系統開發環境
(1)Microsoft Visual Studio 2010 SP1或Visual Web Developer Express 2010 SP1
(2)Silverlight 5 Tools for Visual Studio 2010 SP1
(3)ArcGIS API 3.1 for Silverlight
(4)Expression Blend Preview for Silverlight 5(5)Oracle 10g
3.3 系統實現關鍵技術
3.3.1 RIA/Silverlight技術
RIA(富網絡應用)是一種具有高度互動性、豐富用戶體驗以及功能強大的客戶端的網絡應用程序,它將部分業務轉移到客戶端,避免與遠程服務器頻繁交互,提升系統運行速度[12].同時,它還擁有豐富的數據模型和界面表現元素,給用戶帶來絢麗流暢的流媒體互操作體驗.
Silverlight是一種新型跨瀏覽器、跨平臺的RIA客戶端呈現技術,支持多種開發語言,與當前使用率較高的Windows系統有較好的兼容性.利用Silverlight技術,可以開發出內容豐富、視覺效果絢麗、具有豐富交互式體驗的Web系統.
3.3.2 REST/WCF服務
(1)REST是Roy Fielding博士提出的一種輕量級的、針對Web應用開發而設計的一組約束條件[13].它是一種針對Web應用的設計和開發方式,可以降低開發難度,增強系統可伸縮性.REST風格的應用通過HTTP協議就可以實現,操作更加簡潔.文中發布的空間數據是以REST服務的格式讀取的,REST服務的公開鏈接表現形式為:http://{服務器名稱}/ArcGIS/rest/services/{服務名稱}/,查看服務相關信息的REST訪問鏈接為:http://{服務器名稱}/ArcGIS/rest/services/{服務名稱}/{服務類型}/[14].圖4(左)為文中發布的地圖服務,圖4(右)為PYHMap中的要素圖層目錄.

圖4 GIS資源管理界面
(2)WCF(Windows Communication Foundation,Windows通訊接口)是一組數據通信的應用程序開發接口.相較其他兩種Silverlight訪問數據庫的方式 (Ado.net data service和Domain Service(RIALink)),WCF服務具有良好的擴展性,優越的數據庫兼容性.因此,本文選用WCF服務技術實現與屬性數據庫的訪問互操作.WCF通過定義相關DataContract和DataMember契約屬性給Silverlight客戶端提供引用共享類型,通過這些屬性來定義類的數據結構.Silverlight客戶端可以通過添加“服務引用”與數據服務器進行通訊.
3.4 系統功能實現
本文選用面向對象的高級編程語言C#和XAML(Extensible Application Markup Language,可擴展應用程序標記語言),以Visual Studio 2010為開發平臺開發并實現鄱陽湖地區防汛抗洪地理信息發布系統.系統以Silverlight作為系統客戶端呈現技術,通過REST API和WCF服務完成空間數據和屬性數據的訪問互操作.
(1)系統主界面如圖5所示,包括標題欄,主菜單欄、右菜單欄、地圖窗口、狀態欄.菜單欄中左邊部分菜單對應系統六大模塊功能,右邊菜單則是常用工具,包括放大鏡、鷹眼、圖例、放大、縮小、書簽、幫助、全屏.狀態欄中顯示當前鼠標所在位置.

圖5 系統主界面
前臺UI界面設計中使用了豐富的控件元素,包 括 通 用 Silverlight控 件 、ArcGIS Silverlight Controls以及自定義控件.所有的前臺界面設計代碼均放置于.xaml結尾的文件中,通過樣式(Style)、動畫(Animation)等的設置設計出絢麗的樣式和動畫效果,如飛入、翻滾、淡出等等.
①使用 Border、Grid、Lable、Button、CheckBox、DataGrid等通用Silverlight控件設計出頁面框架,實現按鈕、下拉列表框、單選按鈕、屬性報表等通用控件顯示效果.
②使用Map、ScaleLine、MapProgressBar、Navigation、FeatureGrid、Bookmark 等 ArcGIS Silverlight Controls,實現了地圖瀏覽、縮放、鷹眼、進度條、屬性表、書簽等功能.
③當Silverlight自帶的控件不能滿足用戶需求或表現效果不理想時,設計人員可以通過自定義控件來實現.文中自定義的控件包括下拉菜單、可拖放窗體、可收縮窗體等控件.
(2)Silverlight技術將前臺界面表現和后臺處理邏輯分離開,系統功能通過事件處理器實現,處理程序代碼寫在后臺邏輯中,代碼的設計使用了C#語言.前臺.xaml文件中添加事件,在后臺邏輯代碼中自動生成相應的事件,并在該事件處理方法中添加處理代碼,實現相應功能.
a)地理報表模塊
該模塊包括普通屬性表和屬性報表,普通屬性表類似ArcMap軟件中查看的屬性表.而屬性報表功能中用戶可以根據需要點擊圖層名稱,即可查看圖層中要素的屬性,點擊“導出”按鈕可將屬性值以Excel文件形式導出到本地,如圖6所示.

圖6 屬性報表瀏覽和導出為Excel文件
b)基礎工情管理模塊
基礎工情信息管理實現雨情、水位、徑流、社會經濟統計數據管理.圖7是溫圳水文站2011年的月平均降雨量統計圖,還可以使用線狀圖、餅狀圖表示.

圖7 溫圳水文站2011年的月平均降雨量統計圖
c)洪水預報模塊
該模塊中可以根據降雨量數據計算水位和危險范圍,形象直觀地看到洪水可能淹沒區域(如圖8所示),也可以查看歷史危險范圍數據,系統加載保存的演示區域的降雨量數據和地形數據,按照時間順序演示危險區域的變化情況.

圖8 淹沒區域
d)洪災損失評估模塊
該模塊主要實現了洪水淹沒范圍查看、洪災損失評估數據的查詢和統計等.用戶選擇要查詢時間,點擊“查詢”按鈕即可瀏覽淹沒范圍,并且淹沒范圍數據可分高中低三個精度級別顯示(圖9為低精度淹沒范圍數據),并且可以根據需要查看詳細損失數據(以報表的形式),統計各個鄉鎮的受災情況,包括道路、村莊、農田、建筑等詳細損失情況,也可分產業統計各個行政區損失值.也可以查看歷史淹沒范圍數據,系統加載保存淹沒區數據,按照時間順序演示淹沒區的變化情況.圖10為詳細洪災損失評估結果.

圖9 淹沒范圍數據(低精度)

圖10 詳細洪災損失評估結果
e)統計輸出模塊
該模塊實現了地理數據、雨情數據、水位數據、社會經濟數據等的統計輸出功能,通過圖表顯示數據的內在聯系,使用戶更形象直觀地了解湖區基本情況.圖11為行政區——人口統計圖 (三維),用戶通過選擇統計圖類型、要查詢的圖層、值字段(縱坐標)、標注字段(橫坐標),即可生成統計圖表或報表.

圖11 行政區——人口統計圖(三維)
本文基于Silverlight技術設計并開發了鄱陽湖地區防汛抗洪地理信息發布系統,系統實現了基礎工情管理、洪水預報、損失評估信息管理等功能.系統采用DSL-BLL-UIL三層框架模式,提高了客戶端處理能力,以Silverlight作為系統界面展現技術,將部分處理程序運行在客戶端,減少數據傳輸的次數,提高運行效率;同時,較傳統界面單調的WebGIS,系統擁有豐富多樣的界面元素,地圖瀏覽平滑流暢,增強了交互式流媒體體驗性.系統首次將Silverlight技術與鄱陽湖地區防汛抗洪地理信息發布系統結合在一起,為洪泛區人民政府和防汛部門及時、準確、全面地掌握洪災情況提供良好的決策支持服務.
[1]劉小生,郝 雷.鄱陽湖地區防汛抗洪雨水情信息系統研究[J].測繪通報,2004,50(11):20-22.
[2]劉小生,程效軍.基于Arc/Info的防汛抗洪地理信息系統研究[J].測繪通報,2006,52(6):41-43.
[3]張健挺.網絡地理信息系統的若干問題探討[J].遙感信息,1997,12(3):8-11.
[4]宋關福,鐘耳順,王爾琪.WebGIS——基于Internet的地理信息系統[J].中國圖象圖形學報,1998,3(3):251-254.
[5]張 宏,豐江帆,閭國年,等.基于RIA技術的WebGIS研究[J].地球信息科學,2007,9(2):37-42.
[6]盧云輝,黃曉文,曹 健.Silverlight在地理信息系統中的應用[J].城市勘測,2012,27(2):53-56.
[7]陸亞剛,邱 知,游先祥,等.基于SilverLight和REST的富網絡地理信息系統框架設計[J].地球信息科學學報,2012,17(2):192-198.
[8]王天報,王爾琪,盧 浩,等.基于Silverlight的WebGIS客戶端技術與應用實驗[J].地球信息科學學報,2010,12(1):69-74.
[9]余豪峰.基于GIS和BP神經網絡的洪災損失系統設計與開發[D].贛州:江西理工大學,2008.
[10]劉小生,趙相博.鄱陽湖區洪水淹沒損失評估系統的設計與實現[J].江西理工大學學報,2013,34(3):16-22.
[11]熊一君,唐 斌,劉海歐.基于ASP.NET與ArcServer的水資源GIS研究設計[J].四川環境,2009,35(4):131-135.
[12]陳 謙,佘江峰,潘 森,等.基于RIA方式的WebGIS構建[J].遙感信息,2009,24(4):89-94.
[13]李久剛,唐新明,汪匯兵,等.REST架構的WebGIS技術研究與實現[J].測繪科學,2011(3):85-87.
[14]馮 偉.基于REST風格的Android系統Web服務的研究[J].淮北職業技術學院學報,2012,11(3):87-88.
The design and implementation of flood control geographic information release system in Poyang lake area
LI Lin,LIU Xiao-sheng
(School of Architectural and Surveying&Mapping Engineering,Jiangxi University of Science and Technology,Ganzhou 341000,China)
Floods occur frequently in Poyang lake area,and damage caused by floods are enormous every year. In order to get hold of the damage timely and accurately and minimize the loss,this paper analyzes the general situations of Poyang lake area,then uses the Silverlight as RIA client display technique to design and implement the flood control geographic information release system in Poyang lake area.This system implements many functions,such as basic map navigation,geographic reports,basic work situations,social economic data query,statistics and analyzing,flood prediction information release,flood damage assessment data management and the feedback of users'information and so on.In the aspect of flood control and disaster relief this system offers decision-supporting services for the government and the flood prevention department to get hold of the situation of flood and loss timely,accurately and entirety.
Poyang lake;flood control;geographic information release;Silverlight;REST/WCF
P208
A
2095-3041(2014)00-0039-07
10.13265/j.cnki.jxlgdxxb.2014.01.007
2013-10-22
國家自然科學基金項目(41061041);江西省“贛鄱英才555工程”科技項目資助
李 琳(1987- ),女,碩士研究生,主要從事GIS應用等方面的研究,E-mail:479685041@qq.com.
劉小生(1963- ),男,博士后,教授,主要從事測量與GIS等方面的研究,E-mail:lxs9103@163.com.