今天来简单分享下如何在GEE中对比显示不同城市的地表温度之前分享过如何利用landsat数据去计算热度。

数据介绍:

数据源为MODIS/061/MOD11A2,数据集里面有个波段名字叫做LST_Day_1km,今天就主要利用它来进行计算。其实计算方法特别简单

GEE实现代码:

首先确定研究区和使用的数据集

我选择的研究区为北京市和武汉市

var roi1 = ee.FeatureCollection("users/lilei655123/WUhan"),
roi2 = ee.FeatureCollection("users/lilei655123/BeiJing");

直接开始计算

var modis = ee.ImageCollection("MODIS/061/MOD11A2");
var start = ee.Date('2021-01-01');
var dateRange = ee.DateRange(start, start.advance(1, 'year'));
var modis11a2 = modis.filterDate(dateRange);
var modisLSTday = modis11a2.select('LST_Day_1km');

将开尔文转换为摄氏度

var modisLSTc = modisLSTday.map(function(img) {
return img
.multiply(0.02)
.subtract(273.15)
.copyProperties(img, ['system:time_start']);
});

简单统计下2021年每个月份LST的最大值

var te1 = ui.Chart.image.series({
imageCollection: modisLSTc,
region: roi,
reducer: ee.Reducer.max(),
scale: 1000,
xProperty: 'system:time_start'})
.setOptions({
title: 'LST 2021 Time Series',
vAxis: {title: 'LST Celsius'}});
print(te1);

Google Earth Engine(GEE)对比显示不同城市的地表温度_数据分析

北京市2021年每个月份lst最大值

Google Earth Engine(GEE)对比显示不同城市的地表温度_js_02

武汉市2021年每个月份lst最大值

接下来就是分幅显示两个城市的lst分布图,其实之前写过分幅显示,只不过当时是显示是同一个地区,可以参考之前写的推文:

​Google Earth Engine(GEE)分幅显示图​

部分改写代码如下:

function controlPanel1(){
var Title = ui.Label({value: 'LST',style: {fontWeight: 'bold', fontSize: '30px'}});
var Year_selector = ui.Select({
items: [
{label: '2010', value: 2010},
{label: '2011', value: 2011},
{label: '2012', value: 2012},
{label: '2013', value: 2013},
{label: '2014', value: 2014},
{label: '2015', value: 2015},
{label: '2016', value: 2016},
{label: '2017', value: 2017},
{label: '2018', value: 2018},
{label: '2019', value: 2019},
{label: '2020', value: 2020},
{label: '2021', value: 2021},
],style:{width: '200px'}
}).setPlaceholder('Select year...');
var runButton = ui.Button({label: 'Run', style: {width: '200px'}});
runButton.onClick(function (){
var start_date = Year_selector.getValue() + '-01-01';
var end_date = Year_selector.getValue() + '-12-31';
var modis1 = ee.ImageCollection("MODIS/061/MOD11A2")
.filterBounds(roi1)
.filterDate(start_date, end_date)
.select('LST_Day_1km')
.mean();
modis1 = modis1.clip(roi1);
//刻度为开尔文并转换为摄氏度
var modLSTc1 = modis1.multiply(0.02).subtract(273.15)
var LSTParams = {min: 0, max: 40, palette: ['blue', 'limegreen', 'yellow', 'darkorange', 'red']};

结果显示:

运行结果界面如下:

Google Earth Engine(GEE)对比显示不同城市的地表温度_python_03

选择年份,点击run、

Google Earth Engine(GEE)对比显示不同城市的地表温度_深度学习_04

2020年两个城市热度均值对比

Google Earth Engine(GEE)对比显示不同城市的地表温度_python_05

2021年两个城市热度均值对比