当前位置:   article > 正文

全球GIMMS NDVI 1982-2022植被归一化指数逐年逐月批量处理_global gimms ndvi3g

global gimms ndvi3g

概要

PKU GIMMS归一化植被指数产品(PKU GIMMS NDVI,版本1.2)提供了1982年至2022年半月、1/12°时空一致的全球NDVI数据。它是为了解决当前全球长期植被存在的重大不确定性而创建的。术语 NDVI 产品,即 NOAA 卫星轨道漂移和 AVHRR 传感器退化的影响。

北京大学GIMMS NDVI是基于特定生物群落的BPNN模型生成的,该模型采用了GIMMS NDVI3g产品和360万个高质量的全球Landsat NDVI样本。然后将其与 MODIS NDVI (MOD13C1) 合并,通过像素随机森林融合方法将时间覆盖范围扩展到 2022 年。

根据 Landsat NDVI 样本评估,PKU GIMMS NDVI 总体精度较高。此外,它有效地消除了卫星轨道漂移和传感器退化的影响,并在像素值和全球植被趋势方面与MODIS NDVI呈现出良好的时间一致性。它有可能为全球变化研究提供更坚实的数据基础。

这里我们提供两个版本的PKU GIMMS NDVI供下载,一个版本仅基于AVHRR数据(1982−2015年),另一个版本与MODIS NDVI(1982−2022年)合并。我们强烈建议在产品中充分利用质量控制 (QC) 层。请参阅自述文件了解更多详细信息。我们还建议在趋势分析中按阈值(例如0.1)去除稀疏植被(Zhou et al., 2001; Liu et al., 2016)

数据介绍

原始数据按照半个月一个TIF格式储存,我们可以按照需要进行年度和月度的合成。
请添加图片描述在这里插入图片描述在这里插入图片描述

逐年合成Python代码

import numpy as np
import rasterio
import os

# 设置输入文件夹的路径
inpath = 'D:/GIMMS NDVI/'
# 设置输出文件夹的路径
outpath = 'D:/GIMMS NDVI/result/'  # 请将此处替换为你的输出文件夹路径
# 设置时间覆盖范围(按需修改时间范围,取决于输入的文件时间范围)
start_year = 2011
end_year = 2022
start_month = 1
end_month = 12

for year in range(start_year, end_year + 1):
    yearly_ndvi = []
    for month in range(start_month, end_month + 1):
        monthly_ndvi = []
        for half_month in range(1, 3):
            # 检查前缀
            prefix = 'PKU_GIMMS_NDVI_V1.2_'
            inname = inpath + prefix + str(year*10000 + month*100 + half_month) + '.tif'
            # 读取数据
            with rasterio.open(inname) as src:
                data = src.read()
                profile = src.profile
            data_ndvi = data[0, :, :]
            data_ndvi = data_ndvi.astype(float)
            data_ndvi[data_ndvi == 65535] = 0.0  # 将值为65535的数据设置为NaN
            data_ndvi = data_ndvi * 0.001
            monthly_ndvi.append(data_ndvi)
        # 计算每月的NDVI均值
        monthly_ndvi = np.nanmean(monthly_ndvi, axis=0)
        yearly_ndvi.append(monthly_ndvi)
    # 计算年度NDVI的平均值
    yearly_ndvi = np.nanmean(yearly_ndvi, axis=0)
    # 保存合成影像
    outname = outpath + 'Yearly_NDVI_' + str(year) + '.tif'
    profile.update(dtype=rasterio.float32, count=1)  # 更新波段数量为1
    with rasterio.open(outname, 'w', **profile) as dst:
        dst.write(yearly_ndvi, 1)
    print(outname + " 输出完成")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43

逐月合成Python代码

import numpy as np
import rasterio
import os

# 设置输入文件夹的路径
inpath = 'D:/GIMMS NDVI/'
# 设置输出文件夹的路径
outpath = 'D:/GIMMS NDVI/month/'  # 请将此处替换为你的输出文件夹路径
# 设置时间覆盖范围
start_year = 2011
end_year = 2022
start_month = 1
end_month = 12

for year in range(start_year, end_year + 1):
    for month in range(start_month, end_month + 1):
        monthly_ndvi = []
        for half_month in range(1, 3):
            # 检查前缀
            prefix = 'PKU_GIMMS_NDVI_V1.2_'
            inname = inpath + prefix + str(year*10000 + month*100 + half_month) + '.tif'
            # 读取数据
            with rasterio.open(inname) as src:
                data = src.read()
                profile = src.profile
            data_ndvi = data[0, :, :]
            data_ndvi = data_ndvi.astype(float)
            data_ndvi[data_ndvi == 65535] = 0.0  # 将值为65535的数据设置为NaN
            data_ndvi = data_ndvi * 0.001
            monthly_ndvi.append(data_ndvi)
        # 计算每月的NDVI均值
        monthly_ndvi = np.nanmean(monthly_ndvi, axis=0)
        # 保存合成影像
        outname = outpath + 'Monthly_NDVI_' + str(year) + '_' + str(month) + '.tif'
        profile.update(dtype=rasterio.float32, count=1)  # 更新波段数量为1
        with rasterio.open(outname, 'w', **profile) as dst:
            dst.write(monthly_ndvi, 1)
        print(outname + " 输出完成")

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39

小结

目前GIMMS NDVI是最长时间序列的植被覆盖度数据集,此文章代码目的在于通过Pyhon代码对原始数据进行二次处理,按照年度/月度合成后,方便后续的研究。

1.来源:https://daac.ornl.gov/VEGETATION/guides/Global_Veg_Greenness_GIMMS_3G.html·
2.引用格式:
[1] Pinzon, J.E., and C.J. Tucker. 2014. A non-stationary 1981–2012 AVHRR NDVI3g time series. Remote Sensing 6:6929-6960. https://doi.org/10.3390/rs6086929.
[2] Tucker, C.J., J.E. Pinzon, M.E. Brown, D.A. Slayback, E.W. Pak, R. Mahoney, E.F. Vermote, and N.E. Saleous. 2005. An extended AVHRR 8-km NDVI dataset compatible with MODIS and SPOT vegetation NDVI data. International Journal of Remote Sensing 26:4485-4498. https://doi.org/10.1080/01431160500168686.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/512064
推荐阅读
相关标签
  

闽ICP备14008679号