基于GIS计算降雨侵蚀力R因子
一、数据来源介绍
(一)行政边界数据
本文所用到的河北唐山行政边界数据来源于中国科学院资源环境科学与数据中心(https://www.resdc.cn/Default.aspx)。

(二)降水量数据
本文所用到的降水量数据来源于国家地球系统科学数据中心(http://www.geodata.cn/)。


该网站注册完成后是没有数据的下载权限的,需要在完善个人信息后才可以下载数据,信息越完善每日可下载的数据量也就越多,认证到哪一步视自己需求决定。


另外该网站下方还有许多数据中心和数据库官方链接,对于正在急于寻求数据的伙伴们非常的友好。

*本教程仅供参考,不足之处欢迎斧正。
二、数据预处理
(一)行政边界数据预处理
河北唐山行政边界数据存放于中国地市行政边界数据图层当中,我们可以利用ArcGIS提取出我们需要的地市数据。记得备份喔,备份以后在用到其他省份的地市行政边界数据时就不用在从网站中下载了。
我们将中国地市行政边界数据图层加载到ArcGIS,因为我们只需要河北唐山一个地市的数据,我们可以先利用识别工具识别其信息,可以了解到其FID为311。


然后右键图层,打开图层的属性表,利用【按属性选择】工具选中河北唐山,接下来可以将选中的要素导出或者反选将其余要素删掉,这里建议是导出比较好,选中后右键图层,选择数据 -> 导出数据即可。


(二)降水量数据预处理
网站下载下来的年降水量数据是一个TIFF文件,其包含20个波段,每个波段都包含一个年份的全国年降水量,由于体量太大,这里在进行裁剪处理时可以右键裁剪选择批量处理。
工具位置:数据管理工具 -> 栅格 -> 栅格处理 -> 裁剪



网站下载下来的逐月降水量数据集是一个NC格式的文件,没有办法直接加载到ArcMAP中,需要用创建NetCDF栅格图层工具来打开。
工具位置:多维工具 -> 创建NetCDF栅格图层
但若是像下图中出现无法读取变量、X维度、Y维度这种情况,就需要考虑到可能是因为数据的扩展名虽然是.nc,但实际上是HDF格式的文件,可以在文件夹中复制一个副本,修改其扩展名为.hdf,这样就可以直接在ArcMAP中打开了;若是依然无法打开,可以换一台电脑再次尝试使用创建NetCDF栅格图层工具。


添加数据时双击【pre_2020 - 副本.hdf】可以看到该数据集包含有12个子数据集,由此我们可以推测这12个数据集所包含的数据为12个月份,每个月的月降水量。和年降水量数据一样的原因,同样进行批量裁剪处理。


三、降雨侵蚀力因子简介
降雨侵蚀力因子其实是用来描述降雨对土壤侵蚀的潜在能力大小的,就是降雨的冲刷对土壤的侵蚀效应。
到目前为止,关于降雨侵蚀力因子R的计算方法非常的繁多,不过这些计算方法总结下来,核心思路其实大概可以分为两种:一种是将降雨的动能引入模型来计算,因为降雨的动能越大,说明冲刷的力度越大;另一种是直接引用月降雨量或年降雨量来计算,降雨量越大对土壤的侵蚀能力就越大。
在这里主要给大家介绍如何运用月降水量和年降水量来计算。
其实,降雨侵蚀力因子的计算可以根据所获取的降雨资料分别采用不同的计算公式(由于逐日的降雨量数据资料获取权限较高,与之相关的计算公式这里暂不做介绍,想了解的GiSer可以在知网上多查阅下相关资料):

四、按公式计算
(一)计算公式(3)
利用栅格计算器来进行栅格图层的叠加分析,在栅格计算器中按公式添加数据图层,在输入框中输入如下公式:
工具位置:Spatial Analyst工具 -> 地图代数 -> 栅格计算器
1. 0.067 * Power(("c2001_Clip"+"c2002_Clip"+"c2003_Clip"+"c2004_Clip"+"c2005_Clip"+"c2006_Clip"+"c2007_Clip"+"c2008_Clip"+"c2009_Clip"+"c2010_Clip"+"c2011_Clip"+"c2012_Clip"+"c2013_Clip"+"c2014_Clip"+"c2015_Clip"+"c2016_Clip"+"c2017_Clip"+"c2018_Clip"+"c2019_Clip"+"c2020_Clip") / 200,1.627)

这里计算多年平均降雨量时可以看到是除以了200,20年的数据为什么不是除以20呢,原因在于官网的数据摘要中介绍到降雨量单位为0.1mm,而公式中的单位为1mm。


(二)计算公式(4)
利用栅格计算器来进行栅格图层的叠加分析,在栅格计算器中按公式添加数据图层,在输入框中输入如下公式:




五、成果展示



树谷资料库资源大全(2月9日更新)
相关文章:
基于GIS计算降雨侵蚀力R因子
一、数据来源介绍 (一)行政边界数据 本文所用到的河北唐山行政边界数据来源于中国科学院资源环境科学与数据中心(https://www.resdc.cn/Default.aspx)。 (二)降水量数据 本文所用到的降水量数据来源于国家…...
大数据时代下的企业网络安全
在大数据技术迅猛发展的今天,网络安全问题已经发展成一个广受关注的热门研究方向。有人说,“大数据下,人人裸奔”,隐私保护、数据防护日益成为广大学者、企业研究的焦点。 面对这种安全威胁,企业必须实施一些有效的信…...
【跟我一起读《视觉惯性SLAM理论与源码解析》】第三章第四章 SLAM中常用的数学基础知识相机成像模型
齐次坐标能大大简化在三维空间中点、线、面表达方式和旋转、平移等操作在齐次坐标下,两个点的叉积结果可以表示一条直线l;也可以用两条直线的叉积结果表示它们的齐次坐标交点,关于叉积其实十四讲解释的还是比较清楚的,和李代数李群的关系可以…...
LeetCode 242. 有效的字母异位词
242. 有效的字母异位词 难度:easy\color{Green}{easy}easy 题目描述 给定两个字符串 sss 和 ttt ,编写一个函数来判断 ttt 是否是 sss 的字母异位词。 注意: 若 sss 和 ttt 中每个字符出现的次数都相同,则称 sss 和 ttt 互为字…...
力扣mysql刷题记录
mysql刷题记录 刷题链接https://leetcode.cn/study-plan/sql/?progressjkih0qc mysql冲!mysql刷题记录1699. 两人之间的通话次数1251. 平均售价1571. 仓库经理1445. 苹果和桔子1193. 每月交易 I1633. 各赛事的用户注册率1173. 即时食物配送 I1211. 查询结果的质量…...
Linux基础命令-lsof查看进程打开的文件
Linux基础命令-uptime查看系统负载 Linux基础命令-top实时显示系统状态 Linux基础命令-ps查看进程状态 文件目录 前言 一 命令的介绍 二 语法及参数 2.1 使用help查看命令的语法信息 2.2 常用参数 2.2.lsof命令-i参数的条件 三 命令显示内容的含义 3.1 FD 文件描述符的…...
常用电平标准
现在常用的电平标准有TTL CMOS LVTTL LVCMOS LVDS PCI等,下面简单介绍一下各自的供电电源、电平标准及注意事项数字电路中,由TTL电子元件组成电路使用的电平。电平是个电压范围。标准输出高电平(VOH): 2.4V标准输出低电平(VOL):0.4V通常输出高…...
小程序开发注意点
1.组件样式隔离注意点 2.methods方法 3.自定义组件的properties参数 4.自定义组件的事件监听 5.纯数据字段 6.插槽 单个插槽 启用多插槽 使用多个插槽 7.属性绑定实现父传子功能 例如在这里有一个组件为<one></one>,那么可以在组件当中传入参数 &l…...
自行车出口欧盟CE认证,新版自行车标准ISO 4210:2023与ISO 8098:2023发布
2023年1月,国际标准化组织ISO发布了新版“自行车以及儿童自行车的测试标准”,即ISO 4210:2023以及ISO 8098:2023,用于取代了SO 4210:2015以及ISO 8098:2015。新版标准一经发布,立即生效。欧盟标准化委员会C…...
2020蓝桥杯真题回文日期 C语言/C++
题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期。 有人表示 20200202 是 “千年一遇…...
postman入门到精通之【接口知识准备】(一)
postman入门到精通之【接口知识准备】(一) 目录:导读 前言 接口测试概念 接口测试 接口测试的原理 常用接口测试工具 接口测试基础知识 接口的定义 接口的分类 HTTP接口 Web Service接口 RESTful接口 HTTP请求 统一资源定位符&…...
【算法数据结构体系篇class07】:加强堆
一、手动改写堆(非常重要)!系统提供的堆无法做到的事情:1)已经入堆的元素,如果参与排序的指标方法变化,系统提供的堆无法做到时间复杂度O(logN)调整!都是O(N)的调整!2&am…...
Taro3.x 容易踩坑的点(阻止滚动穿透,弹框蒙层父级定位)
解决弹框滚动的时候,下层也会滚动问题》阻止滚动穿透(react,vue)案例描述:页面展示时需要滚动条才可以显示完整,但是当我们显示弹框的时候,即使不需要滚动条,但是页面仍然可以滚动,并且下层内容会随着滚动变…...
SpringBoot+ActiveMQ-发布订阅模式(消费端)
ActiveMQ消息中间件的发布订阅模式 主题 topictopic生产端案例(配合topic消费端测试):SpringBootActiveMQ Topic 生产端ActiveMQ版本:apache-activemq-5.16.5案例源码:SpringBootActiveMQ-发布订阅DemoSpringBoot集成ActiveMQ Topic消费端的pom.xml<?…...
vscode下使用arduino插件开发ESP32 Heltec WiFi_Kit_32_V3
下载vsCode 添加 arduino 插件 在Arduino IDE 中添加开发板,注意只能用右侧的开发板管理器添加,自己下载之后复制进去的IDE认,但是vsCode不认,搜索ESP32 第一个库里面只有到V2的,没有V3,要安装下面那个 H…...
吐血整理AutoSAR Com-Stack 的配置【基于ETAS】
总目录链接>> AutoSAR入门和实战系列总目录 文章目录01.软件组件和系统说明02.基本软件配置03.系统数据映射04.代码生成05.代码整合06.测试下图显示了基于 AUTOSAR 的 ECU SW 的结构。纵观BSW,大体分为三层。三层模块中,与通信相关的模块称为通信…...
面向对象进阶之元类
6. 元类 Python 中一切皆对象,对象是由类实例化产生的。那么类应该也有个类去产生它,利用 type() 函数我们可以去查看: class A:pass a1 A() print(type(a1)) print(type(A))<class __main__.A> <class type>由上可知…...
【Android AIDL之详细使用】
Android AIDL之详细使用一级目录概述使用场景语法相关编码实践服务端:java文件修改AndroidManifest客户端坑一级目录 概述 AIDL叫Android接口定义语言,是用于辅助开发者完成Android跨进程编程的工具。 从某种意义上说AIDL其实是一个模板,因…...
ASP.NET MVC | 简介
目录 前提 1.教程 2.MVC 编程模式 最后 前提 在学习学过很多课程,但是最主要学的还是ASP.NET MVC这门课程,工作也是用的ASP.NET MVC,所以写一点ASP.NET MVC的东西,大家可以来看看,我自己不会的时候也不用找别的地方…...
95后刚毕业2、3年就年薪50W,才发现,打败我们的不是年龄····
一刷朋友圈,一读公众号,一打开微博,甚至是一和朋友聊天,这些让人焦虑的话题总会铺天盖地的袭来: Ta刚毕业半年,就升职加薪当上了测试主管 (同样是一天24小时,为什么同龄人正在抛弃…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
ESP32读取DHT11温湿度数据
芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
什么是库存周转?如何用进销存系统提高库存周转率?
你可能听说过这样一句话: “利润不是赚出来的,是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业,很多企业看着销售不错,账上却没钱、利润也不见了,一翻库存才发现: 一堆卖不动的旧货…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
c++第七天 继承与派生2
这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分:派生类构造函数与析构函数 当创建一个派生类对象时,基类成员是如何初始化的? 1.当派生类对象创建的时候,基类成员的初始化顺序 …...
十九、【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建
【用户管理与权限 - 篇一】后端基础:用户列表与角色模型的初步构建 前言准备工作第一部分:回顾 Django 内置的 `User` 模型第二部分:设计并创建 `Role` 和 `UserProfile` 模型第三部分:创建 Serializers第四部分:创建 ViewSets第五部分:注册 API 路由第六部分:后端初步测…...
k8s从入门到放弃之HPA控制器
k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率(或其他自定义指标)来调整这些对象的规模,从而帮助应用程序在负…...

