基于SL773-2018计算土壤流失量的Python实现

本文介绍了基于SL773-2018标准,使用Python实现土壤流失量计算的过程。作者为简化水土保持方案中的计算,编写了自动计算函数,并展示了代码片段。代码目前支持一种计算方法,未来将增加更多功能,如自动读写表格。
摘要由CSDN通过智能技术生成

1、编写原因
2、实现功能
3、部分代码预览
4、写在最后

基于SL773-2018计算土壤流失量的Python实现

1、编写原因

随着SL773-2018《生产建设项目土壤流失量测算导则》的发布,越来越多的水土保持方案需要用到其中公式内容进行土壤流失量预测。公式数量多,计算过程较为繁琐,如果能用批量编写好的函数运行,在减少运算时间的同时,也更容易检查(主要也是Excel水平渣渣)。于是用Python(3.9.4)代码实现自动计算并生成表格的想法应运而生。

本文用以下公式作为🌰:

植被破坏型一般扰动地表土壤流失量

①计算公式
植被破坏型一般扰动地表土壤流失量计算
Ly及λ计算
坡度因子Sy计算
目前R只考虑通过查表取值代入的计算方法,在之后的版本会慢慢完善。

此版代码包含的计算公式还有5个,在此不一一列出。

2、实现功能

通过一个小动图展示一下:

在这里插入图片描述

3、部分代码预览

(1)函数代码示例:

def Myz():
  R,K,B,E,Tv = map(float,input("请依次(共5)输入计算单元降雨侵蚀力因子R、土壤可蚀性因子K、植被覆盖因子B、工程措施因子E、耕作措施因子T,并以逗号隔开:").split(","))
  lamda_x,a,m = map(float,input("请依次(共3)输入计算单元斜坡长度λx、坡度θ、坡长指数m,并以逗号隔开:").split(","))
  aa=math.cos(math.radians(a))
  lamda=lamda_x*aa
  if lamda >= 100:
    lamda = 100
  Ly_v=(lamda/20)**m
  aa_2 = math.sin(math.radians(a))
  Sy_v=-1.5+17/(1+2.72**(2.3-6.1*aa_2))
  S=float(input("请输入计算单元宽度(单位:m):")
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值