APP下载

组件式GIS技术构建的多尺度土壤侵蚀评价模块*

2010-06-21徐海燕赵文武解纯营靳婷

水土保持研究 2010年1期
关键词:土壤侵蚀降雨土地利用

徐海燕,赵文武,解纯营,靳婷

(北京师范大学资源学院,地表过程与资源生态国家重点实验室,北京 100875)

土壤侵蚀评价工作涉及到大量空间数据(如地形、气象、土壤、土地利用等)的采集、处理与利用,利用现代计算机技术、网络技术、GIS技术等实现土壤侵蚀评价的自动化、程序化,建立一体化的土壤侵蚀GIS模型,提高GIS在土壤侵蚀研究中的工作效率,是GIS在土壤侵蚀评价中应用的集中体现[1]。土壤侵蚀评价模型与GIS的集成过程中,集成方式及土壤侵蚀模型的选择是问题的关键所在。目前的集成方式研究主要可以概括为三个方面:基于Web-GIS技术建立的网络模型[2];基于COM(Component Object Model)技术和某种平台语言开发的独立系统[3];基于 COM技术的嵌入式开发,包括VBA环境下的定制[4-5]。三种开发方式各有利弊,其中嵌入式开发以其在GIS基础平台上定制和扩展业务应用逻辑的开发灵活、周期短等优势,为多数专业开发者所采用。众多关于土壤侵蚀评价的经验模型和物理模型中,USLE或RUSLE已得到广泛验证,已经开展了许多与之相关的应用研究[2-4,6]。但是,随着对不同尺度下土地利用对土壤侵蚀影响研究认识的不断加深,现有模型在评价土地利用对土壤侵蚀影响方面的不足也愈发表现出来。多尺度土壤侵蚀评价指数(Soil Loss Evaluation Index,简称SL)是新近提出的针对不同尺度的简易土壤侵蚀评价模型[7],该指数运用尺度上推的方法,借鉴土壤侵蚀通用方程中部分侵蚀因子的算法,提出坡面、流域、小流域等不同尺度土壤侵蚀评价指数的研究思路。关于土壤侵蚀评价指数模型的GIS实现技术与应用分析等目前已经做了相关研究[7-10],为简化该模型的逻辑计算过程,促进模型在区域土地利用格局优化及土壤侵蚀评价中的应用,有必要将模型与GIS紧密集成,构建能够用于评价不同尺度土地利用格局变化与土壤侵蚀关系的GIS模块。

鉴于上述研究背景,结合COM 技术,将组件式GIS软件ArcGIS、RUSLE、SL 指数的因子获取、模型运算集成于一体,构建具有良好可操作性,能够服务于土壤侵蚀评价及相关研究的GIS内嵌模块。

1 模块设计

1.1 总体设计思想

土壤侵蚀评价模块涉及到数据输入、因子计算分析、数据输出3个主要功能。数据输入的原则是各种图形和矢量格式的数据都可以输入,其中以Shape和DEM为主要数据源。因子计算分析是模块的核心,为保证计算的多宜性和灵活性,需要合理选择参数的计算公式,并尽量设计多种计算方法。各评价因子计算完成后将其通过叠加等空间分析运算输出。因为土壤侵蚀评价指数只是一个半定量的计算结果[7],为了定量反映土壤侵蚀程度,模块需要基于RUSLE土壤侵蚀预报模型设计子模块,估算区域土壤侵蚀量。在定量估算土壤侵蚀量的基础上,分别根据流域、小流域、坡面三个尺度土壤侵蚀评价指数的计算思路和方法设计子模块,进行土地利用与土壤侵蚀的关系分析和土壤侵蚀评价。考虑到空间分析的方便性,数据主要是以栅格数据格式输出。土壤侵蚀量的计算和多尺度土壤侵蚀评价指数的计算结果能够初步反映土壤流失的过程特征,可以用于土地利用与土壤侵蚀的关系研究和多尺度土壤侵蚀评价研究,为区域土地利用格局的优化设计和水土流失综合治理提供技术支撑。

1.2 开发方式的选择

组件式GIS不依赖于某一种开发语言,而是一种通用的嵌入式开发环境。GIS使用这些通用开发环境来实现,可以插入其它的专业性模型分析控件,也可以最后利用标准的接口把众多组件集成为一个完整的应用系统。ArcGIS Engine(简称Engine)是一组跨平台的嵌入式组件,是组件式技术应用于GIS领域的最新产品。Engine开发包包括了支持各类开发任务的资源,为多种应用程序接口(API)提供了集成的帮助系统,以及对象模型图和示例。Engine开发包提供了大量ArcObjects组件,还包括用于创建高质量制图用户界面的可视化控件[6]。Engine包括Arcobjects的核心功能,相比Arcobjects,Engine能够简化在用户的应用程序中添加GIS功能的编程模型,具备快速开发和功能扩展能力,它支持多种开发语言,包括 VB、Delphi和VC++等。利用Engine能够很容易的实现土壤侵蚀评价计算所需要的多种空间分析功能。考虑到模块的可移植性和可重用性,模块以动态链接库(Dynamic Link Library,DLL)的形式提供,功能由相对独立的组件实现。这样功能模块不仅只是针对某一固定的应用系统,而且可以通过其提供的接口用于其他使用Engine组件开发的应用系统中。因此,本研究采用组件技术进行模块设计,在Microsoft Visual Basic 6.0开发环境中,基于ArcGIS Engine开发包,通过建立DLL,构建土壤侵蚀评价GIS模块。

1.3 结构设计

根据土壤侵蚀评价模块的设计思想、计算逻辑和ArcGIS Engine的技术特点,模块结构设计(图1)采用三层结构模式:①数据层主要用来提供和管理所需的空间和非空间数据;②逻辑层是模块功能实现的技术支撑,通过VB语言调用AreGIS Engine中的ArcObjects组件,构建土壤侵蚀评价模块的结构框架;③表现层主要包括土壤侵蚀评价模块的土壤侵蚀量计算、流域尺度土壤侵蚀评价指数计算、小流域尺度土壤侵蚀评价指数计算、坡面尺度土壤侵蚀评价指数计算4个子模块,通过4个子模块,可以计算从流域尺度到小流域、坡面尺度的土壤侵蚀量和土壤侵蚀评价指数,实现土地利用与土壤侵蚀的多尺度综合研究。

2 功能实现

基于ArcGIS Engine开发,在VB开发环境中,实现了多尺度土壤侵蚀评价的解决方案。其核心在于应用程序定义插件遵循的接口,以及自定义组件接口的实现。模块建设的技术流程如下:在“Ac-tiveX DLL”工程中引用ArcObjects对象库;通过关键词Implements实现所需接口,在类模块中写入实现特定ArcObjects接口的代码;定义过程函数;添加初始化事件Oncreat、Click等代码;编译成DLL;加载到ArcGIS平台中。根据这一过程构建的土壤侵蚀评价指数模块如图2所示。

图1 土壤侵蚀评价模块的结构框架

图2 土壤侵蚀评价模块

2.1 土壤侵蚀量计算子模块

本模块主要是依据RUSLE模型建立,并根据中国水土保持的特点和前人研究结果对参数因子的计算公式进行了修正。其主要功能在于通过 RUSLE土壤侵蚀预报模型来估算区域的土壤侵蚀量。根据RUSLE模型所涉及的参数因子设置了7个子模块,分别为降雨侵蚀因子(R)、土壤可蚀性因子(K)、坡长因子(L)、坡度因子(S)、作物覆盖与管理因子(C)、水土保持措施因子(P)、土壤侵蚀量计算。通过这些子模块可以分别获得各计算因子的结果图层,最后通过土壤侵蚀量计算子模块叠加运算输出土壤侵蚀量图层。

2.2 流域尺度土壤侵蚀评价指数模块

根据流域尺度土壤侵蚀评价指数的计算模型,本模块设定了降雨侵蚀力因子(R)、土壤可蚀性因子(K)、作物覆盖与管理因子(C)、沟壑密度指数(G)、地面粗糙度指数(R′)以及土壤侵蚀评价指数计算6个子模块。在将区域划分为若干个流域的基础上,通过该模块,依据计算结果可以找出土壤侵蚀评价指数较高(即土壤侵蚀风险较高)、需要优化土地利用格局的流域。

2.3 小流域尺度土壤侵蚀评价指数模块

根据小流域尺度土壤侵蚀评价指数的计算模型,本模块设定了降雨侵蚀力因子(R)、土壤可蚀性因子(K)、作物覆盖与管理因子(C)、坡度因子(S)、水平距离指数(D)、垂直距离指数(H)、水土保持措施因子(P)以及土壤侵蚀评价指数计算8个子模块(图3)。通过该模块,可以找出土壤侵蚀评价指数较高、需要优化土地利用格局的小流域。

图3 流域尺度土壤侵蚀评价指数计算子模块

2.4 坡面尺度土壤侵蚀评价指数模块

根据坡面尺度土壤侵蚀评价指数的计算模型,本模块涉及水平距离指数(D)、作物覆盖与管理因子(C)、土地利用斑块宽度(W)、坡度因子(S)、土壤侵蚀评价指数计算5个参数因子。通过该模块,在将土壤侵蚀评价指数较高的小流域划分为若干个坡面的基础上,根据计算出的土壤侵蚀评价指数,针对坡面尺度调整土地利用格局。

3 关键技术

利用ArcGIS Engine提供的组件库,在可视化编程环境下,调用组件来实现GIS空间分析功能扩展是土壤侵蚀评价模块实现的核心技术。而实现土壤侵蚀量和土壤侵蚀评价指数计算的关键技术是实现其模型中各参数因子的计算。RUSLE模型及不同尺度土壤侵蚀评价指数的计算模型,所涉及的计算因子虽然不同,但其具体实现方法相似。在此以小流域尺度土壤侵蚀评价指数模块为例,简单介绍其部分因子的具体实现。

3.1 降雨侵蚀力因子

根据降雨侵蚀力因子的计算模型,其计算分为两部分。首先根据式(1)[10]计算单个雨量站点的降雨侵蚀力,再对计算出的每月份或全年的降雨侵蚀力采用Kriging方法,选择合适的插值参数进行空间插值,得到每月份或全年的降雨侵蚀力图层。据此设计实现了雨量站点降雨侵蚀力计算和降雨侵蚀力空间插值两个功能子模块(图4)。雨量站点降雨侵蚀量力计算输出的关键是将根据降雨量字段计算完成的降雨侵蚀力作为一个字段添加到数据文件中。

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

图4 降雨侵蚀力因子计算子模块

3.2 土壤可蚀性因子

土壤可蚀性因子的计算模型如式(2)[11]。该因子实现的关键是首先加载土壤质地数据图层,通过下拉框分别在土壤质地图层属性表中选择原土粒径组成字段和小于该粒径的算术平均值字段,将计算结果分别根据土壤类型,作为字段添加到图层文件中,根据DEM数据的栅格大小,完成栅格转换后将数据图层输出保存。

式中:Dg——几何平均粒径;fi——原土中粒径组成百分比;mi——小于该粒径的算术平均值。

3.3 作物覆盖与管理因子

根据需要对作物覆盖与管理因子的计算设定了两种方法:①根据土壤流失率计算。先将各月份的土壤流失率数据转为栅格格式,利用土壤流失率数据和降雨侵蚀力数据,据式(3),采用尺度上推的方法[8]计算作物覆盖与管理因子。②根据土地利用类型和NDVI数据计算。先加载土地利用数据和NDVI数据,选择属性表中的土地利用类型字段,将各土地利用类型进行归类后根据各土地利用类型的相应计算公式计算作物覆盖与管理因子。两种方法的主界面如图5所示。

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

图5 作物覆盖与管理因子计算子模块

3.4 垂直距离指数

垂直距离指数反映的是某点高程与区域内距离最近的水系高程之差。首先计算水系所在的高程,模块中实现了自动将Shp格式的水系文件转成coverage格式并添加0值字段,依据该字段将其转为栅格格式后与DEM叠加得到水系的所在高程文件。将水系高程文件的数据格式转换成整型,利用水系扩展功能得到水系所在的高程面。原始DEM与水系高程面作相减运算得到水系的垂直距离,通过重新分类对垂直距离进行修正,小于0的设为0,大于0的设为1。计算水系垂直距离的最大值后,根据计算公式[7]计算垂直距离指数。

图6 垂直距离指数计算子模块

3.5 水土保持措施因子

加载DEM数据,根据不同的坡度条件分别选择设定不同的P值,自动对图层进行字段赋值,最后依据DEM数据单元格的大小,输出水土保持措施因子图层(图7)。

图7 水土保持措施子模块

4 结语

基于COM技术和ArcGIS Engine,在 Microsoft Visual Basic 6.0开发环境中设计并构建了土壤侵蚀评价GIS内嵌模块。基于组件对象的土壤侵蚀评价模块的开发与其他传统的开发方式比较,具有灵活、高效、移植性强等特点。通过本研究可以看出,应用组件式GIS技术进行开发,基于ArcObjects组件,以二进制的动态链接库表现,开发土壤侵蚀评价指数模块切实可行。模块化的土壤侵蚀评价模型能够有效应用于多尺度的土壤侵蚀评价,进一步推动土地利用与土壤侵蚀关系研究的深入。同时,系统开发是一个复杂的过程,土壤侵蚀评价涉及的空间数据和属性数据种类繁多,因此在今后的工作中,还需要根据数据的不同来源和土壤侵蚀的区域特点等,在评价模型和评价方法的设定、参数因子的计算方法和实现过程等方面不断完善,以更好、更方便的应用于相关研究。

[1]李文航,刘慧平.GIS在土壤侵蚀分析中的应用研究进展[J].中国水土保持科学,2003,1(3):89-94.

[2]刘海涛,秦其明.基于WebGIS的土壤侵蚀模型的研究及应用[J].水土保持学报,2001,15(3):52-55.

[3]张振龙,曾志远,胡子付.基于ArcGIS Engine和.NET的土壤侵蚀信息系统设计及其关键技术[J].计算机应用研究,2006(2):230-232.

[4]章文波,刘宝元.基于GIS的中国土壤侵蚀预报信息系统[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技术构建的小流域水土保持信息系统[J].计算机工程,2006,32(13):243-245.

[7]傅伯杰,赵文武,陈利顶,等.多尺度土壤侵蚀评价指数[J].科学通报,2006,51(16):1936-1943.

[8]赵文武,傅伯杰,郭旭东.多尺度土壤侵蚀评价指数的技术与方法[J].地理科学进展,2008,27(2):47-52.

[9]赵文武,徐海燕,解纯营.黄土丘陵沟壑区流域尺度降雨侵蚀力估算[J].农业工程学报,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.

猜你喜欢

土壤侵蚀降雨土地利用
乡村聚落土壤侵蚀环境与水土流失研究综述
土地利用生态系统服务研究进展及启示
沧州市2016年“7.19~7.22”与“8.24~8.25”降雨对比研究
海坛岛土壤侵蚀问题研究
红黏土降雨入渗的定量分析
滨海县土地利用挖潜方向在哪里
大别山区土壤侵蚀动态变化及趋势预测
南水北调中线水源地土壤侵蚀经济损失估算
江垭水库降雨径流相关图的建立
论低碳经济与转变土地利用方式