SWAT| 水文 | SWAT模子(三):土壤数据库制备

  金牌会员 | 2025-3-18 09:05:00 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 944|帖子 944|积分 2832

Tips:
        本期向各人分享SWAT模子的土壤数据库的制备方法。在开始之前,要注意的是:我的土壤数据是HWSD天下土壤数据,必要举行土壤重新分类。最终要完成的任务有3项,分别是:
(1)重分类后的土壤类型数据(栅格数据文件)

(2)地皮利用类型索引表(txt文件)

(3)usersoil数据库(更换原来SWAT自带的参数库“SWAT2012“中的”usersoil“表内容),数据最多保留两位小数。


三者关系如下:索引表起到桥梁的作用,SWAT模子通过索引表来连接栅格数据usersoil土壤数据库

目次
1 研究区土壤数据提取
2 研究区土壤数据重分类
2.1 提取研究区土壤数据库
2.2 研究区土壤数据重分类
3 研究区土壤索引表制作
4 usersoil数据库制备 
4.1 HWSD复制至usersoil
4.2 SPAW盘算
4.3 USLE方程中可蚀性因子盘算
4.4 水文分组 
4.5 usersoil数据库制备完成

1 研究区土壤数据提取

将“HWSD”栅格文件加载至ArcMap,通过第一期内容得到的澜沧江DEM数据举行掩膜提取,得到澜沧江土壤数据
①加载HWSD栅格土壤数据。

在ArcToolbox中找到“数据管理工具”——“投影和变换”——“界说投影”,对HWSD栅格土壤数据界说一个GCS_WGS1984的地理坐标系

③在ArcToolbox中找到“Spatial Analyst 工具”——“提取分析”——“按掩膜提取”,通过澜沧江DEM数据lcrdem_prj对HWSD栅格数据按掩膜提取,得到澜沧江土壤数据lcr_soil

④在ArcToolbox中找到“数据管理工具”——“投影和变换”——“栅格”——“投影栅格”,对澜沧江土壤数据举行投影,直接选择与澜沧江DEM数据相同的投影坐标系。

⑤将投影后的澜沧江土壤数据lcrlu_soprj添加至ArcMap。 

2 研究区土壤数据重分类

2.1 提取研究区土壤数据库

打开HWSD天下土壤数据库,即HWSD.mdb。我们必要用到其中的表是HWSD_DATA,将其导出为Excel格式,将澜沧江土壤数据的属性表导出,用Excel的VLOOKUP函数提取研究区澜沧江的土壤数据库。
①导出HWSD_DATA表。

②将澜沧江土壤数据lcrlu_soprj的属性表导出为txt格式

③在导出的HWSD_DATA表中新建Sheet2工作簿,将从ArcGIS中澜沧江土壤数据导出的txt文件导入Sheet2中。

④用VLOOKUP函数结合COLUMN函数,一对多匹配,获取对应VALUE列的所有土壤数据,即澜沧江的土壤数据。VALUE列的数据对应HWSD_DATA表的U_GLOBAL列的数据,以此来举行VLOOKUP匹配。蓝框标黄是从ArcGIS中导出的txt文件内容红框函数内容,具体的VLOOKUP函数和COLUMN函数使用步骤在网上有很多教程,这里不做赘述。

2.2 研究区土壤数据重分类

①新建一个Sheet3工作簿,将Sheet2中的所有内容按保留值格式粘贴到Sheet3,避免后续操作导致公式改变。Sheet3的COUNT列背面插入新的一列,将SU_SYM74的前两个值Ao和Lf复制到新的一列,利用Excel的LEFT函数将SU_YM90的所有值的前两个字母延续复制到新的一列。所有前两个字母相同的土壤,我们将其归为一类,然后看同类中谁的COUNT最大,这意味着该土壤在流域中占比在同类中最大,用该土壤代表同类的所有土壤,以这样的思路来举行土壤重分类。

 ②新建一列,用来存储新的VALUE值(定名为NEW_VALUE)即COUNT最大的土壤的VALUE列的值。比如,筛选AC类的土壤,这其中12537最大,那么就在NEW_VALUE列填入11788。同理将所有类共23类土壤重复上述操作,得到完整的NEW_VALUE列。

③新建Excel文件,将原来Excel表格的VALUE列和NEW_VALUE列放进内里,保存为CSV格式。


④打开ArcMap,右键澜沧江土壤数据lcrlu_soprj,点击“连接和关联”——“连接”

⑤基于澜沧江土壤数据lcrlu_soprj的VALUE字段,和Re.csv文件中的VALUE字段匹配举行连接。

 ⑥打开澜沧江土壤数据lcrlu_soprj的属性表,发现已经连接乐成。

⑦在ArcToolbox中找到“Spatial Analyst 工具”——“重分类”——“重分类”,输入栅格选择上述连接过的澜沧江土壤数据lcrlu_soprj,重分类字段选择NEW_VALUE,点击唯一,定名输出栅格。


⑧将重分类后的澜沧江土壤数据relcr_soil添加至ArcMap,重分类后的土壤类型减少至23种,至此土壤重分类完成,完成了第一项任务。 

3 研究区土壤索引表制作

 ①打开先前的Excel表格HWSD_DATA,新建Sheet4,后续根据此工作簿制作索引表 ,将Sheet3中的NEW_VALUE复制到Sheet4中的第一列,然后删除重复值,保留唯一值在Excel工具栏中选择“数据”——“删除重复值”,这样能够保证每个VALUE都是唯一值。 

②重复2.1中④的VLOOKUP函数结合COLUMN函数操作,获取重分类后的土壤数据。

③新建一个Excel表格,定名为“索引表”,将HWSD_DATA表格Sheet4中的SU_SYM74和SU_YM90中的土壤名称复制到“索引表”中的第二列,列名为“NAME”。在第一列定名列名为“VALUE”,根据ArcGIS土壤重分类结果,将序号从0开始编号,下拉至22。 

Excel工具栏中选择“文件”,另存为逗号分隔的CSV格式,再将文件名后缀改为txt。

   
——>修改后缀名为txt——>

  打开索引表.txt文件,为列名添加英文双引号(eg:VALUE——>"VALUE"), 土壤索引表制作完成,完成了第二项任务。

4 usersoil数据库制备 

我们先前获取的重分类到土壤数据归根照旧HWSD土壤数据库,SWAT无法直接读取,所以我们要将其换一个格式,制备成SWAT2012.mdb参数数据库中uersoil表的格式,usersoil就是SWAT的土壤数据库。所有的操作我们在Excel中举行,这样方便批量复制数据,HWSD中的部分列可以直接复制到uersoil中的指定列,具体复制到哪些指定列,下面我会给出一个表格来一一对应两者的列名。usersoil其余的空缺部分必要我们用SPAW软件来盘算。
4.1 HWSD复制至usersoil

①导出usersoil为Excel格式。usersoil表是在下载ArcSWAT时自带的,一个SWAT工程包含3个数据库,分别是:工程库(工程名.mdb)、栅格库(RasterStore.mdb)、参数库(SWAT2012.mdb)。usersoil表在参数库中可以找到,参数库的默认路径是:
   电脑下载ArcSWAT的路径\ArcSwat\Databases\SWAT2012.mdb
  

HWSD与usersoil列名对照表。将usersoil里的第一行列名保留,其余内容删除,将与之对应的HWSD中的列的数据复制进去。注意深度的转换,在复制到usersoil时要乘10,有机质的值是HWSD中的TOC除以0.58。其中SOL_BD土壤湿容重也可以用SPAW盘算。
   思路参考:SWAT模子土壤数据库的建立教程(一)———土壤数据的裁剪,投影以及重分类处理_哔哩哔哩_bilibili
  

 ③usersoil的其他列的含义和数值见下表。表中另有一些未提及的列,这些列对应的值都是任意的,沿用SWAT自带的usersoil原本的值即可。

④把现在能填的列都填到usersoil中,如下图。

4.2 SPAW盘算

①打开SPAW软件,首先将度量单元由英制English改为公制Metric

②输入参数。以土壤Ao的表层为例:
Sand:49Clay:24Organic Matter:就是有机质含量,T_OC除以0.58,值是1.72Salinity:就是HWSD中的T_ECE,值是0.1Gravel:10
每次输入参数都要敲击回车Enter!!得到的结果在SPAW界面右上角:
(1)TextureClass对应usersoil的TEXTURE土壤结构SandyClayLoam(注意这个参数对后续SWAT盘算没什么影响,所以随便填个值也是没标题标,比如用土壤名称Ao代替);
(2)AvailableWater对应SOL_AWC1,0.11
(3)SatHydraulicCond对应SOL_K1,9.25
(4)MatricBulkDensity对应SOL_BD1,1.51。上面提到过,SOL_BD土壤湿容重也可以直接用HWSD中的REF_BULK_DENSITY来代替。
这样就完成了一个土壤表层的参数盘算,将盘算结果填入usersoil中。由于大部分土壤不但要盘算表层参数,还要盘算深层的参数,所以险些每个土壤要操作SPAW2次,共有23个土壤类型,所以要重复操作SPAW40多次,工作量比力大。

4.3 USLE方程中可蚀性因子盘算

将usersoil中的各土壤类型的Clay粘土、Silt粉土、Sand沙土、Rock砾石、OC有机碳含量分别填入Excel中,自动盘算出末了一列的ULSE_K可蚀性因子。表层深层都要输入,所以共需输入40多行数据,但是由于Excel中编辑好了公式,所以盘算起来工作量不大。
   可蚀性因子盘算表格是网上一个大佬做的,必要的话可以评论区留言
  

4.4 水文分组 

将usersoil中的各土壤类型的表层和深层Sand沙土含量填入Excel中,自动盘算出末了一列的水文分组。公式思路:利用含沙量盘算平均颗粒粒径,利用平均颗粒粒径盘算下渗率,选择表层和深层下渗率两者中最小的一个,由最小下渗率来判断土壤的水文分组
   思路参考:
  SWAT土壤属性数据库构建——水文分组及USLE可蚀性因子简直定(5.5)_哔哩哔哩_bilibili
  SWAT模子土壤数据库的建立教程(二)———数据库的处理及字段的盘算_哔哩哔哩_bilibili
  

4.5 usersoil数据库制备完成

将可USLE方程中可蚀性因子水文分组结果填入usersoil,完成usersoil土壤数据库的制备,将其导入自己工程文件夹中的SWAT2012.mdb的usersoil中。
(注意:导入SWAT2012.mdb后小数最多保留两位,否则在后续运行SWAT时大概报错!)


         以上是全部内容,欢迎各人评论区留言,品评指正。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表