Google Earth Engine(GEE)合成长时序的月NDVI与LST

这篇具有很好参考价值的文章主要介绍了Google Earth Engine(GEE)合成长时序的月NDVI与LST。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天来简单分享下如何在GEE合成长时序的月NDVI与LST,并进行分析

目标:

利用MODIS为数据源,在GEE计算某一地区对月NDVI与LST,并制作统计图

以武汉市为研究区

GEE实现代码:

首先确定研究区和使用的数据集

var roi = ee.FeatureCollection("users/lilei655123/WUhan");
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")
//添加MODIS植被指数16天全球250米 
var Coll_NDVI = ee.ImageCollection("MODIS/006/MOD13Q1")
//MODIS/006/MOD13A1
var Coll_LST = ee.ImageCollection("MODIS/006/MOD11A2")
//MODIS/006/MOD11A1

确定起止时间和月份

var startYear = 2010;
var endYear = 2020;
var startDate = ee.Date.fromYMD(startYear, 1, 1);
var endDate = ee.Date.fromYMD(endYear, 12, 31);

合成NDVI和LST

Coll_NDVI = Coll_NDVI.filterDate(startDate, endDate).select("NDVI");
Coll_NDVI = ee.ImageCollection(ee.Algorithms.If(Coll_NDVI.size().eq(0),
      ee.ImageCollection(ee.Image(0).selfMask().rename('NDVI')),
      Coll_NDVI
    ));
Coll_LST = Coll_LST.filterDate(startDate, endDate).select("LST_Day_1km");
Coll_LST = ee.ImageCollection(ee.Algorithms.If(Coll_LST.size().eq(0),
      ee.ImageCollection(ee.Image(0).selfMask().rename('LST_Day_1km')),
      Coll_LST
    ));
// MOD12Q1数据的NDVI比例为0.0001 [ 最小值=-2000,最大值=10000]
var Coll_NDVI = Coll_NDVI.map(function(img) {
  return img
    .divide(10000).float().set("system:time_start", img.get("system:time_start")); // keep time info
    });


var Coll_LST = Coll_LST.map(function(img) {
  return img
    .multiply(0.02).subtract(273.15).float().set("system:time_start", img.get("system:time_start")); // keep time info
});


print(Coll_NDVI);
print(Coll_LST);

合成月NDVI

var monthlyNDVI =  ee.ImageCollection.fromImages(
  years.map(function (y) { 
    return months.map(function(m) {
      var monthly = Coll_NDVI
        .filter(ee.Filter.calendarRange(y, y, "year"))
        .filter(ee.Filter.calendarRange(m, m, "month"))
        .mean(); 
      return monthly
        .set("year", y) 
        .set("month", m)
        .set('date', ee.Date.fromYMD(y,m,1))
        .set("system:time_start", ee.Date.fromYMD(y, m, 1));}); })
  .flatten());
print('monthlyNDVI',monthlyNDVI)
//最大合成NDVI
var MonthlyMAX =  ee.ImageCollection.fromImages(months
  .map(function (m) {
    var maxNDVI = monthlyNDVI.filter(ee.Filter.eq("month", m))
      .reduce(ee.Reducer.percentile({percentiles: [90]}));
  return maxNDVI
    .set("month", m);})
  .flatten());
//print (MonthlyMAX, 'MonthlyMAX');
Map.addLayer (MonthlyMAX.first().clip(roi),  {min:0, max:1,  'palette': ['red','yellow', 'green']}, 'MonthlyMAX');


var MonthlyMIN =  ee.ImageCollection.fromImages(months
  .map(function (m) {
    var minNDVI = monthlyNDVI.filter(ee.Filter.eq("month", m))
      .reduce(ee.Reducer.percentile({percentiles: [10]}));
  return minNDVI
    .set("month", m);})
  .flatten()); 
//print (MonthlyMIN, 'MonthlyMIN');
Map.addLayer (MonthlyMIN.first().clip(roi),  {min:0, max:1,  'palette': ['red','yellow', 'green']}, 'MonthlyMIN');

同样的方法合成月LST

var monthlyLST =  ee.ImageCollection.fromImages(
  years.map(function (y) { 
    return months.map(function(m) {
      var monthly = Coll_LST
        .filter(ee.Filter.calendarRange(y, y, "year"))
        .filter(ee.Filter.calendarRange(m, m, "month"))
        .mean(); 
      return monthly
        .set("year", y) 
        .set("month", m)
        .set('date', ee.Date.fromYMD(y,m,1))
        .set("system:time_start", ee.Date.fromYMD(y, m, 1));}); })
  .flatten());
print('monthlyLST',monthlyLST)




//最大合成LST 
var Monthly_LST_MAX =  ee.ImageCollection.fromImages(months
  .map(function (m) {
    var maxNDVI = monthlyLST.filter(ee.Filter.eq("month", m))
      .reduce(ee.Reducer.percentile({percentiles: [90]}));
  return maxNDVI
    .set("month", m);})
  .flatten());
  
//print (Monthly_LST_MAX, 'Monthly_LST_MAX');
Map.addLayer (Monthly_LST_MAX.first().clip(roi),  {min:15, max:35,  'palette': ['red','yellow', 'green']}, 'Monthly_LST_MAX');


var Monthly_LST_MIN =  ee.ImageCollection.fromImages(months
  .map(function (m) {
    var minNDVI = monthlyNDVI.filter(ee.Filter.eq("month", m))
      .reduce(ee.Reducer.percentile({percentiles: [10]}));
  return minNDVI
    .set("month", m);})
  .flatten());
  
//print (Monthly_LST_MIN, 'Monthly_LST_MIN');
Map.addLayer (Monthly_LST_MIN.first().clip(roi),  {min:0, max:1,  'palette': ['red','yellow', 'green']}, 'Monthly_LST_MIN');

创建统计图

var ndviTimeSeries = ui.Chart.image.seriesByRegion(
    monthlyNDVI, roi, ee.Reducer.mean(), 'NDVI', 500, 'system:time_start', 'label')
        .setChartType('ScatterChart')
        .setOptions({trendlines: {0: {color: 'green'}},lineWidth: 1,pointSize: 3,
          title: 'MODIS NDVI Time Series',
          vAxis: {title: 'NDVI'},
                   series: {
            0: {color: 'green'}, 
           
}});
print(ndviTimeSeries);
print(ui.Chart.image.series(monthlyNDVI , roi , ee.Reducer.mean(), 500));

运行结果如下:

Google Earth Engine(GEE)合成长时序的月NDVI与LST,GEE,大数据,数据分析,深度学习,人工智能,GEE

LST

Google Earth Engine(GEE)合成长时序的月NDVI与LST,GEE,大数据,数据分析,深度学习,人工智能,GEE

Google Earth Engine(GEE)合成长时序的月NDVI与LST,GEE,大数据,数据分析,深度学习,人工智能,GEE

NDVI的带状平均值

Google Earth Engine(GEE)合成长时序的月NDVI与LST,GEE,大数据,数据分析,深度学习,人工智能,GEE

Google Earth Engine(GEE)合成长时序的月NDVI与LST,GEE,大数据,数据分析,深度学习,人工智能,GEE

LST的带状平均值

完整代码请在公众号后台回复“0803合成月NDVI和LST”

感谢关注,欢迎转发!

声明:仅供学习使用!

希望关注的朋友们转发,如果对你有帮助的话记得给小编点个赞或者在看

## ****更多内容请关注微信公众号“生态遥感监测笔记”**文章来源地址https://www.toymoban.com/news/detail-614003.html

到了这里,关于Google Earth Engine(GEE)合成长时序的月NDVI与LST的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Google Earth Engine(GEE)扩展——制作的GEE app的误区

    地球引擎有一个用户界面API,允许用户直接从JavaScript代码编辑器中构建和发布交互式Web应用。许多读者会在其他章节中遇到对ui.Chart的调用,但还有更多的界面功能可用。特别是,用户可以利用ui函数来为他们的地球引擎脚本构建整个图形用户界面(GUI)。GUI可以包括简单的

    2023年04月12日
    浏览(36)
  • Google Earth Engine(GEE)——可视化动态图

    代码: 这里每一次最终的影像结果:  本文所需用到的函数: getVideoThumbURL(params, callback) 为这个ImageCollection获取一个动画缩略图的URL。 返回一个缩略图的URL,如果指定了回调,则未定义。 参数。 this:imagecollection(ImageCollection)。 ImageCollection实例。 params (对象): 与ee.data.get

    2024年02月16日
    浏览(36)
  • Google Earth Engine(GEE)——LandScan人口数据集

    LandScan人口数据 LandScan计划于1997年在橡树岭国家实验室(ORNL)启动,以满足为后果评估改进人口估计的需要。例如,全球范围内的自然和人为灾害使大量的人口处于危险之中,而且往往没有什么预先警告。开发高分辨的估计值是至关重要的,这样他们就可以对多个地理范围内

    2024年02月12日
    浏览(40)
  • Google Earth Engine(GEE)——python导出 GeoTIFF 文件

    处理地球引擎数据集后,您可能需要将结果导出 ee.Image 到 GeoTIFF。例如,将其用作 Earth Engine 外部数值模型的输入,或将其与您喜欢的 GIS 中的个人地理参考文件重叠。有多种方法可以做到这一点(请参阅开发人员指南的导出部分)。在这里,我们探索两种选择: ee.Image 在

    2023年04月13日
    浏览(68)
  • Google Earth Engine(GEE)——快速建立一个10km的格网

    本文的主要目的是如何快速实现区域的一个网格的建立,主要过程是获取影像的经纬度,然后分别获取经纬度乘以一个数然后转化为整型,并将长宽相乘转化为一个矢量,然后对每一个歌王进行边界的坐标的获取与,最后返回一个多边形geometry,最后还要建立一个可以画图的

    2024年02月05日
    浏览(45)
  • Google Earth Engine(GEE)下载全球土壤砂粒(Sand)含量数据

    SoilGrids,是一个全球土壤属性地图,现在可以通过GEE下载。 SoilGrids是ISRIC–世界土壤信息的一个项目,旨在提供一个全球一致的、由数据驱动的系统,以预测土壤性质,并将其作为一项重要指标。该项目旨在提供一个全球一致的、由数据驱动的系统,使用全球协变量和全球拟

    2024年02月08日
    浏览(59)
  • GEE(Google earth engine)中的Landsat影像的选择和去云(附代码)

            在这里可以看到GEE提供的全部Landsat数据:Landsat Collections in Earth Engine  |  Earth Engine Data Catalog  |  Google Developers               随便点进去,比如Landsat8,有三个数据,一个是地表面反射率数据,一个是大气层顶部的反射率数据,一个是raw。大气层顶部的反射数据

    2024年02月03日
    浏览(49)
  • Google Earth Engine(GEE) ——AI绘图工具Midjourney能替代传统设计师吗?

    近期智能AI话题爆火,前有ChatGpt,现又出现了一个AI绘图工具Midjourney,号称没有美术基础的人也能快速上手制作出漂亮的图像。也有不少声音表示设计师都要失业了。AI绘图工具能取代设计师吗?你可以参考以下角度来谈谈你的看法。 前言 – 床长人工智能教程 1,你目前从事

    2024年02月09日
    浏览(44)
  • Google Earth Engine(GEE)——function中函数注意事项(内部变量不可在函数外调用)

    function函数是JavaScript的基本构件之一。JavaScript中的函数类似于过程--一组执行任务或计算数值的语句,但要使一个过程有资格成为一个函数,它应该接受一些输入并返回一个输出,在输入和输出之间有一些明显的关系。要使用一个函数,你必须在你想调用它的范围内定义它。

    2024年02月13日
    浏览(62)
  • Google Earth Engine(GEE)——土地分类精度分析randomColumn产生伪随机数然后进行混淆矩阵计算

    我们在进行土地分类时,需要进行精度验证,但是之前我们要进行样本点的随机分类,也就是分出一部分作为训练样本另外一部分作为,这是我们要想产生随机种子赋值给我们所选定的训练样本,这样我们就可以随机将样本进行分成训练样本和验证样本,而我们使用的函数

    2024年02月09日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包