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标准文件做彩色变换后,结果如下: