Skip to content

Instantly share code, notes, and snippets.

@soiqualang
Created August 7, 2024 08:49
Show Gist options
  • Save soiqualang/97ed2669e774b66f2b79a93f49b84307 to your computer and use it in GitHub Desktop.
Save soiqualang/97ed2669e774b66f2b79a93f49b84307 to your computer and use it in GitHub Desktop.
GEE - calc_lst_multi_years
function calc_lst(nam){
// Import city boundaries feature collection.
//var SaiGon = ee.FeatureCollection("projects/ee-nhthanh-gee/assets/Saigon");
print(ThuDuc);
Map.centerObject(ThuDuc,10);
Map.addLayer(ThuDuc);
// Terra Land Surface Temparature and Emissivity 8-Day Global 1 km
var terra = ee.ImageCollection("MODIS/061/MOD11A2"); //LST img collection
//var start = ee.Date('2011-01-01'); //date range
var dateRange = ee.DateRange(nam+'-01-01',nam+'-12-31');
var mod11a2 = terra.filterDate(dateRange); // LST image inside a date range
// Select only the 1km day LST data band.
var modLST = mod11a2.select('LST_Day_1km', 'LST_Night_1km'); // 2 bands
print(modLST);
var inCelsius = modLST.map(function(img){
return img.multiply(0.02).subtract(273.15)
.copyProperties(img, ['system:time_start']);
});
print('converted', inCelsius);
//Calculate 8-day mean temperature
var clippedDay = inCelsius.select('LST_Day_1km').mean().clip(ThuDuc);
var clippedNight = inCelsius.select('LST_Night_1km').mean().clip(ThuDuc)
// Add clipped image layer to the map.
// Average temperature in each year
var bands = ee.ImageCollection("MODIS/061/MOD11A2")
.filter(ee.Filter.or(
ee.Filter.date(nam+'-01-01',nam+'-12-31')))
// ee.Filter.date('2013-01-01','2013-12-31'),
// ee.Filter.date('2014-01-01','2014-12-31'),
// ee.Filter.date('2015-01-01','2015-12-31'),
// ee.Filter.date('2016-01-01','2016-12-31'),
// ee.Filter.date('2017-01-01','2017-12-31'),
// ee.Filter.date('2018-01-01','2018-12-31'),
// ee.Filter.date('2019-01-01','2019-12-31'),
// ee.Filter.date('2020-01-01','2020-12-31'),
// ee.Filter.date('2021-01-01','2021-12-31'),
// ee.Filter.date('2022-01-01','2022-12-30')))
.select(['LST_Day_1km','LST_Night_1km'])
.map(function(img){return img.multiply(0.02).subtract(273.15)
.copyProperties(img, ['system:time_start']);});
//----------------- Define chart and print it to the console--------------------
//------------------------Xác định min - max - mean (ngày)-----------------------------
var max = ee.Number(clippedDay.reduceRegion({
reducer: ee.Reducer.max(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(max, 'MAX OF LST (day)');
var min = ee.Number(clippedDay.reduceRegion({
reducer: ee.Reducer.min(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(min, 'MIN OF LST (day)');
var mean = ee.Number(clippedDay.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(mean, 'MEAN OF LST (day)');
//------------------------Xác định min - max - mean (đêm)-----------------------------
var max = ee.Number(clippedNight.reduceRegion({
reducer: ee.Reducer.max(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(max, 'MAX OF LST (night)');
var min = ee.Number(clippedNight.reduceRegion({
reducer: ee.Reducer.min(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(min, 'MIN OF LST (night) ');
var mean = ee.Number(clippedNight.reduceRegion({
reducer: ee.Reducer.mean(),
geometry: ThuDuc,
scale: 30,
maxPixels: 1e9
}).values().get(0));
print(mean, 'MEAN OF LST (night)');
//Xuất ảnh
Export.image.toDrive({
image: clippedDay,// ảnh cần xuất
description: 'LST_TD_Day_'+nam,// mô tả tên ảnh khi xuất
scale: 1000,
region: ThuDuc,// khu vực
fileFormat: 'GeoTIFF',// định dạng xuất ảnh
formatOptions: {
cloudOptimized: true
}
});
}
// var i=2000;
var i=2020;
for(i;i<=2022;i++){
print(i);
calc_lst(i);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment