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