GEE5:kNDVI植被指数的获取

1、kNDVI植被指数的描述

kNDVI具有更好的性能,kNDVI将允许更准确地测量陆地碳源/汇的动态,以及稳定大气二氧化碳值和减缓全球气候变化的潜力。目前对该指数的使用比较少,之前主要集中在EVI的使用。
在这里插入图片描述
在这里插入图片描述

1.1 计算方法:

在这里插入图片描述

1.2 不同植被指数的对比

在这里插入图片描述

2. GEE实现kNDVI指数的获取

var ROI = table.geometry();

Map.addLayer(ROI,{},'ROI');

Map.centerObject(ROI, 5);

for(var i = 2008;i<=2010;i++){
// 月份,共计12个月
for(var j = 1;j<=12;j++){

var CHIRPS_Daily = ee.ImageCollection("MODIS/061/MOD13Q1")

.filter(ee.Filter.calendarRange(j,  j,'month'))
  .filter(ee.Filter.calendarRange(i, i, 'year'))
  .map(function(img) {
    return img.set('year', img.date().get('year'));
  }).filterBounds(ROI)
 .select('NDVI')

var CHIRPS_Year_mean = CHIRPS_Daily.mean().clip(ROI).multiply(0.0001).pow(2).tanh();

// var batch = require('users/fitoprincipe/geetools:batch')

var precipitationVis = {
  min: -0.2,
  max: 1.0,
  palette: [
    'FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01',
    '012E01', '011D01', '011301'
  ],
};

print(CHIRPS_Year_mean,i+'_year_'+j+'_CHIRPS_Year_mean')

Map.addLayer(CHIRPS_Year_mean, precipitationVis, i+'_year_'+j+'_CHIRPS_Year_mean');

// Map.addLayer(CHIRPS_Daily.first().clip(ROI), precipitationVis, 'CHIRPS_Year_mean_first');

Export.image.toDrive({
      image: CHIRPS_Year_mean,
      description: 'everymonth_kndvi_mean_'+i+'_'+j+'_1',
      // description: 'everyMonthKNDVI',
      crs: "EPSG:4326", // use webside:epsg.io to choose the right crs
      scale: 250,
      region: ROI,
      maxPixels: 1e13,
      folder: '2000-2020_EveryMonth_KNDVI'
    })
    
// batch.Download.ImageCollection.toDrive(CHIRPS_Year_mean, "2000-2020_EveryMonth_KNDVI", {
// image: CHIRPS_Year_mean,
// description: i+'_year_'+j+'_month_mean',
// region: ROI,
// scale: 1000,
// type:"int16" 
// }
// )
    
}

}

### 如何在 Google Earth Engine 中导出植被指数的时间序列数据到 CSV 文件 要在 Google Earth Engine (GEE) 中将计算得到的植被指数(如 NDVI)按时间序列保存为 CSV 文件,可以通过以下方法实现。具体来说,需要先加载影像集合并从中提取所需的数据点,再将其转换为 `FeatureCollection` 并导出为 CSV 文件。 以下是完整的代码示例以及解释: #### 加载影像集合 使用 MODIS 的 NDVI 数据集作为输入源[^2]。此数据集提供了全球范围内的 NDVI 值,适合用于长期趋势分析。 ```javascript // 定义研究区域(以一个坐标为例) var point = ee.Geometry.Point([116.39, 39.9]); // 加载MODIS NDVI数据集 var dataset = ee.ImageCollection('MODIS/061/MOD13Q1') .filterDate('2000-01-01', '2022-12-31') // 设置日期范围 .select('NDVI'); // 只选择NDVI波段 ``` #### 提取时间序列数据 为了生成时间序列数据表,需逐图像提取指定位置上的 NDVI 值,并记录对应的时间戳。 ```javascript // 创建函数:从每个影像中提取NDVI值及其时间戳 var extractTimeSeries = function(image) { var date = image.date().format('YYYY-MM-dd'); // 获取影像拍摄日期 var ndviValue = image.reduceRegion({ reducer: ee.Reducer.first(), // 使用第一个有效像素值 geometry: point, scale: 250 // MODIS分辨率 }).get('NDVI'); return ee.Feature(null, {date: date, NDVI: ndviValue}); }; // 将上述逻辑应用于整个ImageCollection var timeSeries = dataset.map(extractTimeSeries); ``` #### 转换为 FeatureCollection 和导出 最终的结果是一个 `FeatureCollection` 对象,其中每一项都包含了特定日期下的 NDVI 数值。随后可利用 GEE 的 Export 工具将其导出至用户的 Google Drive 或其他目标路径。 ```javascript // 构建FeatureCollection对象 var table = ee.FeatureCollection(timeSeries); // 导出为CSV文件 Export.table.toDrive({ collection: table, description: 'ndvi_time_series', folder: 'GEE_Results', fileNamePrefix: 'NDVI_Time_Series', fileFormat: 'CSV' }); ``` 以上过程涵盖了从数据加载、处理直至输出的核心步骤[^3]。值得注意的是,在实际应用过程中可能还需要考虑异常情况处理等问题,比如缺失值填充或者多云干扰剔除等预处理工作。 ### 注意事项 - **空间分辨率匹配**:确保所选算法中的尺度参数与底层遥感产品的原始分辨率一致,例如本例中的 MODIS 数据分辨率为 250 米。 - **时间跨度合理性**:合理设定起始结束年月日以免超出可用档案年限限制。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jackson的生态模型

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值