USLE土壤侵蚀预报程序的开发

2017-11-24 19:18苏小娟
科技资讯 2017年27期
关键词:程序开发

苏小娟

摘 要:土壤侵蚀预报是提出针对性水土保持措施和建设水土保持工程的前提,土壤侵蚀预报程序是土壤侵蚀预报的重要工具。USLE模型自研制成功,得到了广泛应用。本文以USLE模型为基础,利用Qt平台,开发土壤侵蚀预报程序。开发成功后,使用USLE土壤侵蚀预报程序对山西省大同市天镇县大梁沟、大洼山和石梯梁流域陡坡区进行土壤侵蚀预报,并将结果和三个流域陡坡区的水土流失监测数据(来源于“21世纪初期首都水资源可持续利用项目”天镇县项目区一期工程)进行对比,试验程序是否可行。

关键词:USLE 土壤侵蚀 预报 程序开发

中图分类号:S15 文献标识码:A 文章编号:1672-3791(2017)09(c)-0020-03

Abstract:Soil erosion prediction is a prerequisite for soil and water conservation measures and soil and water conservation projects. Soil erosion prediction is an important tool for soil erosion prediction. USLE model since the successful development, has been widely used. Based on the USLE model, this paper uses the Qt platform to develop the soil erosion prediction program. After the success of the development, the USLE soil erosion prediction program was used to forecast the soil erosion in the steep slope area of the DaLianggou, DaWashan and ShiTiliang watersheds in TianZhen County, DaTong City, ShanXi Province, and the soil and water loss monitoring data (In the early 21st century, the capital water resources sustainable use project "TianZhen County project area 1th project) of the three steep slope areas to compare the feasibility of the test procedure.

Key Words:USLE;Soil Erosion;Prediction;Program Development

USLE(Universal Soil Loss Equation即通用土壤流失方程)模型是W.Wischemeier和D.Smith[1]等系统分析了美国东部1000多个径流小区30年的观测资料基础上提出的。自模型研制成功以来,已在水土保持规划和水土保持工程建设方面得到了广泛应用[2],但是一直未被开发为计算机程序,开发USLE 土壤侵蚀预报程序是本文主要内容。

1 程序开发的理论

USLE模型的表达式为:W=R·K·L·S·C·P·A。

式中:W为土壤侵蚀量;R为降雨径流侵蚀力因子;K为土壤可蚀性因子;LS为坡长坡度因子,C为植被覆盖因子;P为土壤侵蚀措施控制因子;A为侵蚀面积。

USLE模型的创建者和美国研究者针对各因子的计算已经提出了较为成熟的经验公式,但经验公式的得出是建立在美国各试验小区数据统计的基础上。国内研究者在对美国研究者提出的经验公式研究的基础上,结合我国的地质状况,得出了一套适用于国内土壤侵蚀预报的USLE模型各因子的确定方法如下。

(1)降雨侵蚀力因子R确定方法。

年R值的估算:R=0.207(P,I60/100)1.205;式中:R为年降雨侵蚀力;P为年降雨量(mm);I60为年最大60min降雨量(mm)。

上述降雨侵蚀力因子R计算式是王万忠、焦菊英、陈法扬等[3]在绘制全国降雨侵蚀力R等值线图时,综合了广东、福建、江西、陕西、甘肃、黑龙江等地区的综合成果得出的,可适用于全国各水蚀区。

(2)土壤可蚀性因子K确定方法。

反映土壤抗侵蚀的能力,与土壤类型有关。具体数据根据土壤质地、土壤有机质百分含量、土壤结构、土壤透水性等几个主要因子,查土壤可蚀性因子诺谟图。如果土壤类型主要为黄壤、紫色土等,其可蚀性因子一般为0.02~0.75。

(3)坡长坡度因子LS确定方法。

S为径流长度的平均坡度(°),L為开始发生径流的一点到泥沙开始汇集或径流进入水道点的长度(m)。

(4)植被与作物管理因子C确定方法。

主要反映地表植被覆盖情况对产生土壤侵蚀的影响。植被被破坏时,一般取最大值1.0;采用绿化等植被措施后,根据植被覆盖率情况一般可取C=0.06~0.6。

(5)土壤保持措施因子P确定方法。

主要反映地表的处理状况(如压平、压实及其它构筑物)对土壤侵蚀的影响。地表无防护措施时,P=1.0;平整、夯实及采取边坡防护工程等措施后,P=0.5~0.8[4]。

2 程序的开发

由USLE土壤侵蚀预报模型各因子的确定方法可知,若要利用USLE土壤侵蚀预报模型,需要得知几个参数值:P0、I60、K、L、S、C、P、A。程序设计的思路就是输入以上8个参数值,得出一个或多个坡面的土壤侵蚀预报量。endprint

2.1 程序模块介绍

USLE土壤侵蚀预报系统简单实用,界面简洁,很好地实现了需求。程序主体采用目前非常受欢迎的UI语言QT,读写Excel文件的部分则采用了COM组件技术。系统主要有三个功能:数值计算、保存计算数值到Excel文件、从Excel文件中读取数据。相应的,该系统主要包括三个模块:界面绘制、数据读取以及数据保存。

界面绘制模块用来绘制整个窗体,菜单项以及动态生成所有组件,模块结构如图1所示。

createActions方法用来创建菜单中各菜单项的动作函数。

createMenus方法用来绘制菜单。drawInputComponents方法用来绘制输入框组件。

drawInputComponents方法用来绘制“添加、计算”按钮以及计算结果框组件。deleteBottomComponents方法用来在点击“添加”按钮动态添加一组输入框时动态删除界面上的“添加、计算”按钮以及计算结果框组件。

newInput方法是实际绘制界面时调用的方法,在该方法内依次调用deleteBottomComponents、drawInputComponents、drawInputComponents来完整一次完整的绘制。

程序中用inputLineEditVector这个数据结构来存放所有QlineEdit的指针;用inputComboBoxVector这个数据结构来存放所有QComboBox的指针;用inputWidgetVector这个数据结构来存放所有输入行 Widget的指针;方便对控件中的数据进行读取和设置。所有组件均采用了CSS进行美化,并对其中可填的数值做了正则表达式校验,防止用户输入无效数据。

界面上的组件全部动态绘制。因此drawInputComponents方法需要一个参数。inputNum用来表示当前绘制的是第几组输入组件,同时inputNum会用在组件的对象名中。

数据读取模块的主要功能是从Excel文件中读取数据并显示在界面上。首先对Excel文件格式做简单的校验。主要校验Excel文件的第一行各列单元格的内容是否依次为 Po(mm)、I60(mm)、K、L(km)S、C、P、A、W。如果格式不匹配,会弹出对话框对用户进行提示。

当用户点击“保存”菜单项时,会弹出一个保存文件的对话框,让用户选择存放Excel文件的路径以及填写文件名。程序根据用户填写的文件名,在相应路径下新创建一个Excel文件,并将各个组件内的数据转存到一个临时数据结构中再依次写入Excel文件。

由于数据保存的执行时间比较长,因此创建了一个进度条提示用户保存的进度。

2.2 程序演示

开发完成后,得到一个USLE土壤侵蚀预报程序文件包。在任何计算机中拷入该文件包,都可以运行程序。程序包中包含如下文件:Libgcc.dll,mingwm10.dll,QtCore4.dll,USLE土壤侵蚀预报.exe。

打开程序界面,点“菜单”,再点击新建,界面中是一个坡面的土壤侵蚀预报输入框,如果要计算多个坡面的土壤侵蚀预报量,点击“添加”按钮,即可添加任意多個坡面。如图2所示。

输入每个参数的取值,点击“计算”,即可得出一个或多个坡面的土壤侵蚀预报量。

3 USLE土壤侵蚀预报程序的试用

使用USLE土壤侵蚀预报程序对山西省大同市天镇县大梁沟、大洼山和石梯梁流域陡坡区进行土壤侵蚀预报,并将结果和三个流域陡坡区的水土流失监测数据(来源于“21世纪初期首都水资源可持续利用项目”天镇县项目区一期工程)进行对比,试验该预报程序是否可行,结果见表1。

4 结语

本文以USLE模型为基础,利用Qt平台开发了土壤侵蚀预报程序。该程序计算严谨界面简洁易用,为提出针对性水土保持措施和进行水土保持工程建设提供了计算支持。

参考文献

[1] WischmeierW.H,SmithD.D.Rainfall energy and its relationship to soil loss[J].Am.Geophys.Unions,1958(39):285-291.

[2] 刘长君.VIC模型在大洋河流域水土流失模拟研究中的应用[J].水利规划及设计,2016(4):59-61.

[3] 王万忠,焦菊英.中国的土壤侵蚀因子定量评价研究[J].水土保持通报,1996,16(5):1-20.

[4] 贾媛媛,郑粉莉,杨勤科,等.国内坡面土壤侵蚀预报模型述评[J].水土保持研究,2004(4):19-112.endprint

猜你喜欢
程序开发
浅析大学生在兼职小程序开发中遇到的问题
C#智能终端点到系统的开发与实现
微信“小程序”开发的系统实现及前景探索
基于信息隐藏工具的大数据信息储存系统开发
核电厂失水事故后长期冷却一体化分析软件开发
基于形成性评价的程序开发作业设计与实践
高职C#程序开发改革研究
确定船体分段焊缝类型、长度及焊材的程序开发研究
VBA在Excel中的应用一例
利用OpenGL技术实现网格波动效果界面