習永強,李天文,程晨健
(西北大學 城市與環境學院,陜西西安 710127)
現階段,今年是我國十二五規劃的第一年,水利建設作為今年的中央一號文件,是發展的重中之重。對土石壩的安全評價作為水利建設一個重要組成部分,也就成為現階段的一次重要任務。為加強土石壩安全管理,保障人民生命財產安全和建設事業的順利發展,中央政府和地方各級政府加強了水利信息化的建設。[1]基于 GIS的土石壩安全監測會商系統正是水利信息化建設的一部分,該系統可以對土石壩及水庫的一系列信息進行采集、存儲、處理以及模擬等,除了這些基本功能之外,會商系統區別于其他系統最重要的一點是該系統可以實現多個專家同時進行在線評估,然后由會議主持人總結所有專家的評估得出相關結論,以對土石壩的安全風險管理起到決策支持作用。[2]
ASP是A ctive Server Page的縮寫,意為“動態服務器頁面”。ASP是微軟公司開發的代替 CGI腳本程序的一種應用,它可以與數據庫和其它程序進行交互,是一種簡單、方便的編程工具。ASP的網頁文件的格式是.asp,現在常用于各種動態網站中,ASP是一種服務器端腳本編寫環境,可以用來創建和運行動態網頁或 Web應用程序。[3]ASP網頁可以包含 HTML標記、普通文本、腳本命令以及 COM組件等。利用ASP可以向網頁中添加交互式內容(如在線表單),也可以創建使用 HTML網頁作為用戶界面的 web應用程序。
SQL是英文 Structured Query Language的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數據庫建立聯系,進行溝通。按照 ANSI(美國國家標準協會)的規定,SQL被作為關系型數據庫管理系統的標準語言。SQL語句可以用來執行各種各樣的操作,例如更新數據庫中的數據,從數據庫中提取數據等。目前,絕大多數流行的關系型數據庫管理系統,如 Oracle,Sybase,Microsoft SQL Server,Access等都采用了SQL語言標準。[4]雖然很多數據庫都對 SQL語句進行了再開發和擴展,但是包括 Select,Insert,Update,Delete,Create,以及 Drop在內的標準的 SQL命令仍然可以被用來完成幾乎所有的數據庫操作。
該系統主要功能有:
(1)熱點屬性信息的查詢
(2)歷史水位信息的動態模擬顯示
(3)專家異地會商
(4)會議主持(管理員)
系統通過這些功能,實現網上信息的快速共享與傳遞,最終對土石壩管理工作起到決策支持作用。
該系統的主界面如圖 1所示:

圖1 主界面
開發語言:Asp.Net
數據庫:Sq l Server 2005
開發環境:M icrsoft Visual Stidio 2005
1)相關操作
專家登錄以后,可以進入到專家評分界面 hshsystem.aspx,專家根據所列出的項目點擊后面的“開始評分”進行評分,評分依據是根據專家自身的專業知識經驗及每個項目的權重值,點擊“確定”后專家的評分信息就錄入到數據庫,點擊“評分結果”可以查看當前的評分結果,以及系統根據現階段的評估值判斷出的安全等級、輔助決策等。會議支持人登錄后進入管理系統可以對評分系統進行綜合管理,如對評估過程的控制等。其總體流程如圖 3-1所示:

圖2 專家評估系統流程圖
2)實現過程:
在專家評估模塊中,主要是數據庫的綁定、數據表的更新和計算、風險等級的判斷及輔助決策等。界面如圖 3所示:
GridView與 SQL SERVER里數據表的綁定是通過代碼編寫實現的,通過對 GridView的編輯列選項對顯示的字段進行綁定,使得在 GridView中選擇性的顯示某些字段或者隱藏某些字段。然后在 GridView中添加CommandField字段,選擇編輯列并添加到 GridView中,并為編輯字段編寫程序語言。再將某些不需要編輯的綁定列的 ReadOn ly屬性設置為 true,以為了不對該字段進行編輯操作。
為了驗證專家在評估過程中輸入的值是否符合該字段中數據庫中的數據類型,這里也同樣用到了 CompareValidator驗證控件,當輸入數據不符合特定數據類型時,會顯示提示信息。

圖3 專家評估模塊界面
專家對各項評分的輸入值稱為標準分,該項的得分為標準分與該項權重值的乘積。[5]評分結束后點擊“評分結果”查看各項當前評分的平均值。平均值先是從數據庫里計算當前已有幾位專家進行評分,再根據數據庫里的總值除以評分完成的人數所得。最終系統根據各項平均值的和算出總體的值,用以判斷更高層次的風險等級以及土石壩的整體安全風險等級。
在該模塊中,管理員的作用也非常重要,管理員起到對評估過程的控制作用。管理員通過首頁登錄進入管理系統界面。點擊“開始評分”后系統將對后臺數據庫里的相關數據進行初始化,以便于得到更加可靠性的數據。管理員還可以查看當前完成評分的評委人數、當前評分的整體情況、以及整體的風險等級等內容,從而更好的把握評估過程的穩定性。
1)相關操作
用戶通過點擊網頁上的熱點,可以動態的鏈接到數據庫,查看該點的屬性數據。例如,當點擊觀測點 4時,頁面彈出一個類似于對話框的界面,顯示了觀測點 4的屬性信息,如圖 3所示。熱點查詢使得用戶對信息的獲取更加的方便、快捷。

圖4 熱點屬性信息查詢
2)實現過程
上圖中熱點屬性信息的界面實為一個 Panel,這個 Panel鏈接了一個數據庫,用于動態顯示某個點的屬性數據,這個Panel初始 Visible設為 false,當單擊“觀測點 4”時觸發事件,將 Panel的 Visib le屬性改為 true,同時從數據庫中動態檢測到該點并將其顯示出來。圖片上的“觀測點 4”等熱點為LinkButton控件,通過把 LinkButton的屬性設置為透明后即可得到界面上的效果。
LinkButton和 HyperLink都是用來做超級鏈接的按鈕,但兩者卻有著很大的區別,當用戶點擊控件時:HyperLink控件會立即將用戶“導航”到目標 URL,不會與服務器發生數據響應。LinkButton控件則首先將數據發送到服務器,然后將用戶導航到目標 URL。當用戶點擊觀測點時,需要在數據庫中對該點信息進行查詢檢索,所以應該 LinkButton控件。
3)相關數據庫
該模塊中用到 safe數據庫中的 infor表,infor表是用來存儲觀測點的系列屬性數據,如圖 5所示:

圖5 in for數據表
在頁面上顯示的時候通過字段的綁定來選擇性的顯示特定字段,操作如圖 6所示:

圖6 GridView的綁定
選擇 “BoundField”,單 擊 “添 加 ”輸 入 “HeaderText” 和“DateField”,用來顯示標題及內部綁定字段。將“自動生成字段”的選擇取消,則實現了字段的綁定。此外,還必須通過代碼的編寫來實現數據庫的綁定。
1)相關操作
用戶通過頁面上部的導航條進入歷史查詢頁面historicaldata.aspx,可以對土石壩已有的某段時間的歷史信息進行查詢,這里主要針對水位信息做出動態顯示,根據輸入的起始時間和截止時間將該時間段的歷史水位信息以圖表形式繪制出來。輸出結果如圖 7所示:

圖7 歷史水位信息查詢報表
(2)實現過程:
用戶進入歷史信息查詢頁面后,首先需要對需要查詢的信息進行條件選擇。輸入起始時間和截止時間,選擇圖表模式,填寫完畢后點擊“查看報表”,如圖 8所示:

圖8 歷史水位信息查詢界面
用戶輸入起始時間及截止時間時,用到 CompareValidator驗證控件,該控件可以驗證用戶輸入的數據類型,這里設置為“date”類型,當用戶輸入數據為非日期類型時會提示出錯。
在動態圖表的顯示方面,選擇了 CrystalReportViewer控件。CrystalReport(水晶報表)是業內最專業、功能最強的報表系統,它除了強大的報表功能外,最大的優勢是實現了與絕大多數流行開發工具的集成和接口。在開發和生成報表時結合水晶報表,往往能事半功倍。CrystalReportViewer正是CrystalReport下面一個很常用的控件。
新建一個ViewReport.aspx頁面,在頁面里添加一個 CrystalReportViewer控件。再新建一個水晶報表文件類型,命名為 item report.rp t,接著使用報表設計專家,選擇 ADO并選擇SQL鏈接文件。接下來是登錄數據源的系列信息填寫,包括登錄用戶名、密碼、數據庫名稱等。緊接著選擇需要報告的數據及顯示的信息,這里選擇 height表中的的 itemDate和itemHeight兩個字段,一直點擊完成后。再次選擇報表專家,在彈出的窗口中選擇數據選項卡,在數據可用字段中選擇itemDate,并且可以在文本頁中,設置適當的報表標題。

表1 字段資源管理器新建的參數字段
由于要根據輸入的日期來動態顯示報表,因此我們要設置參數字段。在報表設計器的
字段資源管理器中,選擇參數字段,鼠標右擊選擇“新建”,新建三個參數字段,如表 1所示。
最后,要設置相關的查詢公式,在除報表頁眉的區域,鼠標右鍵點擊,在彈出菜單中選擇“報表 |選定公式|記錄”,輸入公式,如圖 9所示:
在公式編輯器中,分為左中右三部分,左邊的是報表的字段,中間的是相關的功能函數,最右邊的是運算符,雙擊其中選中的部分,則可以添加到下部的公式顯示區域中。最后,保存建立的公式。

圖9 查詢公式編輯
(3)相關數據庫:
該模塊中主要用到 safe數據庫中的 height數據表,如圖10所示:

圖10 height數據表
經過開發,該系統基本實現了 GIS技術在土石壩安全評價專家會商系統方面的應用。實現了熱點屬性信息查詢、動態水位的模擬、專家異地會商等一系列的主要功能,能夠初步應用到實際工作中,為土石壩安全管理提供決策支持。
該系統的實現也證明了 GIS技術可以以多種形式體現出來,為我們的日常工作及管理提供服務,如工程、商業、經濟等方面,而并不僅僅局限于地理學科。由此可見,GIS技術在我們的生產生活中是大有用途的。
[1]戚安邦.項目管理十大風險[M].北京:中國經濟出版社,2004.
[2]高俊峰,閭國年,劉曉玫等.基于地理數據庫模型的流域數據模型設計[J].現代測繪,2004,27(5).
[3]崔陽,王華.基于 GIS的城市地下管線數據結構設計[J].地理空間信息,2008,6(3):9-12.
[4]劉振巖.基于 ASP.NET的 Web程序設計[M].北京:電子工業出版社,2006.
[5]張學會.山西省夾馬口灌區的水利管理信息化[J].中國農村水利水電,2004(1):51-52.
[6]邱集煦.小型水庫土石壩防滲處理方案選擇[J].水利科技,2010(3):42-43.