GEE1:由GEE生成逐月MODIS的NDVI影像

MODIS NDVI

1. 数据

使用GEE生成逐月的MODIS(MOD13Q1)的NDVI影像数据

数据介绍:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.GEE code

//MODIS13Q1产品下的NDVI和EVI产品,16天/幅,分辨率为250米
function ModisNDVI(roi, startTime, endTime) {
    startTime = ee.Date(startTime).millis();
    endTime = ee.Date(endTime).millis();

    var Modis_250 = ee.ImageCollection('MODIS/061/MOD13Q1')
        .filterDate(startTime, endTime)
        .select("NDVI")
        // .select('EVI')
        .filterBounds(roi)
        .map(function (image) {
            return image.clip(roi)
        })
    return Modis_250
}

//MOD15A2H产品下的LAI产品,8天/幅,分辨率为500米
function ModisLAI(roi, startTime, endTime) {
    startTime = ee.Date(startTime).millis();
    endTime = ee.Date(endTime).millis();

    var dataset = ee.ImageCollection('MODIS/061/MOD15A2H')
        .filter(ee.Filter.date(startTime, endTime))
        .filterBounds(roi)
        .select('Lai_500m')
        .map(function (image) {
            return image.clip(roi)
        });
    return dataset
}
//MOD17A3HGF产品下的NPP产品,1年/幅,分辨率为500米
function ModisNpp(roi, startTime, endTime) {
    startTime = ee.Date(startTime).millis();
    endTime = ee.Date(endTime).millis();

    var dataset = ee.ImageCollection("MODIS/006/MOD17A3HGF")
        .filter(ee.Filter.date(startTime, endTime))
        .filterBounds(roi)
        .select('Npp')
        .map(function (image) {
            return image.clip(roi)
        });
    return dataset
}
//MOD16A2产品下的ET产品,8天/幅,分辨率为500米
function ModisET(roi, startTime, endTime) {
    startTime = ee.Date(startTime).millis();
    endTime = ee.Date(endTime).millis();

    var dataset = ee.ImageCollection("MODIS/006/MOD16A2")
        .filter(ee.Filter.date(startTime, endTime))
        .filterBounds(roi)
        .select('ET')
        .map(function (image) {
            return image.clip(roi)
        });
    return dataset
}


//----------------------数据批量输出函数-----------------------//  
function exportImageCollection(imgCol, scale, roi, taskName, fileName) {
    var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");
    indexList.evaluate(function (indexs) {

        for (var i = 0; i < indexs.length; i++) {
            var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();
            image = image.toInt16(); //
            Export.image.toDrive({
                image: image,
                description: taskName + "_" + indexs[i],
                fileNamePrefix: fileName + "_" + indexs[i],
                region: roi,
                scale: scale,
                crs: "EPSG:4326",
                maxPixels: 1e13
            });
        }
    });

}


// 批量显示图像(单波段)
function BatchMap(IC, visParam, listLimt, preName) {
    function getICByIndex(IC, index) {
        return ee.Image(IC.toList(1, index).get(0));
    }
    for (var i = 0; i < IC.toList(listLimt).length().getInfo(); i++) {
        var image = getICByIndex(IC, ee.Number(i));
        //以时间戳为图层名  
        var imageDate = getICByIndex(IC, i).get("system:index").getInfo();
        Map.addLayer(image,
            visParam,
            preName + "_" + imageDate, false);
    }
}


//主函数
function main() {
     //放入你的研究区范围
    var ROI = roi;
    //显示ROI轮廓
    Map.centerObject(ROI, 5.3);
    var empty = ee.Image().clip(ROI.geometry().bounds()).byte();
    var shp = empty.paint({ featureCollection: ROI, width: 4 });
    Map.addLayer(shp, { palette: '#000000' }, 'Frost_region');
    
    //查询 NDVI(EVI)数据
    var Modis_NDVI = ModisNDVI(ROI, "2007-09-01", "2008-03-01");
    //显示 NDVI(EVI)数据
    var visParam_NDVI = { min: 0, max: 8000 };
    BatchMap(Modis_NDVI, visParam_NDVI, 50, "Modis_NDVI");
    print(Modis_NDVI, "Modis_VI_collection");
    
    //查询 LAI数据
    var Modis_LAI = ModisLAI(ROI, "2007-09-01", "2008-03-01");
    //显示 LAI数据
    var visParam_LAI = { min: 0, max: 70 };
    BatchMap(Modis_LAI, visParam_LAI, 50, "Modis_LAI");
    print(Modis_LAI, "Modis_VI_collection");

    //查询 NPP数据 
    // var Modis_NPP = ModisNpp(ROI, "2009-09-01", "2008-03-01");
    // //显示 NPP数据
    // var visParam_NPP = { min: 0, max: 10000 };
    // BatchMap(Modis_NPP, visParam_NPP, 100, "Modis_NPP");
    // print(Modis_NPP, "Modis_NPP_collection");
    
    //查询 ET数据 
    // var Modis_ET = ModisET(ROI, "2020-01-01", "2020-03-01");
    //显示 ET数据
    
    // BatchMap(Modis_ET, visParam_ET, 100, "Modis_ET");
    // print(Modis_ET, "Modis_NPP_collection");

    //数据导出
    exportImageCollection(Modis_NDVI, 250, ROI, "MODIS_NDVI", "MODIS_NDVI");
    exportImageCollection(Modis_LAI, 500, ROI, "MODIS_LAI", "MODIS_LAI");
    // exportImageCollection(Modis_NPP, 500, ROI, "MODIS_NPP", "MODIS_NPP");
    // exportImageCollection(Modis_ET, 500, ROI, "MODIS_ET", "MODIS_ET");
}
main();

结果展示:

图一:
在这里插入图片描述
图二:

在这里插入图片描述
图三:

在这里插入图片描述

  • 7
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Jackson的生态模型

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

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

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

打赏作者

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

抵扣说明:

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

余额充值