美文网首页matlab在生态遥感中的应用遥感
基于matlab的多期栅格数据重心转移分析

基于matlab的多期栅格数据重心转移分析

作者: 画长空_yin | 来源:发表于2020-05-11 23:44 被阅读0次

    在生态分析中,重心转移是常见的一种分析方法,它表明了区域某个要素集中分布的变化,本文提供一套实现多期栅格数据重心转移的分析方法。

    经纬度的构建

    (1)首先在我们在arcgis中加载我们的图像,并在符号系统中显示出来Nodata值,如下图所示


    微信截图_20200511233000.png

    (2)进入到目录Catalog中创建一个点图层,并将地理投影设置成WGS1984即可
    (3)然后对点图层进行编辑,随意在图上打点,注意点要覆盖到整个图像,同时四周也都要有点,保证图像范围之外的四周都有点的存在,如下


    微信截图_20200511233616.png
    (4)停止编辑,在点图层中增加经纬度表头,浮点型,计算出经纬度的值
    (5)利用自然邻近法插值经度和纬度值,插值时设置投影,范围和栅格分析与图像保持一致。

    代码实现

    在做好必备的经纬度后,我们可以利用matlab来对多期的栅格数据的重心进行快速而简单的计算。具体代码如下:

    @ author yinlichang3064@163.com
    lon=importdata('D:\sjy\lon.tif');
    lat=importdata('D:\sjy\lat.tif');
    vsum=[];
    for year=2000:2015
        filename=['D:\sjy\GLASS-LAI_modis_1km_tif_mean_clip\GLASS_LAI',int2str(year),'.tif'];
        data=importdata(filename);
        sy=find(data>0); % 注意下有效值范围
        value=[data(sy),lon(sy),lat(sy)];
        x1=sum(value(:,1).*value(:,2))./sum(value(:,1));% 经度
        x2=sum(value(:,1).*value(:,3))./sum(value(:,1));% 纬度度
        v=[year,x1,x2];
        vsum=[vsum;v];
    end
    csvwrite('D:\sjy\重心.csv',vsum)
    %绘制图
    plot(vsum(:,2),vsum(:,3))
    

    如有更多需求可查看个人介绍。

    相关文章

      网友评论

        本文标题:基于matlab的多期栅格数据重心转移分析

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