IDL实现植被覆盖度计算

本实例实现植被覆盖度计算,利用NDVI数据像元二分模型。

像元二分计算方法是将像元植被覆盖结构分为纯像元混合像元两种。纯像元被植被完全覆盖,覆盖度为1;混合像元由植被和非植被部分组成,其NDVI值是植被覆盖部分非NDVI值与非植被覆盖部分的NDVI值线性加权,公式如下:

                                               

    上式中:NDVI为像元的NDVI值;fv为像元的植被覆盖度;NDVIv和NDVI0分别为植被覆盖部分和非植被覆盖部分的NDVI值,上式可推导为:

                                                                

注意:在水体较多的区域为了避免水体面积过大对NDVI取值的影影响,可将水体去除(判定条件NDVI<0)。

                                          

IDL核心代码:

function cal_VegFraction,NDVI,NDVI0,NDVIv
   ;计算植被覆盖度
   ;参数NDVI为归一化植被指数,NDVI0和NDVIv分别为纯裸地和纯植被的NDVI值
   ;像元二分法
   result=(NDVI-NDVI0)/(NDVIv-NDVI0)
   ;将NDVI小于,NDVI0(即fv<0)或者水体区域(NDVI<0)的像元植被覆盖度值改为0
   w=where(NDVI le NDVI0 or NDVI le 0)
   result[w]=0
   w=where(NDVI ge NDVIv)
   result[w]=1
   return,result
end

数据来源:地理空间数据云样例数据(参考:http://www.rscloudmart.com/)

参考:1.徐永明老师的遥感二次开发语言IDL

猜你喜欢

转载自blog.csdn.net/qq_33356563/article/details/85146590