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

news2024/11/24 6:52:15

SWAT水文模型建立及应用:土壤库建立

  • 1 简介
  • 2 土壤数据下载
    • 2.1 数据下载方式
      • 2.1.1 世界土壤数据库HWSD数据
      • 2.1.2 中国土壤数据库
    • 2.2 数据下载
  • 3 土壤数据的准备
    • 3.1 SWAT土壤数据库参数
    • 3.2 土壤质地转化
    • 3.3 土壤参数的提取
    • 3.4 其他变量的提取
    • 3.5 土壤类型分布图的处理
    • 3.6 土壤类型索引表的建立
  • 参考

此博客主要介绍基于世界土壤数据库HWSD建立土壤库的过程。基于中国土壤数据库建立土壤库可参见另一博客-【SWAT水文模型】SWAT水文模型建立及应用第三期:基于中国土壤数据库建立土壤库。

1 简介

SWAT模型中用到的土壤数据主要包括两大类:物理属性数据和化学属性数据。

  • 土壤的物理属性决定了土壤剖面中水和气的运动情况,并且对HRU中的水循环起着重要的作用。物理属性数据主要包括土层厚度、砂石、黏土、容积密度、有机碳、有效含水量、饱和水力传导率等。
    在这里插入图片描述
  • 土壤的化学属性主要用来给模型赋初始值。
    在这里插入图片描述
  • 其中物理属性是必需的,化学属性是可选的。

SWAT模型中土壤数据是主要的输入参数之一,土壤数据质量的好坏会对模型的模拟结果产生重要影响。用到的土壤数据主要包括土壤类型分布图、土壤类型索引表土壤物理属性文件(即土壤数据库参数)。土壤的物理属性决定了土壤剖面中水和气的运动情况,并且对 水文响应单元(HRU,Hydrologic Response Unit) 中的水循环起着重要的作用,是SWAT建模前期处理过程的关键数据。

关键步骤 :

  • 土壤质地转化
  • SPAW软件计算
  • 其他变量的计算
  • 土壤类型分布图的处理
  • 土壤类型索引表的建立

2 土壤数据下载

主要介绍土壤数据的下载方式,并展示对某流域进行土壤数据下载的实例。

2.1 数据下载方式

根据两种不同数据下载来源,后续处理过程分别讲解。

2.1.1 世界土壤数据库HWSD数据

土壤质地类型数据来源于世界土壤数据库(HWSD,Harmonized World Soil Database),是粮农组织与IIASA、ISRIC-世界土壤信息、中国科学院土壤研究所(ISSCAS)和欧盟委员会联合研究中心 (JRC)合作的成果,该数据提供了各个格网点的土壤类型、土壤相位、土壤理化性状等信息。

官网-世界土壤数据库HWSD
空间分辨率:1km
说明:中国境内数据源为第二次全国土地调查南京土壤所提供的1:100万土壤数据,外蒙地区数据源为区域土壤及地形数据库(SOTWIS)比例尺为1:500万。
目前世界土壤数据库(HWSD )由于采用了USDA 标准,因此可直接用于建立SWAT模型数据库。
在这里插入图片描述
数据下载解压后可以得到栅格数据、土壤属性表和数据使用说明等文件,注意使用该数据时,请遵循相关引用规定,合理合法运用(非商业用途)。

2.1.2 中国土壤数据库

中国土壤数据库目前是我国数据最全的土壤库,也是建立SWAT土壤数据库基础数据的重要来源。
中国土壤数据库下载的数据,是我国第二次土壤普查采用的国际制,而SWAT模型采用的土壤粒径级配标准是USDA简化的美制标准,因此,存在一个国际制向美国制转换的问题。

官网-中国土壤数据库
打开数据库中的中国土种数据库,按地点查询,即可根据研究区域进行土壤数据的查询。每个亚类可能有多个土种,选择的原则就是以面积最大的土种来代表整个亚类。
在这里插入图片描述
点击选择的土类的详情即出现下图界面,继续点击土种每层的详情,可继续查询各层信息,这样土壤的初始信息即可全部得到。
在这里插入图片描述

2.2 数据下载

下载完成世界土壤数据库HWSD后,进行以下初步准备工作。

步骤1: 根据所需要的区域进行裁剪/掩膜
根据研究区域对全国土壤类型数据进行掩膜处理(Extract by Mask),如下:
在这里插入图片描述

步骤2: 对裁剪完的图像进行投影(本次研究流域均采用WGS_1984_UTM_Zone_46N 投影坐标系。)

土壤分布图投影调整
在SWAT模型中,DEM、土地利用数据和土壤数据需要投影到统一地理坐标系

1)设置图层投影坐标
将DEM数据在ArcMap中打开,查看图层(Layer)的属性(Properties)中的坐标系(Coordinate System)信息,更改坐标系为WGS_1984_UTM_Zone_46N,如下:
在这里插入图片描述
2)更改土壤分布图投影
但以上操作并未实际改变土壤分布图的投影。需要将数据按照选定投影进行输出。右键点击图层列表中的土壤分布图,选择Export Data,如下图所示。
在这里插入图片描述
步骤3:
得到研究区域内土壤数据图(右键投影后的图像,打开图层属性,选择用唯一值显示),如下:
在这里插入图片描述

3 土壤数据的准备

3.1 SWAT土壤数据库参数

在SWAT 2005数据库的usersoil数据库中,需要填入的变量有以下几个,根据需要可对土壤定义10个层,其含义见下表:
在这里插入图片描述

3.2 土壤质地转化

在土壤数据中最重要的一类数据是土壤粒径级配数据,其他许多土壤参数如饱和导水率、土壤层有效持水量等都可以从土粒径级配数据来导出。
土壤粒径分布是指土壤固相中不同粗细级别的土粒所占的比例,常用某一粒径及其对应的累积百分含量曲线来表示。

SWAT模型采用的土壤粒径级配标准是USDA简化的美制标准,因此,存在一个国际制向美国制转换的问题。
国际制与美国制区别如下表所示:
在这里插入图片描述世界土壤数据库HWSD(无需转换)

3.3 土壤参数的提取

SOL_BD、 SOL_AWC、SOL_K三个变量由SPAW软件可以计算得到。该软件主要利用其中Soil Water Characteristics模块,根据土壤中粘土Clay、砂土Sand、有机质含量Organic Matter、盐度Salinity、砂砾Gravel等含量来计算土壤数据库中所需的土壤湿密度SOL_BD、有效持水量SOL_AWC、饱和导水率SOL_K等参数,这些参数都是我国目前所缺乏的。
SPAW软件安装完成后,打开的界面如下图所示:
在这里插入图片描述
通过填入所有空白格内的参数,如Sand、Clay 等,灰色显示的参数就可以显示计算后的结果,其中我们所需要的三个参数:
SOL_BD=Bulk Density
SOL_AWC=Field Capacity(田间持水量)-Wilting Point(饱和导水率)
SOL_K=Sat Hydraulic Cond
另外,在SPAW 模型中单位要选择Metric 国际单位制,在options 下拉菜单中选择units 下的Metric 即可。

3.4 其他变量的提取

3.5 土壤类型分布图的处理

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

具体实现步骤如下:
(1)选择ArcToolbox/Spatial Analyst Tools/Reclass/Reclassify,出现如下图所示对话框,输入待重分类的栅格图层,选择区分各土地利用类型的字段,在New value下进行重编号,对想要合并的类型重编同样的新号,即可以合并为一类。点击OK。

合并后的土地类型如下图所示:

3.6 土壤类型索引表的建立

在本次建模过程中,土壤类型为七类,其土壤类型索引表如下图所示,其中“VALUE”即图层中代表了各类型的字段编号,“NAME”即在数据库中的名称简写,该表的作用就是将研究区域的土壤类型与SWAT数据库中的类型进行关联,该表以.txt格式存储。

参考

1、书籍-ArcSWAT 2009 用户指南
2、CSDN博客-SWAT模型教程—土地利用、土壤数据、气象数据的处理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/489752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

高级IO涉及的编程模型

目录 五种IO模型引入IO模型阻塞IO非阻塞IO信号驱动IOO多路转接异步IO IO重要概念同步通信 vs 异步通信阻塞 vs 非阻塞 其他高级IO 非阻塞IOfcntl基于fcntl将文件描述符设置为非阻塞轮询方式读取标准输入 I/O多路转接之select初识selectselect函数原型参数timeout取值fd_set结构…

React Native中防止滑动过程中误触

React Native中防止滑动过程中误触 在使用React Native开发的时,当我们快速滑动应用的时候,可能会出现误触,导致我们会点击到页面中的某一些点击事件,误触导致页面元素响应从而进行其他操作,表现出非常不好的用户体验。 一、问题…

Kafka安装以及入门基本命令操作

文章目录 1.单节点搭建1.1 下载安装包1.2 配置环境变量1.3 配置配置文件1.4 启动启动zookeeper启动kafka 1.5 创建启动脚本startKafka.sh 2.简单的使用2.1 创建topic2.2 查看topic2.3 producer生产数据2.4 consumer消费者拉取数据 1.单节点搭建 1.1 下载安装包 #解压 tar -xz…

Android framework的底层原理,再不看就真有可能被淘汰

前言 从事Android开发的人都知道,目前市面上有各种类型跨平台技术诞生,严重冲击了Android市场,越来越多的Android开发者不再做移动应用开发,而另一方面,系统开发由于其复杂的逻辑,形成了独有的核心竞争力&…

Java 基础进阶篇(一)—— String 与 StringBuilder

文章目录 一、String 类概述二、String 创建对象的方式2.1 创建对象的两种方式2.2 面试:两种方式的区别 ★2.3 常见面试题 ★ 三、String 类常用方法3.1 字符串内容比较3.2 常用 API:遍历、截取、替换、分割 四、StringBuilder 字符串操作类4.1 构造器4.…

JavaScript 数据类型判断

(生活的道路一旦选定,就要勇敢地走到底,决不回头。——左拉) typeof typeof是在javascript编码过程中最常用的判断数据类型的方法,常用来判断数字,字符串,布尔值和undefind console.log(typeo…

ROS Noetic版本 rosdep找不到命令 不能使用的解决方法

使用rosdep指令来安装开源包所需的依赖是很方便的,本文主要介绍ROS Noetic版本中使用rosdep,报错找不到命令 ,rosdep不能使用的解决方法。 rosdep:找不到命令 Command rosdep not found, but can be installed with:sudo apt ins…

怎么取消parallels更新,关闭Parallels Desktop 更新提示

自动更新问题 使用Parallels Desktop一段时间后,会主动提示更新,MacOS上最好的虚拟机:Parallels Desktop,但在使用过程中每次启动都要检查更新,比较烦人 如图: 解决方法 取消parallels更新 点击Parall…

v4l2框架

v4l2框架 文章目录 v4l2框架框架1.硬件相关层uvc_probeuvc_register_chainsuvc_register_termsuvc_register_video 2.核心层__video_register_device 3.虚拟视频驱动vivid分析入口vivid_init注册vivid平台驱动vivid_probevivid_create_instance 框架 1.硬件相关层 driver/medi…

2023 hnust 大三下 嵌入式 期中考试复习笔记

前言 ★:重点※:补充内容❓:还没搞懂的内容主要来源:教材、PPT、百度百科、AI重点来源:4-6班感谢:lyf总结得很草率,因为没听过课,也玩不懂 重点汇总 考试题型 选择(40…

C#_Struct与Class的差异

简述 struct属于值类型,class属于引用类型 存储地址 struct储存于栈,class储存于堆(class于栈中储存引用) 传参性质 struct属于值传递,在函数内对参数进行修改,不会修改struct class处于引用传递&…

day40—选择题

文章目录 1.上网的时候,访问某个网页却突然出现了某个运营商的网页(如联通、电信)。出现此问题可能的原因是(A)2.某浏览器发出的HTTP 请求报文如下,下列叙述中,错误的是(C&#xff0…

阿里云CentOS服务器安装Redis教程(一步步操作)

使用阿里云服务器ECS安装Redis数据库流程,操作系统为CentOS 7.6镜像,在CentOS上安装Redis 4.0.14,云服务器选择的是持久内存型re6p实例,新手站长分享阿里云CentOS服务器安装Redis流程方法: 目录 在CentOS系统中部署R…

【内网】面试·HVV专题

【内网】面试HVV专题 1.目标主机没有nc时如何获取反向shell2.说说你了解的隧道技术SSH隧道HTTP/HTTPS协议DNS协议1.目标主机没有nc时如何获取反向shell Python反向shell执行如下命令,在VPS上监听本地2222端口 nc -lvp 2222在目标主机上执行如下命令: bash反向shell执行如下命…

数据结构/栈实现队列

前言 在学习数据结构的过程当中,我们会学到栈和队列,在本篇文章中,重点讲解的是栈实现队列,故关于栈和队列的讲解只是简单带过。 一、栈 栈是一种后进先出的线性表,即只能在固定的一端进行插入和删除。 栈 方法 Stac…

(2)Qt的UI入门

目录 1. QWidget类(重点) 2. 子组件 1. QWidget类(重点) QWidget类是Qt中所有组件和窗口的基类,其内部规定了组件和窗口的基本规则和功能。 Qt中每个属性的文档中都有Access functions部分,表示其支持的读写…

机器学习实战教程(十二):聚类算法Kmeans

聚类概念 聚类是一种无监督的机器学习方法,它主要是通过在数据集中找到相似的样本并将它们分组来发现数据中的模式和结构。聚类算法可以将数据分成具有相似特征的组,每个组被称为一个簇。 常见的聚类算法有以下几种: K-means聚类算法&#…

python面向对象三大特性详解 - 封装 继承 多态

前言 面向对象编程有三大特性:封装、继承、多态,本文带大家来认识和了解这三个特性~ 补充 - 新式类 & 经典类 在python2.x中,新式类是继承了object类的子类,以及该子类的子类 子子类...;经典类就是没有继承没有…

java基础入门-05

Java基础入门-05 13、面向对象进阶(static&继承)1.1 如何定义类1.2 如何通过类创建对象1.3 封装1.3.1 封装的步骤1.3.2 封装的步骤实现 1.4 构造方法1.4.1 构造方法的作用1.4.2 构造方法的格式1.4.3 构造方法的应用 1.5 this关键字的作用1.5.1 this关…

MapReduce 源码分析-1

源码追踪 Class Job 作为使用Java语言编写的MapReduce城西,其入口方法位main方法,在MapReduce Main方法中,整个核心都在围绕着job类,中文称之为作业。 public class WordDriver {public static void main(String[] args) throw…