徐海燕,趙文武,解純營,靳婷
(北京師范大學資源學院,地表過程與資源生態(tài)國家重點實驗室,北京 100875)
土壤侵蝕評價工作涉及到大量空間數(shù)據(jù)(如地形、氣象、土壤、土地利用等)的采集、處理與利用,利用現(xiàn)代計算機技術、網(wǎng)絡技術、GIS技術等實現(xiàn)土壤侵蝕評價的自動化、程序化,建立一體化的土壤侵蝕GIS模型,提高GIS在土壤侵蝕研究中的工作效率,是GIS在土壤侵蝕評價中應用的集中體現(xiàn)[1]。土壤侵蝕評價模型與GIS的集成過程中,集成方式及土壤侵蝕模型的選擇是問題的關鍵所在。目前的集成方式研究主要可以概括為三個方面:基于Web-GIS技術建立的網(wǎng)絡模型[2];基于COM(Component Object Model)技術和某種平臺語言開發(fā)的獨立系統(tǒng)[3];基于 COM技術的嵌入式開發(fā),包括VBA環(huán)境下的定制[4-5]。三種開發(fā)方式各有利弊,其中嵌入式開發(fā)以其在GIS基礎平臺上定制和擴展業(yè)務應用邏輯的開發(fā)靈活、周期短等優(yōu)勢,為多數(shù)專業(yè)開發(fā)者所采用。眾多關于土壤侵蝕評價的經(jīng)驗模型和物理模型中,USLE或RUSLE已得到廣泛驗證,已經(jīng)開展了許多與之相關的應用研究[2-4,6]。但是,隨著對不同尺度下土地利用對土壤侵蝕影響研究認識的不斷加深,現(xiàn)有模型在評價土地利用對土壤侵蝕影響方面的不足也愈發(fā)表現(xiàn)出來。多尺度土壤侵蝕評價指數(shù)(Soil Loss Evaluation Index,簡稱SL)是新近提出的針對不同尺度的簡易土壤侵蝕評價模型[7],該指數(shù)運用尺度上推的方法,借鑒土壤侵蝕通用方程中部分侵蝕因子的算法,提出坡面、流域、小流域等不同尺度土壤侵蝕評價指數(shù)的研究思路。關于土壤侵蝕評價指數(shù)模型的GIS實現(xiàn)技術與應用分析等目前已經(jīng)做了相關研究[7-10],為簡化該模型的邏輯計算過程,促進模型在區(qū)域土地利用格局優(yōu)化及土壤侵蝕評價中的應用,有必要將模型與GIS緊密集成,構建能夠用于評價不同尺度土地利用格局變化與土壤侵蝕關系的GIS模塊。
鑒于上述研究背景,結合COM 技術,將組件式GIS軟件ArcGIS、RUSLE、SL 指數(shù)的因子獲取、模型運算集成于一體,構建具有良好可操作性,能夠服務于土壤侵蝕評價及相關研究的GIS內嵌模塊。
土壤侵蝕評價模塊涉及到數(shù)據(jù)輸入、因子計算分析、數(shù)據(jù)輸出3個主要功能。數(shù)據(jù)輸入的原則是各種圖形和矢量格式的數(shù)據(jù)都可以輸入,其中以Shape和DEM為主要數(shù)據(jù)源。因子計算分析是模塊的核心,為保證計算的多宜性和靈活性,需要合理選擇參數(shù)的計算公式,并盡量設計多種計算方法。各評價因子計算完成后將其通過疊加等空間分析運算輸出。因為土壤侵蝕評價指數(shù)只是一個半定量的計算結果[7],為了定量反映土壤侵蝕程度,模塊需要基于RUSLE土壤侵蝕預報模型設計子模塊,估算區(qū)域土壤侵蝕量。在定量估算土壤侵蝕量的基礎上,分別根據(jù)流域、小流域、坡面三個尺度土壤侵蝕評價指數(shù)的計算思路和方法設計子模塊,進行土地利用與土壤侵蝕的關系分析和土壤侵蝕評價。考慮到空間分析的方便性,數(shù)據(jù)主要是以柵格數(shù)據(jù)格式輸出。土壤侵蝕量的計算和多尺度土壤侵蝕評價指數(shù)的計算結果能夠初步反映土壤流失的過程特征,可以用于土地利用與土壤侵蝕的關系研究和多尺度土壤侵蝕評價研究,為區(qū)域土地利用格局的優(yōu)化設計和水土流失綜合治理提供技術支撐。
組件式GIS不依賴于某一種開發(fā)語言,而是一種通用的嵌入式開發(fā)環(huán)境。GIS使用這些通用開發(fā)環(huán)境來實現(xiàn),可以插入其它的專業(yè)性模型分析控件,也可以最后利用標準的接口把眾多組件集成為一個完整的應用系統(tǒng)。ArcGIS Engine(簡稱Engine)是一組跨平臺的嵌入式組件,是組件式技術應用于GIS領域的最新產(chǎn)品。Engine開發(fā)包包括了支持各類開發(fā)任務的資源,為多種應用程序接口(API)提供了集成的幫助系統(tǒng),以及對象模型圖和示例。Engine開發(fā)包提供了大量ArcObjects組件,還包括用于創(chuàng)建高質量制圖用戶界面的可視化控件[6]。Engine包括Arcobjects的核心功能,相比Arcobjects,Engine能夠簡化在用戶的應用程序中添加GIS功能的編程模型,具備快速開發(fā)和功能擴展能力,它支持多種開發(fā)語言,包括 VB、Delphi和VC++等。利用Engine能夠很容易的實現(xiàn)土壤侵蝕評價計算所需要的多種空間分析功能??紤]到模塊的可移植性和可重用性,模塊以動態(tài)鏈接庫(Dynamic Link Library,DLL)的形式提供,功能由相對獨立的組件實現(xiàn)。這樣功能模塊不僅只是針對某一固定的應用系統(tǒng),而且可以通過其提供的接口用于其他使用Engine組件開發(fā)的應用系統(tǒng)中。因此,本研究采用組件技術進行模塊設計,在Microsoft Visual Basic 6.0開發(fā)環(huán)境中,基于ArcGIS Engine開發(fā)包,通過建立DLL,構建土壤侵蝕評價GIS模塊。
根據(jù)土壤侵蝕評價模塊的設計思想、計算邏輯和ArcGIS Engine的技術特點,模塊結構設計(圖1)采用三層結構模式:①數(shù)據(jù)層主要用來提供和管理所需的空間和非空間數(shù)據(jù);②邏輯層是模塊功能實現(xiàn)的技術支撐,通過VB語言調用AreGIS Engine中的ArcObjects組件,構建土壤侵蝕評價模塊的結構框架;③表現(xiàn)層主要包括土壤侵蝕評價模塊的土壤侵蝕量計算、流域尺度土壤侵蝕評價指數(shù)計算、小流域尺度土壤侵蝕評價指數(shù)計算、坡面尺度土壤侵蝕評價指數(shù)計算4個子模塊,通過4個子模塊,可以計算從流域尺度到小流域、坡面尺度的土壤侵蝕量和土壤侵蝕評價指數(shù),實現(xiàn)土地利用與土壤侵蝕的多尺度綜合研究。
基于ArcGIS Engine開發(fā),在VB開發(fā)環(huán)境中,實現(xiàn)了多尺度土壤侵蝕評價的解決方案。其核心在于應用程序定義插件遵循的接口,以及自定義組件接口的實現(xiàn)。模塊建設的技術流程如下:在“Ac-tiveX DLL”工程中引用ArcObjects對象庫;通過關鍵詞Implements實現(xiàn)所需接口,在類模塊中寫入實現(xiàn)特定ArcObjects接口的代碼;定義過程函數(shù);添加初始化事件Oncreat、Click等代碼;編譯成DLL;加載到ArcGIS平臺中。根據(jù)這一過程構建的土壤侵蝕評價指數(shù)模塊如圖2所示。

圖1 土壤侵蝕評價模塊的結構框架

圖2 土壤侵蝕評價模塊
本模塊主要是依據(jù)RUSLE模型建立,并根據(jù)中國水土保持的特點和前人研究結果對參數(shù)因子的計算公式進行了修正。其主要功能在于通過 RUSLE土壤侵蝕預報模型來估算區(qū)域的土壤侵蝕量。根據(jù)RUSLE模型所涉及的參數(shù)因子設置了7個子模塊,分別為降雨侵蝕因子(R)、土壤可蝕性因子(K)、坡長因子(L)、坡度因子(S)、作物覆蓋與管理因子(C)、水土保持措施因子(P)、土壤侵蝕量計算。通過這些子模塊可以分別獲得各計算因子的結果圖層,最后通過土壤侵蝕量計算子模塊疊加運算輸出土壤侵蝕量圖層。
根據(jù)流域尺度土壤侵蝕評價指數(shù)的計算模型,本模塊設定了降雨侵蝕力因子(R)、土壤可蝕性因子(K)、作物覆蓋與管理因子(C)、溝壑密度指數(shù)(G)、地面粗糙度指數(shù)(R′)以及土壤侵蝕評價指數(shù)計算6個子模塊。在將區(qū)域劃分為若干個流域的基礎上,通過該模塊,依據(jù)計算結果可以找出土壤侵蝕評價指數(shù)較高(即土壤侵蝕風險較高)、需要優(yōu)化土地利用格局的流域。
根據(jù)小流域尺度土壤侵蝕評價指數(shù)的計算模型,本模塊設定了降雨侵蝕力因子(R)、土壤可蝕性因子(K)、作物覆蓋與管理因子(C)、坡度因子(S)、水平距離指數(shù)(D)、垂直距離指數(shù)(H)、水土保持措施因子(P)以及土壤侵蝕評價指數(shù)計算8個子模塊(圖3)。通過該模塊,可以找出土壤侵蝕評價指數(shù)較高、需要優(yōu)化土地利用格局的小流域。

圖3 流域尺度土壤侵蝕評價指數(shù)計算子模塊
根據(jù)坡面尺度土壤侵蝕評價指數(shù)的計算模型,本模塊涉及水平距離指數(shù)(D)、作物覆蓋與管理因子(C)、土地利用斑塊寬度(W)、坡度因子(S)、土壤侵蝕評價指數(shù)計算5個參數(shù)因子。通過該模塊,在將土壤侵蝕評價指數(shù)較高的小流域劃分為若干個坡面的基礎上,根據(jù)計算出的土壤侵蝕評價指數(shù),針對坡面尺度調整土地利用格局。
利用ArcGIS Engine提供的組件庫,在可視化編程環(huán)境下,調用組件來實現(xiàn)GIS空間分析功能擴展是土壤侵蝕評價模塊實現(xiàn)的核心技術。而實現(xiàn)土壤侵蝕量和土壤侵蝕評價指數(shù)計算的關鍵技術是實現(xiàn)其模型中各參數(shù)因子的計算。RUSLE模型及不同尺度土壤侵蝕評價指數(shù)的計算模型,所涉及的計算因子雖然不同,但其具體實現(xiàn)方法相似。在此以小流域尺度土壤侵蝕評價指數(shù)模塊為例,簡單介紹其部分因子的具體實現(xiàn)。
根據(jù)降雨侵蝕力因子的計算模型,其計算分為兩部分。首先根據(jù)式(1)[10]計算單個雨量站點的降雨侵蝕力,再對計算出的每月份或全年的降雨侵蝕力采用Kriging方法,選擇合適的插值參數(shù)進行空間插值,得到每月份或全年的降雨侵蝕力圖層。據(jù)此設計實現(xiàn)了雨量站點降雨侵蝕力計算和降雨侵蝕力空間插值兩個功能子模塊(圖4)。雨量站點降雨侵蝕量力計算輸出的關鍵是將根據(jù)降雨量字段計算完成的降雨侵蝕力作為一個字段添加到數(shù)據(jù)文件中。

式中:rain9——每月中大于9 mm的日降雨量之和。

圖4 降雨侵蝕力因子計算子模塊

土壤可蝕性因子的計算模型如式(2)[11]。該因子實現(xiàn)的關鍵是首先加載土壤質地數(shù)據(jù)圖層,通過下拉框分別在土壤質地圖層屬性表中選擇原土粒徑組成字段和小于該粒徑的算術平均值字段,將計算結果分別根據(jù)土壤類型,作為字段添加到圖層文件中,根據(jù)DEM數(shù)據(jù)的柵格大小,完成柵格轉換后將數(shù)據(jù)圖層輸出保存。

式中:Dg——幾何平均粒徑;fi——原土中粒徑組成百分比;mi——小于該粒徑的算術平均值。
根據(jù)需要對作物覆蓋與管理因子的計算設定了兩種方法:①根據(jù)土壤流失率計算。先將各月份的土壤流失率數(shù)據(jù)轉為柵格格式,利用土壤流失率數(shù)據(jù)和降雨侵蝕力數(shù)據(jù),據(jù)式(3),采用尺度上推的方法[8]計算作物覆蓋與管理因子。②根據(jù)土地利用類型和NDVI數(shù)據(jù)計算。先加載土地利用數(shù)據(jù)和NDVI數(shù)據(jù),選擇屬性表中的土地利用類型字段,將各土地利用類型進行歸類后根據(jù)各土地利用類型的相應計算公式計算作物覆蓋與管理因子。兩種方法的主界面如圖5所示。

式中:RSLRi——不同月份土地利用的土壤流失率;SDREi——不同月份降雨侵蝕力空間分布圖;∑SDRE——全年的降雨侵蝕力空間分布圖。

圖5 作物覆蓋與管理因子計算子模塊
垂直距離指數(shù)反映的是某點高程與區(qū)域內距離最近的水系高程之差。首先計算水系所在的高程,模塊中實現(xiàn)了自動將Shp格式的水系文件轉成coverage格式并添加0值字段,依據(jù)該字段將其轉為柵格格式后與DEM疊加得到水系的所在高程文件。將水系高程文件的數(shù)據(jù)格式轉換成整型,利用水系擴展功能得到水系所在的高程面。原始DEM與水系高程面作相減運算得到水系的垂直距離,通過重新分類對垂直距離進行修正,小于0的設為0,大于0的設為1。計算水系垂直距離的最大值后,根據(jù)計算公式[7]計算垂直距離指數(shù)。



圖6 垂直距離指數(shù)計算子模塊
加載DEM數(shù)據(jù),根據(jù)不同的坡度條件分別選擇設定不同的P值,自動對圖層進行字段賦值,最后依據(jù)DEM數(shù)據(jù)單元格的大小,輸出水土保持措施因子圖層(圖7)。

圖7 水土保持措施子模塊
基于COM技術和ArcGIS Engine,在 Microsoft Visual Basic 6.0開發(fā)環(huán)境中設計并構建了土壤侵蝕評價GIS內嵌模塊?;诮M件對象的土壤侵蝕評價模塊的開發(fā)與其他傳統(tǒng)的開發(fā)方式比較,具有靈活、高效、移植性強等特點。通過本研究可以看出,應用組件式GIS技術進行開發(fā),基于ArcObjects組件,以二進制的動態(tài)鏈接庫表現(xiàn),開發(fā)土壤侵蝕評價指數(shù)模塊切實可行。模塊化的土壤侵蝕評價模型能夠有效應用于多尺度的土壤侵蝕評價,進一步推動土地利用與土壤侵蝕關系研究的深入。同時,系統(tǒng)開發(fā)是一個復雜的過程,土壤侵蝕評價涉及的空間數(shù)據(jù)和屬性數(shù)據(jù)種類繁多,因此在今后的工作中,還需要根據(jù)數(shù)據(jù)的不同來源和土壤侵蝕的區(qū)域特點等,在評價模型和評價方法的設定、參數(shù)因子的計算方法和實現(xiàn)過程等方面不斷完善,以更好、更方便的應用于相關研究。
[1]李文航,劉慧平.GIS在土壤侵蝕分析中的應用研究進展[J].中國水土保持科學,2003,1(3):89-94.
[2]劉海濤,秦其明.基于WebGIS的土壤侵蝕模型的研究及應用[J].水土保持學報,2001,15(3):52-55.
[3]張振龍,曾志遠,胡子付.基于ArcGIS Engine和.NET的土壤侵蝕信息系統(tǒng)設計及其關鍵技術[J].計算機應用研究,2006(2):230-232.
[4]章文波,劉寶元.基于GIS的中國土壤侵蝕預報信息系統(tǒng)[J].水土保持學報,2003,17(2):89-92.
[5]Wang X L,Li S M,SUN Y F,et al.Application of visual simulation technology to a soilerosion protection project[J].Landscape and Urban Planning,2008,84(1):52-61.
[6]文斌,邵明安.組件式GIS技術構建的小流域水土保持信息系統(tǒng)[J].計算機工程,2006,32(13):243-245.
[7]傅伯杰,趙文武,陳利頂,等.多尺度土壤侵蝕評價指數(shù)[J].科學通報,2006,51(16):1936-1943.
[8]趙文武,傅伯杰,郭旭東.多尺度土壤侵蝕評價指數(shù)的技術與方法[J].地理科學進展,2008,27(2):47-52.
[9]趙文武,徐海燕,解純營.黃土丘陵溝壑區(qū)流域尺度降雨侵蝕力估算[J].農(nóng)業(yè)工程學報,2008,24(增刊1):38-42.
[10]FU B J,Zhao W W,CHEN L D,et al.Assessment of soil erosion at large watershed scale using RUSLE and GIS:a case study in the Loess Plateau of China[J].Land Degradation and Development,2005,16(1):73-85.
[11]劉寶元,謝云,張科利.土壤侵蝕預報模型[M].北京:中國科學技術出版社,2001.