快速入门:学习视频下载地址

ArcSWAT介绍与数据准备
气象数据库与土壤数据库下载
土壤数据库构建
ArcSWAT模型构建与结果解读
基于SWAT-CUP的模型率定

土地利用数据的处理

数据下载

首先登陆网址中科院1km土地利用数据:http://www.resdc.cn/data.aspx?DATAID=264

也可以去清华大学高精度土地利用数据:http://data.ess.tsinghua.edu.cn/

本次以中科院的下载方式进行介绍。

进入界面如图所示

在数据集(库)目录中选择土地利用遥感监测数据,点击进入,可以看到数据详情介绍,包含有数据的具体分类系统表。


下滑至最下面有下载链接,如果看不到下载链接,请先注册登陆,根据需要下载资料,一天好像只能下载一次,此处我以北京的为例。

下载完解压后长这样。

数据处理

为什么要进行数据处理?
此处下载的数据类型包含25个二级类型,通常来讲种类过多,不利于后面SWAT的计算与处理,在不影响研究的情况下,可以进行适当的合并,当然,如果研究关注各种土地利用的影响,就另当别论了。

这里我考虑都使用一级类型,即将11和12两种类型和为一种,21、22、23、24等和为第二种,依次类推。

首先打开工具箱,找到重分类。

打开重分类工具箱,进行重分类。

重分类完成之后的图像。

构建索引表

为什么需要构建索引表?
我们下载的数据集与swat模型中自带的数据库类型不完全一致,因此需要根据重分类后的土地利用情况与SWAT数据库中的类型进行一一对应起来,即建立索引表。

构建索引表,根据下载的土地利用的数据说明表可以看出,总共分为7类,其中海洋在北京这块没有,因此总共是六类,分别是:耕地,林地,草地,水域,城乡、工矿和居民用地以及未利用土地。

将我们下载的这些土地利用情况与SWAT分类对应,建立索引表。

这个对应表来源网络,在实际使用时根据情况自行调整,如果有更好更准确的对应方法,不妨各位大佬评论留言一起分享~~~



新建一个txt文件,根据前面查得的对应关系,将资料填进去,即得到索引表。

土壤数据库

数据下载

数据来源于联合国粮农组织(FAO)和维也纳国际应用系统研究所(IIASA)所构建的世界和谐土壤数据库(Harmonized World Soil Database)(HWSD)。
http://www.fao.org/nr/land/soils/harmonized-world-soil-database/en/

数据分辨率为1km,中国境内数据源为第二次全国土地调查南京土壤所提供的1:100万土壤数据,外蒙地区数据源为区域土壤及地形数据库(SOTWIS)比例尺为1:500万。

数据处理

为什么需要进行重分类?
我们下载的数据中土壤种类通常很多,数据量大,不便于后续的处理和计算,因此一般先进行重分类,将一些土壤合并,减少种类。

根据所需要的区域进行裁剪,同时对裁剪完的图像进行投影

在SWAT模型中,DEM、土地利用数据和土壤数据需要投影到统一坐标系,前面的土地利用图层也是需要投影的,记得自己加上去。

右键投影后的图像,打开图层属性,选择用唯一值显示,如图所示。

进行上一步操作后,图像变成五颜六色的了,左侧每个颜色对应一个数字,数字表示土壤的编号。

为了更好地理解,需要先打开下载的HWSD数据库。

打开HWSD数据库,双击HWSD_DATA这张表,可以看到,这张表里面含有很多数据,后面会用到,其中这张表MU_GLOBAL这一列表示的就是前面GIS每种土壤后面对应的数字。

HWSD_DATA这张表后面还会用到,因此先将其导出,在HWSD_DATA上右键导出为excel即可,导出之后的表如图所示,命名为HWSD_DATA。

打开GIS中刚刚处理完的图层的属性表,可以看出,其中的VALUE值对应上面的MU_GLOBAL,COUNT表示栅格的个数,需要将这个属性表导出。

全选属性表,左上角的小三角下拉选择Export,选择路径和命名,将.dbf文件导出,这个文件可以直接用excel打开。

导出后的表如图所示,包含VALUE和COUNT。

利用导出的图层的VALUE值,在HWSD_DATA中的MU_GLOBAL查找,找到相同数字的一行(即相同土壤编号),复制粘贴到一起,如图。

为了便于看清,我习惯于将各个土壤进行中文分类。

利用SU_SYM90这一列的缩写,对应查找土壤的名称,得到各个土壤的分组,最后汇总得到如图所示。




经过以上的操作,就把GIS的目标图层的所有土壤数据从HWSD_DATA中提取出来了,并且每一个土壤的栅格个数也统计好了(可以理解为每种土壤面积的占比),同时对每种土壤进行了中文名称的汇总。

从这张汇总表里面可以看出,土壤的种类有几十,如果不进行重分类,后面的操作过于麻烦,因此考虑根据土壤分组进行重分类,同一土壤分组下的所有土壤归为一类,将该土壤分组中百分比最高的这类土作为最终土壤,该组中其他土壤都采用这类土的属性。

简而言之,统一土壤分组中的土,谁的百分比高,其他土就都听她的,变成它的小弟。

举例来说根据得到的这张总表,雏形土中11031这类占比最多,那么其他的雏形土都命名为11031。

这里的分类方法没有那么绝对,主要目的就是为了减少土壤数量,在减少数量的情况下尽量保证原始土壤类型占比多的土壤类型,在处理完之后仍然比较多,而相对小的有可能就被其他土壤类型合并了。

原理清楚了,下面就接着进行GIS操作。打开工具箱,找到重分类。

最后分类完成,得到新的图层,可以看出土壤类型减少了很多。

为什么需要建立土地利用索引表?
我们下载的数据与SWAT中生成的数据库的数据不一样,也就是说我们的土地类型的相关数据在SWAT自带的数据库中检索不到,我们需要自己把这些属性信息添加进去才能使用。

首先我们研究一下SWAT中土壤属性表有哪些字段,打开SWAT中新建的工程文件夹,其中数据库SWAT2012则是在项目创建时自动建立的,打开土壤属性表usersoil,将属性表导出来,单独放在excel中,将之前根据图层筛选得到的土壤类型数据粘贴过来,构建新的属性表,下面会讲述如何对应粘贴。


下面逐一进行介绍,首先介绍土壤的基本属性。

对于没有太多作用的字段OBJECTID、MUID、SEQN、S5ID、CMPPT可以自己编写,我习惯性将HWSD数据库中的MU_GLOBAL填在OBJECTID这一列,SEQ填在SEQN这一列。

其他字段设置情况:
SNAM可将HWSD中的SU_SYM90写入;
NLAYERS对应HWSD中的T_TEXTURE;
HYDGRP后续需要计算,先空着;
SOL_ZMX可参考REF_DEPTH,也可写默认值1000,注意SWAT中单位是mm,HWSD中是cm;
ANION_EXCL默认0.5;
SOL_CRK默认0.5;
TEXTURE后续需要计算得到,先空着。

注意:有的字段如果原来数据库中有值的话,可以按照HWSD中填写,如果没有就写默认值也行。


下面是土壤第一层的属性字段,字母后面都写有数字1,依次类推,若土壤有三层,则最后这些参数需要填到3。

字段设置情况:
SOL_Z1是表层到深层的深度,注意这里要看土壤分几层,一般如果前述SOL_ZMX是1000mm且土壤分为两层,那么第一层一般写300mm,第二层写700mm;
SOL_BD1可以采用HWSD中的T_REF_BULK_DENSITY字段,也可以采用后面计算的结果;
SOL_AWC1和SOL_K1需要计算,先空着;
SOL_CBN1采用T_OC的值;CLAY1采用T_CLAY的值;
SILT1采用T_SILT的值;
SAND1采用T_SAND的值;
ROCK1采用T_GRAVEL的值;
SOL_ALB1默认0.001;
USLE_K1需要计算获得,先空着;
SOL_EC1采用T_ECE的值。

注意:HWSD中字母开头为T表示第一层,开头为S表示第二层。


根据上述的规则,依次对照前面获取的HWSD的数据,填写SWAT表头的数据表,最后得到表如图所示,除了几个空着的(标黄部分),我的土壤最多只有两层,因此只写到了两层。



计算TEXTURE、SOL_BD(可选)、SOL_AWC、SOL_K。

SOL_BD可以用之前数据库中的值,也可以用这里计算的值

这里要根据土壤层数分别计算,TEXTURE对应填写土壤质地,用英文首字母缩写表示,土壤层之间用-连接,以第一层的计算为例。

打开SPAW,点击options,选择Units下面的Metric和Volume。


根据前面填写的各个参数,对应计算,如图所示。


将计算得到的数据填进excel即可,后面第二层计算方式相同,两层都计算完了就可以填写土层结构了。

水文分组HYDGRP的计算
根据土壤平均粒径分层计算土壤下渗率,若最小下渗率出现在土层上层深度小于500mm时,则参考正常标准;若最小下渗率出现在土层上层深度500-1000mm时,则将土壤水文单元上调一类,即B调至A;若最小下渗率出现在土层上层深度1000mm之下,则基于1000mm之上的土壤下渗率来划分水文分组。

但一般简便来算,计算的都最小下渗率查阅表格选择分组即可。

根据Z,土壤中含沙量(%)分别计算土壤各层的平均颗粒粒径Y,然后计算下渗率X,取其中最小的X作为最小下渗率,考虑两个公式:
Y=Z/100.03+0.02
X=(20
Y)^1.8

当沙粒含量为0时,Y取0.01mm,当沙粒含量为100%时,Y取0.3mm,粘土含量为100%时,Y取0。002mm。

计算完成如下图所示。

计算USLE_K1可蚀性因子

土壤可蚀性因子计算按照下面几个公式即可。


计算方式如下。

最后分组完成之后将数据加入到SWAT2012中的usersoil中即可。

土壤类型索引表的建立

与土地利用索引表的建立类似,新建一个txt文件。

气象数据的处理

这一块我的理解也不是很透彻,因此大家仅借鉴

在swat中气象数据的准备包含:天气发生器、降水数据、气温数据、相对湿度、
风速和日照,其中前三者是必须的,而天气发生器需要自行准备,后面的数据可以直接从站点获取。

数据下载

进入下载网站:www.cmads.org.com ,下滑至最后面,可以看见数据集和下载链接,根据需要下载相应的链接。

这里我选择的是的CMADSV1.0(Chinese),如图所示。

进入下载网页之后,点击申请下载,需要注册和登陆,填写相关信息,申请成功后可以在个人中心的数据订单的数据下载中看见。


根据指示下载软件,在软件最上方输入相应的IP地址,用户名和用户密码,点击连接之后,一段时间连接成功,在下方的框内可以看见数据集,右键点击下载即可。

数据量比较大,可能需要下载一段时间,此处就不截图了。

我将文件夹和压缩包都下载下来了,以备不时之需,下载地址只有一个星期的有效期。

数据处理

将压缩包一一解压后,找到以下目录中的地图,用GIS打开,同时导入自己要用的区域的图层。

为了更加清楚看见所需地区的站点编号,将北京图层放大,数据量大,可能会卡住,圈出北京的所有站点,并记录下来。

北京:119-167119-173、119-167125-167、125-167125-174、119-174125-174

圈出来的方框共有56个站,可以删掉距离较远且没有代表性的站,我去掉了图中20个站,因此最终36个站。

根据图中标注的文件夹,找到数据集中给定的索引文档,并新建一个自己的索引表,依次根据前面的编号找到索引表中的数据,复制到自己的文档中。

所有的索引表都需要进行这一步操作。

一些文档的解释:
Relative-Humidity-104000-txt\日平均相对湿度(fraction) (txt)
Precipitation-104000-txt \日24h累计降水量(mm) (txt)
Solar radiation-104000-txt \日平均太阳辐射(MJ/m2) (txt)
Temperature-104000-txt \日最高最低气温(℃) (txt)
Wind-104000-txt \日平均风速(m/s) (txt)
PCPFORK.txt 降水索引表
RHFORK.txt 相对湿度索引表
SORFORK.txt 太阳辐射索引表
TMPFORK.txt 温度索引表
WINDFORK.txt 风速索引表




至此,除了天气发生器之外的各项数据已经基本准备完毕。

天气发生器

此处有教程是用的SWATWEATHER进行计算,但我自己研究的时候看到了这个版本,目前还不知道是否可行,能够计算,但是计算结果还在验证中。

新建一个txt文件,根据前面的站点信息来填写,如图所示,根据前面的索引表来得到txt的内容。

导出SWAT2012中WGEN_user这张表,将txt文档中四列数据导入到excel中,后面的数字可以自己写。

最后将这个excel导入到SWAT2012中WGEN_user表即可。

打开天气数据定义的对话框,如图所示。

根据每一个对话框要求的数据,一一导入索引表,天气发生器选择用户,即选择了数据库中刚刚自己导入的表,最后点ok,完成导入。

接下来选择Write SWAT Database Table,点击全选,然后计算。

这里我是计算完成后的界面,显示已完成。

最后还有一个更新数据库的选项,如果哪一个表发生了变化,可以选择更新。

以上主要介绍了三大比较复杂的部分的数据处理以及软件操作的相关部分,自学总结的经验,如有错误,敬请批评指正,谢谢大家~~~
有兴趣的可以加入QQ群,一起交流学习278075707

SWAT模型教程---土地利用、土壤数据、气象数据的处理相关推荐

  1. 【SWAT水文模型】SWAT水文模型建立及应用第四期: 气象数据的准备(传统气象站)(待更新)

    SWAT水文模型建立及应用: 气象数据的准备 1 简介 1.1 数据来源 2 气象数据的准备(传统气象站) 2.1 天气发生器各参数的计算 2.2 降水及气温输入数据的准备 参考 本博客主要介绍气象数 ...

  2. 【SWAT水文模型】SWAT水文模型建立及应用第四期: 气象数据的准备(中国区域高精度同化气象站CMADS)

    SWAT水文模型建立及应用: 气象数据的准备 1 简介 2 气象数据的准备(中国区域高精度同化气象站CMADS) 2.1 数据说明 2.2 数据下载 3 CMADS 数据集SWAT子集使用说明 3.1 ...

  3. 【论文笔记】RSE//结合遥感数据和气象数据改进关中平原小麦产量估算的LSTM神经网络

    1.材料与方法 计算植被温度条件指数(VTCI)和叶面积指数(LAI)两个遥感指标: 主要采用:1km空间分辨率的LST产品.1km空间分辨率的表面反射率数据产品.空间分辨率为500m的4天MODIS ...

  4. 基于云上分布式NoSQL的海量气象数据存储和查询方案

    前言 气象数据是一类典型的大数据,具有数据量大.时效性高.数据种类丰富等特点.气象数据中大量的数据是时空数据,记录了时间和空间范围内各个点的各个物理量的观测量或者模拟量,每天产生的数据量常在几十TB到 ...

  5. 【SWAT水文模型】SWAT水文模型建立及应用第五期:SWAT模型运行设置

    SWAT水文模型建立及应用:SWAT模型运行设置 1 SWAT模型运行设置 1.1 水文响应单元(HRU,Hydrologic Response Unit)划分 1.1.1 Land use/Soil ...

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

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

  7. 遥感数据、气象数据、土地土壤数据、农业数据、行政区数据...GIS数据获取网站整理

      本文对GIS行业相关的综合数据获取网站加以整理,包括但不限于遥感数据.气候数据.土地数据.土壤数据.农业数据.行政区数据.社会数据.经济数据等.数据较多,大家可以直接通过下方目录加以总览:点击数据 ...

  8. 随机森林模型_观点速递65|使用随机森林模型模拟短期空气污染效应:基于交通和气象数据...

    概念 · 解读 随机森林:机器学习中的一种集成算法,它属于"装袋"类型,通过组合多棵决策树,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和稳定性. 决定系数(R2) ...

  9. 历史气象数据网站及操作教程

    查询下载历史气象数据实用网站分享及操作教程: 1.中国气象科普 2.羲和能源大数据 3.中国气象局 4.中国国家气候中心 5. USGS Earth Explorer(美国地质调查局) 6. NOAA ...

  10. 基于Python分析气象数据教程-1

    前言 本笔记介绍了如何使用 Python.pandas 和 SciPy 对天气数据进行基本分析. 它不包含对气象科学的贡献,但说明了如何生成简单的图和基本模型来拟合一些真实的物理观测. 一.相关库引入 ...

最新文章

  1. Pytorch的默认初始化分布 nn.Embedding.weight初始化分布
  2. 33 张图详解 RSTP 、MSTP、替代技术
  3. python 爬取企业注册信息_python爬取企业名录
  4. [UOJ299][CTSC2017] 游戏
  5. Gartner:PaaS 和平台架构领域的 4 大趋势 | 技术头条
  6. 20.深入浅出:功率放大电路——参考《模拟电子技术基础》清华大学华成英主讲
  7. 利用oc门或od门实现线与_OC门电路和OD门电路原理
  8. 2022联想创新科技大会--智能为变革赋能
  9. 一名女程序员的职业规划
  10. logback springBoot 配置日志
  11. 怎么将两台计算机ping接通,小编教你手把手教你一根网线连接两台电脑实现数据传送...
  12. 预处理器 - 记号传递操作符##
  13. A - Round decimals
  14. Spring Boot 整合Swagger实现API管理
  15. php-fpm彻底解决502(php-fpm多开、nginx限制并发、定时重启)解决网站卡顿的终极奥义
  16. vue3.0性能优化点之静态标记(PatchFlag)
  17. 机器学习模型可解释性进行到底 —— SHAP值理论(一)
  18. 芒果iOS开发面试题答案
  19. html微信浏览器缩略图,微信内通过自带浏览器分享网页到朋友圈如何显示缩略图...
  20. 间接利用微信压缩视频文件

热门文章

  1. MFC框架学习:《深入浅出MFC》阅读笔记
  2. 系统地介绍计算材料科学的发展现状、主要理论框架和设计实践方法,汪林望博士作序《计算材料学——设计与实践方法(第2版)》
  3. VMware虚拟机中 启动Windows XP系统黑屏 的解决
  4. QTsocket网络编程
  5. 汇编语言程序设计-钱晓捷(第五版)第三章-汇编语言程序格式
  6. 华硕触摸板驱动ASUS PTP Driver安装失败解决办法
  7. DirectX修复工具使用技巧之三——命令行与配置文件参数介绍
  8. phpcms的phpcms_auth导致的任意变量覆盖漏洞、本地文件包含漏洞和任意文件下载漏洞...
  9. Git客户端操作GitHub
  10. 数据库课程设计报告——书店管理系统