本实例实现植被覆盖度计算,利用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。