1 《主要树种立木生物量模型与碳计量参数》获取二元参数
写成字典形式
dic2={"马尾松":{"a1":0.06662,"b1":2.09317,"c1":0.49763,"a2":0.008828,"b2":2.73828,"c2":-0.080255,"c":0.5252},
"杉木":{"a1":0.06539,"b1":2.01735,"c1":0.49425,"a2":0.016385,"b2":2.52941,"c2":-0.11744,"c":0.499},
"栎类":{"a1":0.13188,"b1":1.82892,"c1":0.71119,"a2":0.114600,"b2":2.09235,"c2":-0.05245,"c":0.4802}}
2 运行代码,计算出碳储量
#coding:utf-8
import arcpy
shpPath=r"G:\work2024\虞山林场和南湖湿地公园的林湿碳汇核算报告\过程稿\数据分析\虞山\虞山林地数据.shp"
with arcpy.da.UpdateCursor(shpPath,["FID","优势树","平均胸","平均树","C"]) as cursor:
... for row in cursor:
... str=row[1]
... for shuzhong in ["栎类","杉木","马尾松"]:
... if str.encode("utf-8")==shuzhong:
... shengwuliang=(dic.get(shuzhong).get("a1"))*pow(row[2],dic.get(shuzhong).get("b1"))*pow(row[3],dic.get(shuzhong).get("c1"))+(dic.get(shuzhong).get("a2"))*pow(row[2],dic.get(shuzhong).get("b2"))*pow(row[3],dic.get(shuzhong).get("c2"))
... row[4]=shengwuliang*(dic.get(shuzhong).get("c"))
... cursor.updateRow(row)