基于SL773-2018计算土壤流失量的Python实现
1、编写原因
随着SL773-2018《生产建设项目土壤流失量测算导则》的发布,越来越多的水土保持方案需要用到其中公式内容进行土壤流失量预测。公式数量多,计算过程较为繁琐,如果能用批量编写好的函数运行,在减少运算时间的同时,也更容易检查(主要也是Excel水平渣渣)。于是用Python(3.9.4)代码实现自动计算并生成表格的想法应运而生。
本文用以下公式作为🌰:
植被破坏型一般扰动地表土壤流失量
①计算公式
目前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):")