摘 要:隨著“數字流域”工程的開展,GIS技術成為小流域壩系監測信息化建設的必然選擇。研究了組件式3D GIS在小流域壩系監測中的應用,討論了小流域壩系監測信息三維查詢系統的體系結構設計、數據庫設計。以麻莊小流域為例,利用組件式平臺ArcGIS Engine構建了小流域壩系監測三維查詢系統,為小流域壩系監測管理提供了一種新的管理方式。
關鍵詞:小流域壩系監測;三維地理信息系統;ArcGIS Engine;ArcSDE
中圖分類號:TP302文獻標識碼:A文章編號:1004373X(2008)1913103
Application Study of 3D GIS Technology in Monitoring Dams in Small Watersheds
YI Guobiao,BAI Zhenxing
(Engineering College,Air Force Engineering University,Xi′an,710038,China)
Abstract:With the development of the \"Digital Valley\" project,GIS technology is the certain selection of information managementof monitoring dams in small watersheds.This paper studies the application of component 3D GIS technology to monitoring dams in small watersheds.It discusses the 3D query information system of monitoring dams in small watersheds,the design of system framework and database of system.It also establishes the system with ArcGIS Engine with a case of Mazhuang small watershed,which provides a new kind of management for monitoring dams in small watersheds.
Keywords:monitoring dams in small watersheds;3D GIS;ArcGIS Engine;ArcSDE
近年來隨著長江、黃河等五大河流“數字流域”工程的啟動,“3S”技術已廣泛應用于開展水土流失監測工作。淤地壩作為黃土高原地區重要的水土保持工程和農田基本建設措施,對有效控制水土流失、減少入黃泥沙、提高水資源利用率、促進農村產業結構調整,實施退耕還林和封育治理具有重要的作用。為了深入總結黃土高原淤地壩建設的經驗,適應淤地壩建設的新形式、新要求,根據黃委會關于開展黃土高原水土保持淤地壩示范壩系建設的有關要求,在黃土高原七省(區)已批復實施的83條小流域壩系中,選擇了12條溝道治理基礎較好的小流域作為黃土高原第一批小流域壩系示范工程。小流域壩系示范工程建設的主要目的之一就是建立監測體系,通過“3S”等高新技術,結合傳統監測方法,對小流域壩系建設的工程建設動態、攔沙蓄水、壩地利用及增產效益、壩系工程安全狀況等進行監測,根據監測資料對壩系建設做出科學合理的分析與評價[1]。
1 GIS在小流域壩系監測中的應用
小流域壩系監測信息三維查詢系統涉及到大量的空間數據(如地表、坡面、淤地壩、攔沙蓄水)的采集、處理與利用。地理信息系統(Geographical Information System,GIS)是在計算機軟件與硬件的支持下,運用系統工程和信息科學的理論,科學管理和綜合分析具有空間內涵的地理數據,以提供對規劃、管理、決策和研究所需信息的技術系統。因此利用GIS建立小流域壩系監測信息三維查詢系統,能夠有效地處理小流域壩系監測的基本屬性數據和空間數據,提供數據分析手段,對科學、高效地促進黃土高原小流域壩系監測工作有一定科學和實踐價值。本文研究了ESRI的3D GIS模塊3D Analyst和組件式GIS開發技術,討論了3D GIS在小流域壩系監測中的應用,分析了小流域壩系監測三維查詢信息系統體系結構,系統功能和數據庫設計,利用組件式平臺ArcGIS Engine構建了小流域壩系監測3D信息查詢系統,為小流域壩系監測管理提供了一種新的管理方式。
2 3D GIS和組件式GIS技術
2.1 3D GIS典型系統
盡管3D GIS理論與方法研究較多,但迄今為止未出現可真正稱為3D的GIS系統。近年,國內外一些GIS軟件均在努力開發其三維建模功能,以滿足三維地理建模的需求。如今ESRI的ArcGIS、適普的IMAGIS和中地的MapGIS,均在不同程度上以不同方式實現了三維可視化功能。ESRI的ArcGIS 3D Analyst能夠對表面數據進行高效率的可視化和分析。使用ArcGIS 3D Analyst,可以從不同的視點觀察表面,查詢表面,確定從表面上某一點觀察時其他地物的可見性,還可以將柵格和矢量數據貼在表面以創建一副真實的透視圖。而且,ArcGIS 3D Analyst提供了三維建模的高級GIS工具,比如挖填分析、可見分析以及地表建模等。ArcGIS 3D Analyst模塊在可視化方面還增加了對商業標準的三維符號的支持,包括VRML、3D Studio Max和開放飛行模式,真實的三維符號能讓用戶創建加強科學可視化和模擬的地圖[2]。
2.2 組件式GIS技術
隨著計算機技術的發展,組件式技術已經成為當今軟件技術的潮流之一。開發人員首先開發出可靠的、小的功能組件或從其他軟件開發商獲得需要的功能組件,然后利用這些功能部件裝配成更復雜的系統。GIS技術總是隨最新的計算機技術的發展而發展,而其中組件式GIS技術已成為新一代GIS的重要方面。組件式GIS不依賴于某一種開發語言,而是一種通用的嵌入式開發環境。GIS使用這些通用開發環境來實現,也可以插入其他的專業性模型分析控件,最后利用標準的接口把眾多組件集成為一個完整的應用系統[3]。
ESRI在2004年推出的ArcGIS Engine(以下簡稱Engine)是一組跨平臺的嵌入式組件,是組件式技術應用于GIS領域的最新產品。Engine開發包包括了支持各類開發任務的資源,為多種應用程序接El (API)提供了集成的幫助系統,以及對象模型圖和示例。ArcGIS Engine開發包提供了大量ArcObjects組件,還包括用于創建高質量用戶界面的可視化控件。這些可視化組件有多種形式:ActiveX組件,JavaBeans組件和.NET窗體組件,從而簡化了在用戶的應用程序中添加地圖制圖功能的編程模型。ArcGIS Engine功能強大并且具有可擴展性,它具有豐富的功能集合,讓開發者將精力集中到解決他們的應用程序中的業務邏輯中,而不是從頭開始編程實現GIS功能。ArcGIS Engine支持多種開發語言,包括Delphi,VB和VC++等。利用ArcGIS Engine能夠實現下列功能:
(1) 操作多種常用格式的矢量數據和柵格數據;
(2) 實現空間數據可視化、地圖漫游和自由縮放;
(3) 通過 ODBC,ADO等方式可鏈接多種類型的關系型數據庫;
(4) 用標準的 SQL語句進行數據特征的選擇和查詢;
(5) 支持專題地圖制作;
(6) 支持地理標注和定位;
(7) 通過編程實現多種空間分析功能等[4]。
因為ArcObjects是ERSI公司ArcGIS家族中應用程序ArcMap,ArcCatalog,ArcScene的開發平臺,所以理論上用戶可以利用ArcObjects實現這些產品的所有功能。
3 3D GIS在小流域壩系監測中的應用
3D GIS同2D GIS一樣,都需提供空間數據處理功能,如數據獲取、數據組織、數據操縱、數據分析和數據表現等。ESRI的ArcGIS 3D Analyst支持對全球多分辨率數據進行三維無縫可視化,具有基本的空間查詢和表面分析能力。小流域壩系監測3D查詢信息系統是利用ArcGIS Engine開發系統客戶端應用程序,其中用1 m分辨率的IKONOS衛星影像及1∶10 000 DEM數據建立典型小流域的三維場景,并建立每一座壩的壩體模型;標出每一處監測設施(把口站、雨量站等)的位置及相應屬性。建立已建壩和規劃壩的監測數據庫,實現在三維模式下查詢壩系相關的工程建設動態數據、攔沙蓄水數據、壩地利用及增產效益、壩系工程安全內容等。同時利用這個三維查詢系統可以直觀地了解小流域的地形地貌,坡面治理措施和溝道工程建設情況,包括每一個地方的土壤侵蝕數據,植被數據,坡度數據及各個淤地壩的壩名、筑壩時間、總庫容等20多項參數,這樣也為小流域壩系監測管理提供一種新的管理方式。
4 小流域壩系監測信息三維查詢系統的設計
4.1 系統的體系結構設計
本系統利用GIS組件和面向對象開發語言相結合的方式進行設計。系統功能結構如圖1所示。

根據系統總體需求,系統的主要功能如下:
(1) 系統數據導入:系統提供人機界面,把原始數據導入到Oracle 9i數據庫。
(2) 基本GIS功能:實現三維場景的放大、縮小、平移、旋轉,圖層的添加、刪除、有選擇地疊加顯示。
(3) 三維模型信息查詢:提供點擊查詢、條件查詢方法對淤地壩、把口站、雨量站的圖層數據和屬性數據進行查詢并顯示查詢結果。
(4) 壩系場景瀏覽:可通過鼠標漫游或路徑漫游了解小流域的地形地貌,坡面治理措施和溝道工程建設情況。
(5) 監測數據查詢:實現在三維模式下超鏈接查詢壩系相關的工程建設動態數據、攔沙蓄水數據、壩地利用及增產效益、壩系工程安全內容、小流域土壤侵蝕數據、植被數據、坡度數據及各個淤地壩的壩名、筑壩時間、總庫容等20多項參數[5]。
4.2 空間數據庫設計
4.2.1 空間數據的內容
系統構建的空間數據庫中包含的空間數據主要有:
(1) 基礎空間信息數據:黃河流域地區、縣行政界線行政區劃圖、鄉鎮駐地、居民地、公路等地形圖等。
(2) 專題空間數據:黃河支流水系、流域界限、黃河粗泥沙集中來源區、黃河流域高程點、等高線、湖泊、面狀水域、淤地壩、雨量站、把口站。
(3) 影像數據和DEM數據:1 m分辨率的IKONOS衛星影像及1∶10 000的DEM數據。
(4) 屬性數據:工程建設動態數據、攔沙蓄水數據、壩地利用及增產效益、壩系工程安全內容、小流域土壤侵蝕數據、植被數據、坡度數據及各個淤地壩的壩名、筑壩時間、總庫容等20多項參數。
4.2.2 空間數據的存儲
系統采用ArcSDE作為空間數據庫引擎,并通過ArcCatalog將矢量數據和柵格數據導入Oracle 9i數據庫。
(1) 矢量數據存儲:ArcSDE為所有的圖層建立了層表(layer table),以便用于索引,加快查詢速度。每一個圖層由業務表(business table)、特征表(feature table)、空間索引表(spatial index table)和坐標表(point table)組成,在RDBMS中存儲和管理矢量數據。數據入庫需要注意的問題有:格式轉換、字段名稱糾正等。
(2) 柵格數據存儲:ArcSDE存儲柵格數據集的方式類似于它存儲壓縮二進制要素類的方式。存儲的表格涉及到業務表(business table)、柵格表(raster)、柵格波段表(raster band table)、柵格輔助表(raster auxiliary table)、柵格塊表(raster block table)和元數據表[6]。為了提高數據的存取效率,需要注意的問題有:選取適當的數據壓縮格式、影像金字塔設置等。
4.2.3 空間數據和屬性數據集成
系統數據庫中同時存放小流域空間數據和壩系監測數據。壩系監測數據包括壩系相關的工程建設動態數據、攔沙蓄水數據、壩地利用及增產效益、壩系工程安全內容等。在對空間數據查詢需求的基礎上創建相關的屬性表,且這些屬性表和ArcSDE業務表都有一列相同域的屬性字段,通過這些屬性字段可以將空間數據和屬性數據聯系起來。這樣就實現了空間數據和屬性數據的集成。連接Oracle后加載空間數據如圖2所示。


5 應用實例
本文選擇位于陜西省寶塔區的麻莊小流域作為研究對象。麻莊流域實施期末,將形成以主溝道下游槐樹洼壩庫群為中心的攔、淤、種體系,以主溝道中游麻莊壩庫群為中心的淤種和支溝分攔分治體系,以主溝道上游吳咀骨干工程為中心的上攔下保防護體系。新建骨干壩4座,中型淤地壩(含塘壩)12座,小型淤地壩(含塘壩)14座,工程總座數達38座,壩控面積占流域總面積的73%,新增壩地47.22 km2,使流域內人均壩地達0.05 km2,壩地保收率由治理前的70%提高至92.5%。利用組件式GIS技術,選取ArcGIS Engine作為開發平臺,設計并建立了麻莊小流域壩系監測三維查詢信息系統,構建了基于ArcSDE的小流域壩系監測空間數據庫,其數據標準參照黃河水利委員會2004年頒布的《黃河流域水土保持數據庫表結構及數據字典》。系統運行界面如圖3所示。
6 結 語
本文討論了3D GIS技術在小流域壩系監測中的應用,采用GIS組件與面向對象可視化開發語言相結合的集成二次開發方法, 利用面向對象開發工具VB.NET和組件式GIS開發平臺ArcGIS Engine設計并建立了小流域壩系監測三維查詢信息系統,利用空間數據引擎ArcSDE和Oracle 9i構建了小流域壩系監測三維查詢信息系統空間數據庫,為小流域壩系監測管理提供一種新的管理方式。基于組件式GIS開發技術的小流域壩系監測信息系統的集成二次開發較傳統的二次開發相比,具有靈活、高效、減少開發時間和降低開發難度等優點。研究表明應用比較成熟的GIS組件的可視化和空間分析功能,在小流域壩系監測工作中有很高的應用價值。但ArcGIS Engine在空間查詢和表面分析能力有限,在今后的工作中,還需要在ArcGIS Engine基礎上進一步擴展此方面功能,為淤地壩研究提供更多決策支持,在淤地壩監測中發揮更大的經濟效益。
參考文獻
[1]黃河中上游管理局.淤地壩監測[M].北京:中國計劃出版社,2005.
[2]史文中,吳立新,李清泉,等.三維空間信息系統模型與算法[M].北京:電子工業出版社,2007.
[3]宋關福,鐘耳順.組件式地理信息系統研究與開發[J].中國圖像圖形學報,1998(5):313-317.
[4]文斌,邵明安.組件式GIS技術構建的小流域水土保持信息系統[J].計算機工程,2006,32(13):243-245.
[5]ERSI.http://www.esrichina-bj.cn/produce/ESRI/engine/DeveloperKit.htm.
[6]ArcInfo中國技術咨詢與培訓中心.ArcSDE Oracle管理員教程[Z].2001.
[7]楊家武,仝志輝,董現華.利用MapObject開發GIS的主要技術淺析[J].現代電子技術,2007,30(6):47-49.
作者簡介 易國彪 男,1982年出生,四川自貢人,碩士研究生。主要從事GIS、智能信息
處理研究。
白振興 男,1953年出生,山西太原人,教授,博士,碩士生導師。主要從事人工智能、模式識別、軟件理論研究。