滕鴻偉+廉著升+邵東橋



摘要:基于DEM的地形分析是GIS研究的重要內容,能為土壤侵蝕、流域管理與規劃以及水文分析等提供有效技術保障,具有廣泛的應用前景。本文以陜西李家寨DEM數據為例,使用C#開發語言和Arc-Engine開發組件,依據系統需求分析,進行系統模塊設計,實現了以DEM數據為主的地形分析子系統。系統構成包括基本功能模塊、表面分析模塊、水文分析模塊和擴展模塊四部分。開發系統兼容性好并滿足了數據格式的交換;分析功能豐富,包括了地表參數的計算、可視域分析、填挖方分析功能、流域水文信息管理及其地形濕度指數計算等。該系統操作簡單,用戶界面方便,實用性強。我們最終的軟件開發結果可完全用于地形相關分析,具有重要的實踐意義。
關鍵詞:DEM;地形分析;水文分析;Arc-Engine
前言
隨著地理信息技術的不斷發展,地形分析技術已經日益完善,并且已經在自然災害的防治、城市規劃和城市環境的保護、天氣預報等眾多領域得到了廣泛的應用。地形分析過程主要以柵格數據為數據源。柵格DEM是地形制圖和地形分析的常用輸入數據,可派生出如坡度、坡向、剖面曲率、平面曲率、多種地形因子,是地形分析和各領域應用的基礎。DEM不僅僅是地形信息的簡單表達,其更深層的價值在于它所蘊含的各種地形地貌結構信息,近年來許多學者以DEM數據為基礎地理數據提取了各種地形信息。石春力等利用90m分辨率的天津市薊縣的沙河流域DEM數據提取了該地區的河網等水文因子;劉學軍等通過理論與數據獨立的方法研究了DEM的結構特征對提取坡度、坡向的影響。張東方,胡昆以數字高程模型在分布式水文模型中的研究應用,同時進行了流向、流量、河網提取等操作。朱慶等實現了一種從規則格網DEM數據中提取匯流區域及其子區域準確高效的算法。彭思嶺等人以山東省濟南市以現有的31個雨量觀測點的雨量數據繪制出了濟南市汛期等雨量線。畢華興等人用TNT-mips地理信息系統工具對日本東北地區池峰山地形進行了研究。宋冰等模擬黃土高原微地形特征對填洼量算法進行了研究。嚴建鋼等利用ArcGIS軟件從5m分辨率的陜西省延安市大南溝小流域DEM數中提取了該地區的河道溝系。
基于Arc-Engine的二次開發技術是組件GIS開發重要內容?,F已有很多學者開發出了各種高效使用的GIS系統。基于以上闡述,針對各種地形的DEM數據采用組件式二次開發技術開發出實用高效地形分析系統,面向不同的用戶提供地形和水文方面的數據信息服務,以支持用戶更多掌握了解地形信息,為相關部門決策提供支持。
1.系統需求分析與設計
1.1需求分析
在系統開發前通過大量的調研和用戶溝通后確定了用戶對該系統需求。該系統的需求主要有:實現數據的基本讀取操作,進行有效的空間插值操作,并在水文分析及地形濕度指數模擬方面發揮重要作用。
1.2開發環境
基于Arc-Engine的地形分析子系統采用的二次開發組件是ESRI公司的ArcEngine10.0。Arc-Engine中具有數目眾多的COM對象,在NET環境下將這些對象組織到不同的命名空間中,Arc-Engine是進行GIS二次開發的優秀平臺,Arc-Engine的對象與開發平臺選擇無關,它由一組核心ArcGIS Objects包組成,可以用于各種編程接口中。在Arc-Engine組件的支持下,可實現諸多地理信息分析的功能。
1 3模塊設計
根據系統構建的目的,系統分為四大模塊:基本操作模塊、表面分析模塊、水文分析模塊以及擴展模塊。
2.地形分析子系統的表面分析
2.1坡度分析
坡度表示地表的傾斜程度,在地貌學中定義為地面上一點水平方向與該點切線方向的夾角。地面上任意一點的坡度值均介于0°~90°之間,坡度值大小與地勢的走向有關,隨著坡度值的增大地勢逐漸變陡,反之平緩。本文利用Arc-Engme類庫中的Geo-Analyst類提供的Slope接口來提取坡度柵格。通過坡度分析的結果如圖2.1。
根據對坡度分析的對比發現海拔較低的地區坡度較小,隨著海拔的升高坡度呈遞增趨勢。根據分析結果可知研究區域的坡度值集中在15°~35°之間,小于15°和大于35°的區域占研究區的面積較少。坡度小于15°的區域地勢比較平緩適宜人類居住和從事各類生產活動,同時這一地區的自然生態環境狀況深受人類活動的影響。在坡度大于35°的區域山地特征顯著,人類活動較少,植被覆蓋面積較大。
2.2坡向分析
把地面任意一點真北方向與該點切平面的法線在水平面的投影之間的夾角稱為坡度。本文利用Arc-Engine類庫中的Geo-Analyst類提供的Aspect接口來提取坡向柵格。該接口只需輸入表面柵格數據就可以提取出坡向柵格。輸出柵格所表示的坡向是輸入柵格中每個像元到期相鄰像元方向上的最大下坡方向,因而也可以將坡向理解為坡度的方向。輸出的坡向柵格中坡向值介于0°~360°之間,其中正北方向為0°按順時針方向計算。最終的坡向提取結果如圖2.2所示。
2.3視域分析
視域是指由地表的一個或多個觀測點可以看到的地表范圍,在地表分析中將提取視點可視范圍的過程稱為視域分析。本文通過Arc-Engine類庫中的Geo-Analyst類提供的Visibility接口提取視域柵格,該接口需要輸入柵格參數分別是表面柵格數據,輸入的觀察點據和使用者所選用的操作類型?;跂鸥竦囊曈蚍治龅娜齻€步驟第一步在觀測點和目標之間創建視線;第二步沿著視線用插值方法生成中間點的高程值,這些中間點通常是格網線與實現的交點。第三步判斷中間點的高程值與視點高程值的大小,若小于視點高程則這點可視,如果大于視點高程則不可視。將所有的柵格像元作為目標像元執行以上步驟,直到將每一個像元歸為可視或不是像元。最終的可視域分析結果如圖2.3所示。endprint
2.4等值線分析
本文中通過Arc-Engine類庫中的Geo-Analyst類提供的Counter接口來完成等值線操作。Counter接口需要輸入兩個參數分別是表面柵格數據、z因子。圖2.4是由輸入的高程柵格數據提取等高線的結果。提取等高線的過程是將柵格數據中高程值相等的柵格像元連接起來生成等高線。由分析結果中等值線的分布可以獲取整個表面分析值變化情況,若等值線的間距比較小,則表示整個區域研究值的變化比較小,等值線間距比較大,則表示研究區域研究值變化比較大。應用該系統設置參數其起始等值線為0,等值線間距為10m。
系統通過對等值線的分析處理,結果顯示在山脊點附近等高線比較密集,地勢變化較大,在溝谷地區等高線非常稀疏,地勢幾乎無變化。
3.基于DEM數據的流域水文分析
水文分析是進行流域尺度徑流模擬以及地表水量平衡等研究的重要過程。本模塊利用Arc-Engine類庫中Spa-tial-Analyst類中的水文處理接口提取流域的各種水文因子。最終實現了研究區的河網分級。水文分析過程主要包括:填洼;流向及流量計算;匯流計算;河網分級?;谄露葦祿c匯流累計數據,我們提取了研究區的地形濕度指數數據。
3.1填洼
DEM是對三維地表的有效模擬方法,但是由于數據內插方法的精度不足或是對喀斯特地貌等真實地形的模擬需要,導致DEM數據表面存在洼地。但是在提取流向前必須對地表這些洼地進行填洼處理,防止在提取流向時出現水流由高程低的柵格像元流向高程比其高的柵格像元。提取流向前對流域柵格執行填洼的目的是填充柵格數據表面的洼地,除去數據的小瑕疵。本文利用Arc-Engine類庫中Spatial-Analyst類中Fill接口完成了表面DEM數據的填洼操作。
3.2水流方向
水流方向是指水流離開柵格像元時指向其周圍的哪個鄰接像元。目前學者已經確定的能夠提取水流方向的算法有很多,每一種算法的都有各自不同的前提或假設,因此提取出的流向精度也不盡相同。基本算法思想可以大致分為單流向算法(SFD)和多流向算法(MFD)以及其他算法。本文采用Arc-Engine類庫中Spmial-Analyst類中Flow-Direc-ton接口,以無洼地DEM數據為源數據提取出了研究區域的水流方向柵格數據。
3.3匯流累計量
本文利用采用Arc-Engine類庫中Spatial Analyst類中Flow Accumulation接口以D8算法計算得到的流向數據為源數據計算獲取流量柵格。柵格中每個像元的流量是由流經此像元所有柵格的流量累加得到的。Flow Accumulation接口需要輸入兩個參數分別是流向柵格數據和可選擇性輸入的權重柵格數據。由分析結果可知地勢變化比較大的地區,特別是山脊線的兩側匯流累積量比較大,而在地勢起伏比較小的地區特別是地勢平坦的地區匯流累積量比較小。
3.4河網分級
本系統利用Arc-Engine類庫中Spmial Analyst類中的Stream-Order接口完成了柵格河網的分級操作。研究區域內河網密集,用Strahler分級方法得到的分析結果如圖3.1所示,統計圖中數據得出Strahler分級方法可以得到95條河網弧段,其中一級弧段74條占總弧段數的77.8%二級弧段21條占總弧段數的22.2%。其中二級弧段中只有5條中段沒有一級弧段相交,其余16條二級弧段中斷均有一級弧段與其相交占二級弧段總數的68.6%。Shreve分級法將該河網數據分為6級其中二級弧段11條、三級弧段3條、四級弧段2條、五級弧段和六級弧段各1條(如圖3.2所示)。由河網分級結果和高程數據變化可以看出研究區域地勢起伏度比較大,河流數目眾多但匯流程度較小。
4.地形濕度指數
以數字高程模型(DEM)為基礎提取地形濕度指數,該因子綜合了地形和土壤特性對土壤水分分布的影響,在流域土壤水分空間分布研究中具有重要的應用價值。因而可以認為地形濕度指數是一種對徑流長度、流域面積等的定量描述。本文以Arc-Engine類庫中Spmial Analyst類中能夠支持柵格運算表達式的IMapAlgebraop接口完成了地形濕度指數的提取操作。地形濕度模擬計算結果如圖4.1所示。
綜上分析可知,研究區的地形濕度指數介于6到20之間,坡度越小地形濕度指數越大;匯流累計量越大地形濕度指數越大。也就是說坡度較小且匯流累積量較大的區域土壤容易飽和而產流。溝谷地區地勢平緩坡度介于0°~10°之間且匯流量較大位于2000左右,地形濕度指數較大,大于19;在高程變化較大的坡頂地區坡度介于36°~45°之間,但是該區域匯流累積量較小,地形濕度指數位于6.5左右。因而該地區溝谷地區容易匯流,但是坡度較大山脊附近不易匯流。
5.結語
本系統以Visual Studi02010作為開發平臺,結合Ale-Engine強大的圖形顯示、數據處理功能和良好的可視化效果及空間分析模塊中的各種空間分析接口,利用C#語言實現了地形分析子系統的開發。
本文基于Arc-Engine的地形分析子系統開發基本實現了水文分析以及地形分析的相關應用,然后針對系統的算法優化以及分析模塊的優化均有待進一步提高。不可否認的是,基于Arc-Engine的組件式二次開發可在地學相關分析及礦產類應用中發揮巨大作用。endprint