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

简介: 遥感IDL二次开发(叶面积指数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标准文件做彩色变换后,结果如下:

微信截图_20230111114343.png

相关文章
|
项目管理 Python
深入理解Python中的os.chdir()方法
`os.chdir()`是Python中用于改变当前工作目录的方法,简化文件和目录操作。语法为`os.chdir(path)`,`path`是目标目录路径。示例中展示了如何切换及检查工作目录。它常用于脚本执行、文件操作和多项目管理。注意目标目录必须存在,否则会抛出异常。相关方法有`os.getcwd()`获取当前目录和`os.path.join()`拼接路径。使用时结合异常处理可提升效率。参考[Python官方文档](https://docs.python.org/3/library/os.html)。
855 3
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
566 0
|
机器学习/深度学习 数据采集 算法
一个 python + 数据预处理+随机森林模型 (案列)
本文介绍了一个使用Python进行数据预处理和构建随机森林模型的实际案例。首先,作者通过删除不必要的列和特征编码对数据进行了预处理,然后应用随机森林算法进行模型训练,通过GridSearchCV优化参数,最后展示了模型的评估结果。
411 0
|
算法 数据安全/隐私保护 异构计算
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
升级版FPGA MSK调制解调系统集成AWGN信道模型,支持在Vivado 2019.2中设置不同SNR仿真误码率。示例SNR值从0到15,结果展示解调质量随SNR提升。MATLAB仿真验证了MSK性能,图片显示了仿真结果。 ### 理论概要 研究聚焦于软件无线电中的MSK调制解调,利用Verilog实现。MSK是一种相位连续、恒包络的二进制调制技术,优点包括频谱效率高。系统采用无核设计,关键模块包括调制器、解调器和误码检测。复位、输入数据、中频信号等关键信号通过Verilog描述,并通过Chipscope在线观察。
322 6
基于FPGA的MSK调制解调系统verilog开发,包含testbench,同步模块,高斯信道模拟模块,误码率统计模块
|
数据可视化 Python
【python】python实现杨辉三角的三种方法
【python】python实现杨辉三角的三种方法
1048 1
|
传感器 编解码 算法
Sentinel-1的GRD和SLC数据的区别和联系
Sentinel-1的GRD和SLC数据的区别和联系
2182 1
|
Web App开发 数据采集 编解码
html/SEO:mate/百度规则下写好mate标签的重要性
html/SEO:mate/百度规则下写好mate标签的重要性
281 0
|
算法
基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演
基于Google Earth Engine的Landsat单窗算法地表温度(LST)反演
702 2
|
安全 5G 测试技术
5G的要求和主要性能指标 | 《5G移动无线通信技术》之六
这里对前面章节所述用例的要求加以总结,表达了5G主要性能指标(KPI)。
5G的要求和主要性能指标 | 《5G移动无线通信技术》之六
|
数据处理
InVEST模型的下载及入门操作(以InVEST3.13.0为例)
InVEST是一套免费的开源软件模型,是美国自然资本项目组开发的、用于评估生态系统服务功能量及其经济价值、支持生态系统管理和决策的一套模型系统,用于绘制和评估维持和实现人类生活的自然商品和服务。包括商品生产(如食物)、生命维持过程(如水净化)和充实生命的条件(如美丽、娱乐机会)以及选择的保护(如未来使用的遗传多样性)等模块。(翻译自模型官网)
2821 1

热门文章

最新文章