GEE开发之Modis_LST地表温度数据分析


前言:这次主要介绍MODIS/006/MOD11A1下的地表温度的数据分析。


1 MODIS/006/MOD11A1介绍

MOD11A1 V6产品提供1200 x 1200公里网格中的每日地表温度(LST)和发射率值。温度值由MOD11_ L2线束乘积导出。在30度纬度以上,某些像素可能具有多个观测值,满足晴空标准。发生这种情况时,像素值是所有合格观测值的平均值。与白天和夜间地表温度带及其质量指示层一起提供的是MODIS波段31和32以及六个观测层。
分辨率:1000m
波段:白天和夜晚的LST都有。
注意:需要什么指数直接select选择就行,本博文以"LST"为例子

var geometry = ee.FeatureCollection('users/www1573979951/luyixian')
Map.centerObject(geometry,7)
var modis = ee.ImageCollection('MODIS/006/MOD11A1');
var modisLST = modis.filterBounds(geometry).filterDate('2021-01-01', '2021-12-31');
print(modisLST)

在这里插入图片描述

2 遥感影像获取(以LST为例子)

代码如下(以鹿邑县为例):

var geometry = ee.FeatureCollection('users/www1573979951/luyixian')
Map.centerObject(geometry,7)
 
// Get  temperature data for 1 year.
var modis = ee.ImageCollection('MODIS/006/MOD11A1');
var modisLST = modis.filterBounds(geometry).filterDate('2021-01-01', '2021-12-31').select('LST_Day_1km');

// Convert temperature to Celsius.
modisLST = modisLST.map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
});
print(modisLST)
Map.addLayer(modisLST.mean().clip(geometry), {min: 10, max: 30, palette: ['green','yellow', 'red']},'LST');//年均值

遥感图像截图
在这里插入图片描述
影像数据截图(364个)
在这里插入图片描述

3 日遥感数据获取(以LST为例子)

3.1 日数据折线图展现如下(以鹿邑县为例)

var geometry = ee.FeatureCollection('users/www1573979951/luyixian')

// Get  temperature data for 1 year.
var modis = ee.ImageCollection('MODIS/006/MOD11A1');
var modisLST = modis.filterBounds(geometry).filterDate('2021-01-01', '2021-12-31').select('LST_Day_1km');

// Convert temperature to Celsius.
modisLST = modisLST.map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
});

print(modisLST)
print(ui.Chart.image.series(modisLST, geometry, ee.Reducer.mean(), 1000));//打印成折线图

在这里插入图片描述
CSV数据截图:
在这里插入图片描述

3.2 日数据tif批量下载(以鹿邑县为例)

var geometry = ee.FeatureCollection('users/www1573979951/luyixian')
Map.centerObject(geometry,7)

var modis = ee.ImageCollection('MODIS/006/MOD11A1');
var modisLST = modis.filterBounds(geometry).filterDate('2021-01-01', '2021-02-01').select('LST_Day_1km');

modisLST = modisLST.map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
});
print(modisLST)

function exportImageCollection(imgCol) {
  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.clip(geometry);
      //查看具体的遥感影像
      Map.addLayer(image, {min: 10, max: 30, palette: ['green','yellow', 'red']},'LST'+i);
      //tif数据下载
      Export.image.toDrive({
        image: image,
        description: 'modis_lst_'+indexs[i],
        fileNamePrefix: 'modis_lst_'+indexs[i],
        folder: 'Modis',
        region: geometry,
        scale: 1000,
        crs: "EPSG:4326",
        maxPixels: 1e13
      });
    }
  });
}
exportImageCollection(modisLST);

在这里插入图片描述

4 月遥感数据获取(以LST为例)

4.1 月数据折线图展现如下(以鹿邑县为例)

var geometry = ee.FeatureCollection('users/www1573979951/luyixian')

// Get  temperature data for 1 year.
var modis = ee.ImageCollection('MODIS/006/MOD11A1');
var modisLST = modis.filterBounds(geometry).filterDate('2021-01-01', '2021-12-31').select('LST_Day_1km');

// Convert temperature to Celsius.
modisLST = modisLST.map(function(img){
  var date = img.get('system:time_start');
  return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
});


var MODISproj = ee.Image(modisLST.first()).projection();
var monthList = ee.List.sequence({start:1,end:12,step:1});
 
//** Function that takes the images for a specified month, calculates the
//   mean over that month, then over a geometry, and returns a value
//   alongside the first date as that month as a time stamp property
var createMonthTS = function(month){
  //--- Define start and end of current month search window (end is exclusive)
  var start = ee.Date.fromYMD(2021, month, 1);
  var end = start.advance(1, 'month');
  //--- Filter by start and end dates
  var monthColl = modisLST.filterDate(start, end);
  //--- First reduce collection with mean reducer, then extract value from geometry
  var monthMean = monthColl.mean();
  var meanVal = monthMean.reduceRegion({
    reducer: ee.Reducer.mean(),
    geometry: geometry,
    crs: MODISproj});
 
  //--- Create feature with desired data/properties and empty geometry
  var ft = ee.Feature(null, {
    'system:time_start': ee.Image(monthColl.first()).get('system:time_start'),
    'date': start.format('Y/M/d'),
    'value': meanVal.get('LST_Day_1km')
  });
  return ft;
};
 
//** Map funciton over month list; recast as feature colleciton
var monthTS = ee.FeatureCollection(monthList.map(createMonthTS));
print('monthTS:', monthTS);
 
//** Create new graph for monthly temperatures
var monthGraph = ui.Chart.feature.byFeature({
  features:monthTS,
  xProperty:'system:time_start',
  yProperties: 'value'});
 
//** Print graph to console
print(monthGraph.setChartType("ColumnChart").setOptions({vAxis: {title: 'LST [deg. C]'},hAxis: {title: 'Date'}}));

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

4.2 月数据tif批量下载(以鹿邑县为例)

var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,6);
var modisLST =ee.ImageCollection("MODIS/006/MOD11A1");
for(var i=2018;i<=2020;i++){
  for(var j=1;j<=12;j++){
    var data_collection = null;
    switch(j){
      case 1:
      case 3:
      case 5:
      case 7:
      case 8:
      case 10:
      case 12:
        data_collection = modisLST.filterDate(i+'-'+j+'-01',i+'-'+j+'-31').select('LST_Day_1km');
        break;
      case 4:
      case 6:
      case 9:
      case 11:
        data_collection = modisLST.filterDate(i+'-'+j+'-01',i+'-'+j+'-30').select('LST_Day_1km');
        break;
      case 2:
        data_collection = modisLST.filterDate(i+'-'+j+'-01',i+'-'+j+'-28').select('LST_Day_1km');
        break;
    }
    data_collection = data_collection.map(function(img){
      var date = img.get('system:time_start');
      return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
    });
    var YR_collection = data_collection.mean().clip(geometry);
    Export.image.toDrive({
      image: YR_collection,
      description: i+'-'+j,
      fileNamePrefix: i+'-'+j,
      scale: 1000,
      region: geometry,
      maxPixels: 1e13,
      folder: 'Modis'
    })
  }
}

在这里插入图片描述

5 年遥感数据下载(以LST为例)

var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,6);
var modisLST =ee.ImageCollection("MODIS/006/MOD11A1");
for(var i=2018;i<=2020;i++){
  var data_collection = modisLST.filterDate(i+'-01-01',i+'-12-31').select('LST_Day_1km');
  data_collection = data_collection.map(function(img){
      var date = img.get('system:time_start');
      return img.multiply(0.02).subtract(273.15).set('system:time_start', date);
  });
  var YR_collection = data_collection.mean().clip(geometry);
  Export.image.toDrive({
    image: YR_collection,
    description: i,
    fileNamePrefix: i,
    scale: 1000,
    region: geometry,
    maxPixels: 1e13,
    folder: 'Modis'
  });
}

在这里插入图片描述

  • 17
    点赞
  • 152
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 23
    评论
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

等待着冬天的风

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

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

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

打赏作者

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

抵扣说明:

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

余额充值