基于MODIS的锡林郭勒植被变化监测(附练习数据下载)

基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
1.实验目的和内容

1.1 实验目的
基于MODIS植被指数产品对锡林郭勒盟2000-2012年植被覆盖度的时空变化进行监测。掌握MODIS数据预处理、批处理、基于像元二分法的植被覆盖度计算以及一元线性回归分析等内容。

1.2实验数据

  1. 锡林郭勒盟边界矢量数据
  2. 2000-2012年锡林郭勒盟每年8月MODIS NDVI数据

文末有练习数据下载

1.3实验内容
1.数据预处理

2.植被覆盖度计算

3.植被时间变化分析

4.植被空间变化分析

2.实验内容

2.1数据预处理

2.1.1裁剪掩膜处理

由于MODIS数据处理需要用到MRT插件,但是我使用arcmap加载锡林郭勒矢量数据使得数据框具有正确的坐标系后导入所有年份的MODIS数据,由于年份较多,重复操作较为麻烦,而且在Arcmap里面提供了一个批处理的方法那就是使用模型构建器,为此我构建了一个可以同时完成镶嵌至新栅格并且按掩膜提取的模型,运算该模型后得到正确坐标系下的锡林郭勒modis数据(数据格式为*.tif)。在ENVI打开如下图所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 1:掩膜后的NDVI

2.1.2计算真值

利用ENVI保存数据格式为“ENVI Standard”工具将这13年的NDVI合并成一个ENVI格式文件,并使用波段运算公式“b1/10000.0”,其中b1和刚才新建的ENVI格式文件关联起来,最后得到NDVI真值。

2.2植物覆盖度计算

2.2.1创建非水体掩膜数据

创建各年份的非水体掩膜数据,保留NDVI值大于等于0的像元值,如下图所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 2:过程文件

基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 3:非水体掩膜数据

由于算法不一样,计算结果和书本略有区别。

2.2.2统计直方图

计算各年份的NDVI数据统计直方图,掩膜数据为上文结果,读取出各年份累积频率为5%和95%的NDVI值分别作为裸植被像元NDVIV和纯植被像元NDVI0,各年份的纯植被像元和裸植被像元统计图如下表所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
表 1:裸/纯植被像元统计表

2.2.3得到植被覆盖度数据

最后使用波段运算公式“((b1-NDVIv)/(NDVI0-NDVIv)>0)<1”得到各个年份的植被覆盖度数据,结果如下图所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 4:波段运算过程图 图 5:运算结果数据

2.3植物时间变化分析

2.3.1创建锡林郭勒盟掩膜数据

根据锡林郭勒盟边界矢量文件创建锡林郭勒盟掩膜,如下图所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 6:锡林郭勒盟掩膜数据

2.3.2植被时间变化序列

计算各年份的植被覆盖度年际变化统计结果:
基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
表 2:植被覆盖度年际变化统计

导出为ASCII码文件后在Excel中打开,得到植被覆盖度的时间变化序列:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
表 3:植被覆盖度年际变化统计表

2.4植被空间变化分析

2.4.1编写IDL程序

编写IDL程序逐个像元计算植被覆盖度多年平均值、年际变化率以及置信水平。代码如下:

Pro VegF_Spatio_variations

fn =dialog_pickfile(title=‘选择植被覆盖度文件’,get_path=work_dir)

cd,work_dir

envi_open_file,fn,r_fid=fid

envi_file_query,fid,ns=ns,nl=nl,nb=nb,dims=dims,$

data_type=data_type,bnames=bnames

map_info=envi_get_map_info(fid=fid)

result =fltarr(ns,nl,4)

x=indgen(nb)

for il=0,nl-1 do begin

data_line=envi_get_slice(fid=fid,line=il)

for is=0,ns-1 do begin

  data_pixel=transpose(data_line[is,*])

  result[is,il,0]=mean(data_pixel)

  result[is,il,1]=stddev(data_pixel)/mean(data_pixel)

  a=regress(x,data_pixel,ftest=ftest)

  result[is,il,2]=a[0]

  result[is,il,3]=f_pdf(ftest,1,nb-1-1)

endfor

endfor

bnames=[‘Average’,‘CV’,‘Gradient’,‘confidence’]

o_fn=dialog_pickfile(title=‘结果保存为’)

envi_write_envi_file,result,out_name=o_fn,_copy,$

ns=ns,nl=nl,nb=4,data_type=4,interleave=0,$

offset=offset,map_info=map_info,bnames=bnames

End

2.4.2制作空间分布图

对得到的4个不同数据进行密度分割后分别添加指北针、图例以及比例尺进行制图输出,得到锡林郭勒盟平均植被覆盖度、变异系数、植被覆盖度年纪变化率和置信水平空间分布图。如下图所示:基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 7:2000-2012年锡林郭勒盟平均植被覆盖度

基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 8:2000-2012年锡林郭勒盟平均植被变异系数基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 9:2000-2012年锡林郭勒盟植被年际变化率基于MODIS的锡林郭勒植被变化监测(附练习数据下载)
图 10:2000-2012年锡林郭勒盟平均植被覆盖置信水平

基于MODIS的锡林郭勒植被变化监测(附练习数据下载)

上一篇:谷歌插件IDM下载MODIS数据


下一篇:C++之寻找素数(素数筛)