□孫喜梅 □李艷樺(鄭州大學水利與環(huán)境學院)
□魏永強(黃河水利委員會信息中心)
□李 洋(河南省水文水資源局)
隨著地理信息系統(tǒng)(GIS)技術的快速發(fā)展和應用領域的擴展,其在抗旱減災等方面發(fā)揮著越來越重要的作用。從20世紀90年代開始,鄭州市就建立了覆蓋全市的土壤墑情監(jiān)測站網。但隨著社會的發(fā)展,防旱抗旱要求的不斷提高,需要建立一套對旱情信息能夠及時采集、傳輸、接收,能夠根據抗旱相關的數據進行分析和預測,實現對災情的可視化,及時、有效地分析處理抗旱數據,科學判斷旱災的影響范圍和程度,并能準確進行分析預測旱情發(fā)展態(tài)勢的旱情信息管理系統(tǒng),變被動抗旱為防抗結合,提高抗旱管理的科學性和效率。
系統(tǒng)包括地圖操作、信息查詢、專題圖制作、雨量和墑情等值線圖制作、抗旱信息統(tǒng)計分析和用戶權限管理等功能需求。具體包括:
2.1.1 數據管理功能,管理操作人員能夠方便快捷地錄入、查詢、修改和統(tǒng)計與抗旱相關的信息,制作各種抗旱信息專題地圖和統(tǒng)計圖表,并能夠方便的導入和導出數據表。該系統(tǒng)提供以EXCEL作為導入和導出的實現方式,方便管理人員將所要獲取的旱情信息進行統(tǒng)一存儲。
2.1.2 旱情分析功能,實現雨量等值線、土壤墑情等值線的繪制。
2.1.3 用戶權限管理功能,系統(tǒng)面對的使用人員不同,所提供的操作權限也不同。對于普通使用者,只提供數據的生成、顯示、查詢和統(tǒng)計等功能;對于專業(yè)使用者,提供數據管理功能;對于管理員,能夠使用系統(tǒng)的所有功能,并且能夠對用戶進行管理。
開發(fā)基于GIS的鄭州市抗旱信息管理系統(tǒng)的技術路線如圖1所示:
圖1 基于G IS的鄭州市抗旱信息管理系統(tǒng)技術路線圖
鄭州市抗旱信息管理系統(tǒng)要能夠掌握與旱情有關的各類信息,如雨水情信息、土壤墑情信息、農情信息以及水利工程情況,通過對各類信息的綜合分析,監(jiān)測旱情發(fā)展過程和發(fā)展趨勢,分析干旱災害程度及造成的損失和影響,擬定抗旱減災方案和對策。系統(tǒng)總體框架設計如圖2所示:
系統(tǒng)分為6個模塊:地圖操作、基礎信息查詢、雨情墑情管理、抗旱統(tǒng)計分析、數據管理和用戶權限管理模塊。系統(tǒng)的模塊設計如圖3所示:
圖2 系統(tǒng)總體框架設計圖
表1 空間數據庫圖層設置表
系統(tǒng)開發(fā)平臺:C#編程語言、SQL Server2005數據庫、ArcEngine二次開發(fā)組件、VisualStudio2008等,系統(tǒng)主界面搭建采用第三方控件DotNetBar來實現Ribbon界面風格。系統(tǒng)的登陸界面是系統(tǒng)的入口,采用用戶名加密碼的登錄方式,登陸者提供不同權限的用戶名和密碼,系統(tǒng)提供不同的功能。
表2 屬性數據設計表
圖3 系統(tǒng)功能設計圖
數據分為空間數據和屬性數據??臻g數據主要采用ArcGIS的Shapefile格式存儲;屬性數據主要存儲在SQLServer2005數據庫中??臻g數據庫存儲主要是地圖矢量數據,包括鄭州市行政區(qū)圖、水庫、河流、雨量站點、墑情站點等空間實體的分布圖。屬性數據主要包括社會經濟、水雨情數據、抗旱設施及土壤墑情信息四個方面。
空間數據建庫設計的步驟主要包括圖形數據準備、地圖配準、地圖矢量化、讀圖分層、編輯修改、添加屬性數據、圖形拓撲編輯處理與錯誤檢查、數據格式轉換等。具體圖層設置如表1所示
屬性數據庫包含了抗旱管理所需的非圖形資料,屬性數據庫數據如表2所示:
系統(tǒng)的主界面包括標題欄、菜單欄、狀態(tài)欄、工具欄、地圖顯示窗口、圖層控制窗口。菜單欄主要包括文件管理、數據查詢、墑情雨情管理、抗旱統(tǒng)計分析分析、數據管理、用戶管理和系統(tǒng)幫助,圖層控制窗口位于界面的左側,可以用對地圖中各個地物圖層顯示狀態(tài)進行控制,地圖窗口是用來顯示、瀏覽和查詢圖層對象的工作窗口。
地圖功能,包括地圖的放大、縮小、漫游、鷹眼,地圖圖層符合和顏色修改、圖層添加和查詢等功能。
5.1.1 圖層添加功能,可根據需要選擇要添加的數據類型和其所在的路徑將圖層添加到系統(tǒng)中。修改圖層符號和顏色:雙擊圖層的標注彈出選擇符號窗口對圖層符號和顏色修改。
5.1.2 查詢功能:實現地圖數據的查詢和實現屬性信息的查詢,地圖數據查詢提供點查詢、線查詢、矩形查詢、圓形查詢、多邊形查詢等方式。
墑情雨情管理主要包括5個部分:墑情數據查詢、墑情等值線、雨量站查詢、雨量信息查詢和雨量等值線。繪制等值線的實現方法比較復雜,下面以雨量等值線為例來具體說明等值線的生成過程和方法。
雨量等值線的實現方式主要是C#和ArcEngine的結合使用。實現過程主要分為以下幾個步驟:一是根據IFeatureLayer類獲取所需的雨量站圖層;二是通過調用RasterInterpolationOpClass類中的spline方法完成空間插值操作,得到區(qū)域內的降雨量分布圖;三是調用RasterSurfaceOp類的contourList方法,根據所選圖層的降雨量字段,對柵格圖像進行表面分析;四是將生成的raste轉換成一個矢量圖層;五是對于生成的矢量圖層,根據鄭州市邊界矢量圖對其進行裁剪,將裁減的結果存放在一個新的圖層里并加載到MapControl里進行顯示。如雨量站點查詢功能實現,通過選擇某一時間和某一行政區(qū)來顯示該地區(qū)的雨量站,并可以通過點查詢來查詢某一雨量站的詳細信息。
抗旱統(tǒng)計分析實現了對鄭州市的抗旱數據進行統(tǒng)計并以圖表的方式進行顯示的功能,主要包括受旱面積統(tǒng)計、水資源量統(tǒng)計、降雨量統(tǒng)計、土地利用統(tǒng)計、用水情況統(tǒng)計和抗旱投入統(tǒng)計。統(tǒng)計分析的實現方式主要是C#和數據庫操作的集成,且利用第三方控件TeeChart將數據轉成相應的圖表方式來顯示,主要實現過程如下:一是定義SqlConnection類的對象來連接SQL數據庫;二是定義SqlCommand類對象與數據庫連接,并通過SQL語句來對數據進行查詢;三是定義SqlDataReader類對象,并通過該對象的ExecuteReader方法將查詢后的數據輸出;四是對TeeChart控件進行自定義設置,設置顯示方式、顯示顏色和顯示數據,再通過該控件的Series方法接收SqlDataReader類對象的數據,并以設置好的顯示方式進行顯示。
數據管理是有權限控制的,是針對專業(yè)用戶和管理員使用,普通用戶不能應用此功能。數據管理功能包括:數據查詢、數據編輯、數據備份和數據恢復。其中數據查詢實現對所有屬性數據的查詢和瀏覽功能,數據編輯實現對所有屬性數據的刪除、增加和修改功能,數據備份實現對屬性數據的備份功能,數據恢復實現對屬性數據的還原功能。數據管理功能的實現方式主要是用C#和SQL,并結合組件式開發(fā)技術完成。實現過程如下:一是定義SqlConnection類的對象來連接SQL數據庫;二是建立一個包含所有SQL數據表名的表,利用SqlCommand類獲取該表;三是利用SqlDataReader類和DataSet類實現對所有屬性數據的瀏覽,利用SqlCommandBuilder類和SqlDataAdapter類實現對屬性數據的刪除、增加和修改功能;四是利用SQLDMO類實現對屬性數據的備份和恢復功能。
用戶管理有權限控制,全部功能只對管理員開放,實現對用戶的管理,主要包括4部分:切換用戶、用戶查詢、用戶管理和修改密碼。
地理信息技術應用于抗旱信息管理系統(tǒng)中,提高了旱情信息管理的效率,研發(fā)的“基于GIS的鄭州市抗旱信息管理系統(tǒng)”,充分利用了鄭州市己有的氣象、水文、墑情監(jiān)測站網長期的觀測資料和研究成果。數據庫開發(fā)采用模塊化設計和通用數據庫接口,使系統(tǒng)具有很好的可移植性。實現了墑情雨情等值線的生成和雨量站等空間信息的查詢和管理功能,并結合第三方控件實現數據的報表統(tǒng)計分析顯示,滿足抗旱管理的要求。