如有研究需要数据,请与QQ1807232或QQ:65888365;或微信扫码添加客服咨询

遥感IDL二次开发(叶面积指数LAI计算)

1.叶面积指数(LAI)的定义: 叶面积指数,亦称叶面积系数。是指单位土地面积上植物叶片总面积占土地面积的倍数。它与植被的密度、结构(单层或复层)、树木的生物学特性(分枝角、叶着生角、耐荫性等)和环境条件(光照、水分、土壤营养状况)有关,是表示植被利用光能状况和冠层结构的一个综合指标。

1.叶面积指数(LAI)的定义:
叶面积指数,亦称叶面积系数。是指单位土地面积上植物叶片总面积占土地面积的倍数。它与植被的密度、结构(单层或复层)、树木的生物学特性(分枝角、叶着生角、耐荫性等)和环境条件(光照、水分、土壤营养状况)有关,是表示植被利用光能状况和冠层结构的一个综合指标。

2.经验模型预测LAI:
经验模型法基于数理统计方法,利用反射率、光谱一阶导数、植被指数等作为自变量,建立叶面积指数与特征光谱(如反射率、光谱指数)之间的回归模型,并利用该模型估算LAI。经验模型原理和算法比较简单,且估算精度满足要求,在植被LAI的估算中应用广泛,是最为常见的建模方式。

3.LAI经验模型原理(以三种下垫面为例,自己可根据实际修改)

4.程序源代码
 

;#############导入、输出文件及调用函数的程序 ############;
Pro LAI
;根据NDVI和Landcover计算LAI

;打开NDVI和Landcover文件
fn_NDVI=dialog_pickfile(title='选择NDVI数据',get_path=work_dir)
cd,work_dir
fn_landcover=dialog_pickfile(title='选择土地覆盖数据',get_path=work_dir)
cd,work_dir

;读入NDVI和Landcover数据
envi_open_file,fn_NDVI,r_fid = fid_NDVI
envi_open_file,fn_landcover,r_fid=fid_landcover
envi_file_query,fid_NDVI,ns=ns,nl=nl,nb=nb,dims=dims,$
data_type=data_type,interleave=interleave,offset=offset
map_info=envi_get_map_info(fid = fid_NDVI)
NDVI=envi_get_data(fid = fid_NDVI,dims=dims,pos=0)
landcover=envi_get_data(fid = fid_Landcover,dims=dims,pos=0)

;调用cal_LAI函数计算LAI
LAI_result=lai_cal(NDVI,landcover)

;保存结果
o_fn=dialog_pickfile(title='结果保存为')
envi_write_envi_file,LAI_result,out_name=o_fn,/no_copy,$
ns=ns,nl=nl,nb=nb,dims=dims,data_type=data_type,interleave=interleave,$
offset=offset,map_info=map_info
end

;#############叶面积指数计算程序############;
function lai_cal,ndvi,landcover
;计算 LAI 的函数
sz=size(ndvi)
result=make_array(size=sz)
;分段计算LAI
  w1=where(Landcover eq 1 and NDVI le 0.125,count)
  w2=where(Landcover eq 2 and NDVI ge 0.125 and NDVI le 0.825,count)
  w3=where(Landcover eq 2 and NDVI ge 0.825,count)
  w4=where(Landcover eq 3 and NDVI ge 0.125 and NDVI le 0.825,count)
  w5=where(Landcover eq 3 and NDVI ge 0.825,count)
if total(w1) gt 0 then result[w1]=0
if total(w2) gt 0 then result[w2]=0.1836*exp(4.37*NDVI[w2])
if total(w3) gt 0 then result[w3]=6.606
if total(w4) gt 0 then result[w4]=0.0884*exp(4.96*NDVI[w4])
if total(w5) gt 0 then result[w3]=6.091
return,result ;输出结果
end

 

5.调用过程:
1)在IDL中调用 ENVI 函数读取 NDVI 和土地覆盖图
2) cal_LAI函数按照不同土地覆盖类型的 LAI 计算公式进行计算
3) 将计算得到的 LAI 保存为 ENVI 标准文件

6.结果:
ENVI标准文件做彩色变换后,结果如下:

同时地理遥感生态网平台也正式发布该项数据,数据来源请引用:地理遥感生态网科学数据注册与出版系统www.gisrs.cn