GEE获取逐日、逐月、逐年的地表温度数据

注:此文章仅为记录学习过程,原文链接

1.数据简介

MOD11A1 V6数据集是由Terra星搭载的中分辨率成像光谱仪获取的地表温度/发射率(LST/E)产品,以分片方式组织,时间分辨率为每天,空间分辨率为1公里,格网大小为1200 x 1200千米。温度值由MOD11_L2条带产品处理后得到。在纬度30度以上,某些像素可能在符合晴空的标准的情况下进行了多次观测,像素值为所有合格观测值的平均值。产品包含热红外波段31和32、六个观测波段、白天和夜晚地表温度波段及其相关的质量评估波段。[此数据截止到2022年末]
在这里插入图片描述

2.数据下载

2.1逐日数据获取

// 加载研究区域矢量数据,并将该区域设置为地图中心,以6的大小显示。
var geometry = ee.FeatureCollection(table);
Map.centerObject(geometry,6);
// 数据筛选
var dataset = ee.ImageCollection('MODIS/006/MOD11A1')
.filterDate('2018-01-01', '2023-12-31')
.filterBounds(geometry)
.select('LST_Day_1km');

//换算单位 
var subtract= function(image){ 
  var date = image.get('system:time_start');
  return image.multiply(0.02).subtract(273.15).set('system:time_start', date);
};

// 使用map循环对每张影像进行单位换算
dataset = dataset.map(subtract);

// 进行图表显示
print(ui.Chart.image.series(dataset, geometry, ee.Reducer.mean(), 1000));
// 显示数据集的属性信息
print(dataset)

// 定义数据导出函数
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();
      print(image)
      // 数据裁剪
      image = image.clip(geometry);
      //tif数据下载
      Export.image.toDrive({
        image: image,
        description: 'mean_LST_Day_temperature_'+indexs[i],
        fileNamePrefix: 'mean_LST_Day_temperature_'+indexs[i],
        folder: 'mean_LST_Day_temperature',
        region: geometry,
        scale: 30,
        crs: "EPSG:4326",
        maxPixels: 1e13
      });
    }
  });
}
exportImageCollection(dataset);

2.2 逐月数据下载

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'
    })
  }
}

2.3 逐年数据下载

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'
  });
}

指定天数的平均气温下载

var geometry = ee.FeatureCollection(table);
Map.centerObject(geometry,6);
var dataset = ee.ImageCollection('MODIS/006/MOD11A1')
.filterDate('2018-01-01', '2023-12-31')
.filterBounds(geometry)
.select('LST_Day_1km');

//换算单位1 
var subtract= function(image){ 
  var date = image.get('system:time_start');
  return image.multiply(0.02).subtract(273.15).set('system:time_start', date);
};
dataset = dataset.map(subtract);
print(ui.Chart.image.series(dataset, geometry, ee.Reducer.mean(), 1000));
print('dataset',dataset)
var datelist = ee.List(['20180117','20180210','20180306','20180330','20180423','20180517','20180610',
'20180704','20180728','20180821','20180914','20181008','20181101','20181125','20181219','20190112'])

// 定义一个函数,用于将日期字符串转换为日期对象
var convertToDate = function(dateStr) {
  // 将日期字符串转换为 'yyyy-MM-dd' 格式
  var year = ee.String(dateStr).slice(0, 4);
  var month = ee.String(dateStr).slice(4, 6);
  var day = ee.String(dateStr).slice(6, 8);
  var formattedDateStr = year.cat('-').cat(month).cat('-').cat(day);
  
  // 返回日期对象
  return formattedDateStr;
};

// 定义一个函数,用于计算前7天的日期并输出所需格式
var formatStartDate = function(dateStr) {
  // 将日期字符串转换为ee.Date对象
  var targetDate = ee.Date(convertToDate(dateStr));
  
  // 计算前7天的日期
  var startDate = targetDate.advance(-7, 'day');
  var endDate = targetDate.advance(7, 'day');
  // 将日期转换为字符串格式
  var targetDateString = targetDate.format('yyyy-MM-dd');
  var startDateString = startDate.format('yyyy-MM-dd');
  var endDateString = endDate.format('yyyy-MM-dd');
  
  // 返回所需格式的字符串
  return startDateString.cat(',').cat(endDateString).cat(',').cat(targetDateString);
};

// 对日期列表中的每个日期应用函数
var formattedStartDateList = datelist.map(formatStartDate);
print('formattedStartDateList', formattedStartDateList)

//将逐日数据生成7day数据
var weekly_mean =  ee.ImageCollection.fromImages(
  formattedStartDateList.map(function (y) {
    return dataset.filterDate(ee.String(y).split(",").get(0), ee.String(y).split(",").get(1))
      .mean().set('system:time_start', ee.String(y).split(",").get(2));
  }).flatten());
print('weekly_mean', weekly_mean)

var splitLine = function(line) {
  return ee.String(line).split(',').get(2);
};
// 对每一行应用分割函数
var datePairsList = formattedStartDateList.map(splitLine);
print('datePairsList', datePairsList)

function exportImageCollection(imgCol) {
  // var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");
  datePairsList.evaluate(function(indexs) {
    for (var i=0; i<indexs.length; i++) {
      var image = imgCol.filter(ee.Filter.eq("system:time_start", indexs[i])).first();
      print(image)
      image = image.clip(geometry);
      //tif数据下载
      Export.image.toDrive({
        image: image,
        description: 'mean_LST_Day_temperature_'+indexs[i],
        fileNamePrefix: 'mean_LST_Day_temperature_'+indexs[i],
        folder: 'mean_modis_temperature_ave7day',
        region: geometry,
        scale: 30,
        crs: "EPSG:4326",
        maxPixels: 1e13
      });
    }
  });
}
exportImageCollection(weekly_mean);

3.参考

【1】https://blog.csdn.net/qq_32306361/article/details/126221654

### 回答1: Active Directory域服务是一种由微软公司开发的网络服务,它提供了一种集中管理和控制网络资源的方式。它可以在一个域中集中管理用户、计算机、应用程序和其他网络资源,从而提高了网络的安全性和可管理性。Active Directory域服务还提供了一些高级功能,如单点登录、组策略管理和域名系统(DNS)集成等,使得网络管理员可以更加轻松地管理和维护网络。 ### 回答2: Active Directory域服务(Active Directory Domain Services,简称AD DS)是微软公司的一项用于管理和组织网络资源的目录服务。它是一种基于LDAP(轻量级目录访问协议)的目录服务,可以让用户和管理员方便地管理和访问网络中的资源。 AD DS的主要功能包括用户身份认证、访问控制、组管理和资源管理等。通过AD DS,管理员可以集中管理和配置用户和计算机的访问权限,确保系统安全。同时,AD DS还提供了域的集中管理功能,管理员可以通过域控制器管理域中的所有对象,并在域中实施策略。 AD DS还支持单点登录功能,用户只需在登录到域之后,即可自动访问到所属域中的资源,而无需再次输入用户名和密码。这大大提高了用户的工作效率。 此外,AD DS还支持多域架构,可以通过建立信任关系实现跨域资源的访问和管理。管理员可以维护多个域之间的信任关系,实现用户和资源的统一管理。 总而言之,AD DS是一种强大的目录服务,可以实现用户和资源的集中管理和访问控制,提高网络系统的稳定性和安全性。它是企业网络管理的重要组成部分,为企业提供了高效的身份认证和资源管理功能,增强了企业的生产力和安全性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值