一、 提取所研究区域的soil栅格
数据来源于联合国粮农组织(FAO)和维也纳国际应用系统研究所(IIASA)所构建的世界和谐土壤数据库HWSD。
http://www.fao.org/nr/land/soils/harmonized-world-soil-database/en/
数据分辨率为1km,中国境内数据源为第二次全国土地调查南京土壤所提供的1:100万土壤数据,外蒙地区数据源为区域土壤及地形数据库(SOTWIS)比例尺为1:500万。
裁剪自己所需研究区域的dem。
二、 对提取的土壤dem进行投影
在SWAT里输入的dem均需投影在同一平面坐标系内。
1、 将soil图层加载到GIS里,在该图层的属性里将显示值改为唯一值。

2、 将dem投影成平面坐标系
Data Management Tools →Projections And Transformations→ Raster →Project Raster

若在选择投影坐标系统无当前投影选项时,需要先定义一个坐标转换:
Projections And Transformations→ Define Projection→Raster →Project Raster
三、 土壤重分类
1、 将投影后的dem属性表导为.dbf文件:

用Excel打开导出的dbf文件如下图:

2、 找到并打开HWSD 数据库:

3、 找到数据库中的HWSD_DATA双击打开后如下图,其中MU_GLOBAL值与前面导出的soil属性表中VALUE值是对应的,导出此表备用。

(鼠标右键单击HWSD_DATA,导出,Excel)

导出后表格如下:

4、 利用导出的属性表里的VALUE值去查找HSWD_DATA里MU_GLOBAL值。将相同值对应的HSWD_DATA里的数据全部摘录在同一张表里,如下:

根据HSWD_DATA里SU_SYM90值去查找对应的中文含义:




5、 计算属性表里每一个VALUE对应的栅格数目占比,找出属于同一土壤分组中占比最大的值,并将该分组内的所有土壤记为此值,均采用占比最大的土壤所持有的的属性。
例:下表中雏形土(CAMBISOLS)所属分组中包含有30个不同的value值,且各代表栅格占比不同,其中11031的占比最大,所以将其余29个都归为11031代表的土壤类型中,所有属性均采用11031对应的属性。

6、 采用此方法,对所有数据进行处理之后,在GIS里对投影后的soil数据进行重分类:ArcToolbox →Spatial Analyst Tools→ Reclass→ Reclassify

重分类后的dem如下图:

四、 土壤数据库建立
因下载的数据与SWAT中生成的数据库的数据不一致,所以需要建立一个索引关系,让自带的数据库能够识别我们输入的数据。
1、 找到新建的SWAT工程文件夹里的SWAT2012.mdb数据库,找到usersoil表,导出为Excel备用。


2、 将已重分类好的各项数据粘贴到导出的usersoil表中,各项参数解释如下(以下HSWD表指已经重分类并摘录出相关参数信息的表):
(1) OBJECTID、MUID、SEQN(不要超过4个字段)、S5ID 、CMPPCT无实际意义,可任意填写。
(2) SNAM:土壤的名称,可以填写土壤分组英文名称.
(3) NLAYERS :土壤层数,根据土壤分层确定.
(4) HYDGRP:水文分组,根据最小渗透率确定 .
(5) SOL_ZMX :土壤剖面最大根系深度,默认1000,也可以填HSWD里REF_DEPTH*10(单位换算,SWAT单位mm。HSWD单位cm).
(6) ANION_EXCL : 阴离子交换孔隙度(默认0.5)
(7) SOL_CRK : 土壤剖面潜在或最大裂隙体积(默认0.5)
(8) TEXTURE : 土壤层结构(可根据SPAW的结果确定)
下面是第一层土壤的数据,后面的数字代表第几层,HSWD里显示有几层,则需要填到后缀字母相同为止,1对应T,2对应S。
(9) SOL_Z1 : 表层到底层的深度,注意这里要看土壤分几层,一般如果前述SOL_ZMX是1000mm且土壤分为两层,那么第一层一般写300mm,第二层写1000mm
(10) SOL_BD1:土壤湿容重,采用HSWD表里的(T_REF_BULK_DENSITY)对应的值
(11) SOL_AWC1:土壤可利用水量(SPAW计算)
(12) SOL_K1:饱和水力传导系数(SPAW计算)
(13) SOL_CBN1 :有机碳含量,采用HSWD表里的(T_0C)
(14) CLAY1:粘土,采用HSWD表里的(T_CLAY)
(15) SILT1:粉土,采用HSWD表里的(T_SILT)
(16) SAND1 :沙土,采用HSWD表里的(T_SAND)
(17) ROCK1 :砾石,采用HSWD表里的((T_GRAVEL))
(18) SOL_ALB1 :地表反照率(默认0.01)
(19) USLE_K1: USLE方程中的可蚀性因子(计算)
(20) SOL_EC1:电导率,采用HSWD表里的(T_ECE)
注:(14)、(15)、(16)条需要进行粒径转换,三者之和应为100。
除需要通过计算的,可将HSWD表里的数据粘贴到导出的usersoil表中。



3、 用SPAW软件计算TEXTURE、SOL_BD(可选)、SOL_AWC、SOL_K
首先打开SPAW对其进行如下设置:

设置完成后,将数据分别输入SPAW中进行计算(注意:每次输完数之后按回车键):

注:(1)Salinity、Compaction对计算结果影响不大,可不用设置。
(2)有教程里也讲到SOL_AWC=Field Capacity(田间持水量)-Wilting Point(饱和导水率),本次采用的是截图里的取值方式。
4、 计算USLE_K(可蚀性因子)
利用Williams等在EPIC模型中发展起来的土壤可蚀性因子K值的估算方法,只需要土壤的有机碳和颗粒组成资料即可计算。公式如下:



5、 水文分组HYDGRP计算
土壤水文学分组的定义在 SWAT 用户手册中对其分组标准进行了规定,主要依据 0-5 m 厚的表层土壤的饱和导水率大小, 将土壤分成 A、 B、 C、 D 4 组,并作出了概念性的说明。 A 类为渗透性强、潜在径流量很低的一类土壤,主要是一些具有良好透水性能的砂土或砾石土,土壤在完全饱和的情况下仍然具有很高入渗速率和导水率;B 类为渗透性较强的土壤,主要是一些砂壤土,或者在土壤剖面的一定深度处存在一定的弱不透水层,当土壤在水分完全饱和时仍具有较高的入渗速率; C 类为中等透水性土壤,主要为壤土,或者虽为砂性土,但在土壤剖面的一定深度处存在一层不透水层,当土壤水分完全饱和时保持中等入渗速率; D 类为微弱透水性土壤,主要为粘土等。
根据Z土壤中含沙量(%)分别计算土壤各层的平均颗粒粒径Y,然后计算下渗率X,取其中最小的X作为最小下渗率,考虑两个公式:
Y=Z/10×0.03+0.002
X=(20*Y)^1.8
当沙粒含量为0时,Y取0.01mm,当沙粒含量为100%时,Y取0.3mm,粘土含量为100%时,Y取0.002mm。

计算示例:

至此 SWAT模型土壤物理属性数据库所需参数全部确定,如下:

将分组完成的usersoil表导入SWAT数据库中对应的usersoil表中。
6、 新建.txt文档,建立与土地利用索引表类似的土壤索引表。

土壤数据库建立完成。

(SWAT-3)SWAT土壤数据库的建立相关推荐

  1. 【SWAT水文模型】SWAT水文模型建立及应用第三期:基于世界土壤数据库HWSD建立土壤库

    SWAT水文模型建立及应用:土壤库建立 1 简介 2 土壤数据下载 2.1 数据下载方式 2.1.1 世界土壤数据库HWSD数据 2.1.2 中国土壤数据库 2.2 数据下载 3 土壤数据的准备 3. ...

  2. 【SWAT水文模型】SWAT水文模型建立及应用第三期:基于中国土壤数据库建立土壤库(待更新)

    SWAT水文模型建立及应用:基于中国土壤数据库建立土壤库 1 简介 2 土壤数据下载 2.1 数据下载方式 2.1.1 世界土壤数据库HWSD数据 2.1.2 中国土壤数据库 2.2 数据下载 3 土 ...

  3. 用matlab画x开立方,SWAT模型中气象数据库和土壤数据库的构建方法.pdf

    SWAT模型中气象数据库和土壤数据库的构建方法.pdf 第29卷第12期 河南科学 V01.29No.12 2011年12月 HENANSCIENCE DeC.20ll 1)12-1458-06 文章 ...

  4. 连接数据库是显示无法连接到服务器,如何解决出现无法与数据库服务器建立连接的方法...

    <如何解决出现无法与数据库服务器建立连接的方法>由会员分享,可在线阅读,更多相关<如何解决出现无法与数据库服务器建立连接的方法(6页珍藏版)>请在人人文库网上搜索. 1.如何解 ...

  5. Android项目中,在一个数据库里建立多张表

    一,创建一个公共的DBAdapter; 为了在整个程序运行期间调用该公共的数据库,我们定义了一个扩展自Application的CommDB类: 1,创建唯一的数据库: 1 public class C ...

  6. 数据库正确建立索引以及最左前缀原则

    数据库正确建立索引以及最左前缀原则 转自:https://blog.csdn.net/zhanglu0223/article/details/8713149 1. 索引建立的原则 用于索引的最好的备选 ...

  7. 如何构建自己的云数据库?建立云数据库是否要收费?

    云数据库可以帮助企业或个人存储海量数据,同时也可以进行相应的管理,是非常高效的服务.由于大多数人对云数据库相关服务并不了解,也不知道如何建立自己的云数据库,因此导致大量数据丢失.下面就让小杜来跟大家介 ...

  8. SQLserver的安装,sa账户的登陆,数据库的建立、表的建立及增删改

    今天上完数据库的课程后,老师为我们布置了一项作业,要求每个人写一篇博客来记录自己的学习情况. 一.SQLserver的安装 我们课程是通过SQLserver来学习的,所以今天就来说一下有关SQLser ...

  9. 课程设计-商店管理系统(四)----数据库的建立

    数据库的建立 之前的博文 课程设计-商店管理系统(一)----前端页面的制作(一) 课程设计-商店管理系统(二)----前端页面的制作(二) 课程设计-商店管理系统(三)----前端页面的制作(三) ...

  10. 实验二、数据库的建立和维护

    注:接实验一  目录 一.实验名称 二.实验目的 三.实验内容 四.实验任务及结果 一.实验名称 数据库的建立和维护 二.实验目的 熟悉 SQL 的数据定义语言,熟练掌握使用 T-SQL 和 SQL ...

最新文章

  1. 深入理解 C 指针阅读笔记 -- 第五章
  2. java 显示天气的小程序_超级简单的微信小程序获取今日天气预报代码 小程序获取七日天气...
  3. 基于wrapper的特征选择——递归特征消除RFE的python实现
  4. Centos 5 手动安装yum
  5. 公用机房配置台式计算机,计算机网络在公共机房中的应用
  6. zend api 深入 php 内核,Zend API:深入 PHP 内核
  7. win7升级win10系统出错提示错误代码0x800704c7解决方法
  8. 光模块组装过程中常见问题分析及解决方法
  9. 2010年IT领域的十大收购
  10. 如何监听事件里发生的错误_Swing 如何进行事件监听
  11. 计算机毕业设计ssm+vue基本微信小程序的购物商城系统
  12. 实验二 预测分析算法的设计与实现
  13. 项目的运筹帷幄—项目进度、质量和成本最优决策理论探讨
  14. 个人资料管理经验总结
  15. yolo 算法中的IOU算法程序与原理解读
  16. 译文Deep Learning in Bioinformatics --深度学习在生物信息学领域的应用(1)
  17. Flutter 实战开发-网络请求
  18. linux设置mac地址命令,[转载]Linux下修改MAC地址
  19. axure读取服务器文件,Axure教程|云盘案例原型:文件管理
  20. Rexxar 是一个针对移动端的混合开发框架。

热门文章

  1. html5 塔防小游戏,HTML5塔防小游戏源代码
  2. egret白鹭引擎开发的两个H5小游戏源码分享
  3. 迟到的秋招经验分享贴,希望能帮到大家
  4. 思科中如何给服务器添加个人信息,使用 RADIUS 服务器进行的外部 Web 身份验证...
  5. Fortran入门——菜鸟级基础语法
  6. JS实现拖动滑块验证
  7. SpringCloud Greenwich版本集成OAuth2.0
  8. ES6标准入门(阮一峰)-阅读记录与心得
  9. Eclipse SVN插件Subversive的使用(分支,合并,同步,切换)
  10. 图文教程使用一套键鼠控制两台电脑