clc
[a,R]=geotiffread('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_NDVI_doy200002_aid00011.tif');
info=geotiffinfo('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_NDVI_doy200002_aid00011.tif');
[m,n]=size(a);
qs=12; %每年一共12期数据
ndvisum=zeros(m*n,qs)+NaN;
qcsum=zeros(m*n,qs)+NaN;
k=1;
for i=1:12
if i<10
ndvi=importdata(strcat('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_NDVI_doy2000','0',int2str(i),'_aid00011.tif'));
ndvi_qc=importdata(strcat('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_VI_Quality_doy2000','0',int2str(i),'_aid00011.tif'));
else
ndvi=importdata(strcat('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_NDVI_doy2000',int2str(i),'_aid00011.tif'));
ndvi_qc=importdata(strcat('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000\MOD13A3.006__1_km_monthly_VI_Quality_doy2000',int2str(i),'_aid00011.tif'));
end
ndvi=reshape(ndvi,m*n,1);%数据重构为m*n行1列
ndvi(ndvi==-3000)=NaN;%nodata赋值为空
ndvi_qc=reshape(ndvi_qc,m*n,1);
ndvisum(:,k)=ndvi;
qcsum(:,k)=ndvi_qc;
k=k+1;
end
for j = 1:m*n
data1=ndvisum(j,:);
if min(data1)>=-2000
qc=qcsum(j,:);
data_sg=sgolayfilt(data1,3,5);
data_sg(qc==0)=data1(qc==0);%保留高质量ndvi
ndvisum(j,:)=data_sg;
end
end
for l =1:qs;
ndvi=ndvisum(:,l);
ndvi=reshape(ndvi,m,n);
ndvi(ndvi<-2000)=NaN;
filename=strcat('D:\中科院\0829ndvi滤波平滑、最大月合成、累积\2000S-G滤波\2000',int2str(l),'ndvi-sg.tif');
geotiffwrite(filename,ndvi,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag);%或者直接输出为不带坐标的tif(imwrite(yjdgmedian,filename);)
end
- 1
- 2
- 3
- 4
- 5
- 6
前往页