Created
August 7, 2024 08:49
-
-
Save soiqualang/97ed2669e774b66f2b79a93f49b84307 to your computer and use it in GitHub Desktop.
GEE - calc_lst_multi_years
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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