注:此文章仅为记录学习过程,原文链接
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