美文网首页matlab在生态遥感中的应用
基于matlab 的长时间栅格数据的sen趋势分析

基于matlab 的长时间栅格数据的sen趋势分析

作者: 画长空_yin | 来源:发表于2019-01-06 21:03 被阅读327次

    基于matlab 的长时间栅格数据的sen趋势分析

    sen趋势分析是进行趋势分析的方法之一,常配合MK检验来使用,在学术论文中也非常常见,本文主要介绍如果通过matlab来实现对长时间序列的栅格数据进行趋势分析,并对结果进行输出,得到sen的趋势栅格图。代码如下

    [a,R]=geotiffread('D:\qixiang\年全国8kmPET\china2015pet.tif');%先导入投影信息
    info=geotiffinfo('D:\qixiang\年全国8kmPET\china2015pet.tif');
    [m,n]=size(a);
    cd=2015-1982+1;%时间跨度,根据需要自行修改
    datasum=zeros(m*n,cd)+NaN; 
    k=1;
    for year=1982:2015 %起始年份
        filename=['D:\qixiang\年全国8kmPET\china',int2str(year),'pet.tif'];
        data=importdata(filename);
        data=reshape(data,m*n,1);
        datasum(:,k)=data;
        k=k+1;
    end
    invalid_value=datasum(1);
    result=zeros(m,n)+NaN;
    for i=1:size(datasum,1)
        data=datasum(i,:);
        if max(data)>invalid_value %判断是否是有效值
            valuesum=[];
            for k1=2:cd
                for k2=1:(k1-1)
                    cz=data(k1)-data(k2);
                    jl=k1-k2;
                    value=cz./jl;
                    valuesum=[valuesum;value];
                end
            end
            value=median(valuesum);
            result(i)=value;
        end
    end
    filename=['D:\zhang\基于sen的pet变化趋势.tif'];
    geotiffwrite(filename,result,R,'GeoKeyDirectoryTag',info.GeoTIFFTags.GeoKeyDirectoryTag)
    

    通过上述代码实现了1982-2015年中国PET数据的sen分析,关于对结果的解读请自行参考文献。

    相关文章

      网友评论

        本文标题:基于matlab 的长时间栅格数据的sen趋势分析

        本文链接:https://www.haomeiwen.com/subject/ejderqtx.html