首页 > web前端 > js教程 > 地表温度趋势:艾哈迈达巴德与德里 ()

地表温度趋势:艾哈迈达巴德与德里 ()

Linda Hamilton
发布: 2024-12-31 12:57:20
原创
130 人浏览过

我在印度长大,14 岁左右搬到美国。搬家后,我们有近 6-7 年没有去印度了。最近,我的家人决定在夏天(2023 年 5 月至 7 月)期间回去。当我们到达时,一件事立即引起了我的注意:感觉比我记忆中要热得多。当我环顾四周时,我意识到了原因——我从小到大看到的大部分绿色植物都消失了,取而代之的是高耸的建筑和庞大的公寓大楼。这清楚地提醒我景观发生了多大的变化,并让我思考快速城市化对环境和气候的影响。

让我们开始了解细节吧!

在我最近访问印度期间,我决定通过分析艾哈迈达巴德和德里这两个我最喜欢的城市的地表温度 (LST) 来探索城市热岛 (UHI) 效应。以下是这些城市的快照:

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

我为此分析选择的时间表是:

2013年:我的起点,十年学习期。
2016 年:我离开印度前往美国的那一年。
2023 年:我最近一次访问激发了这个项目的灵感。

对于这项研究,我依赖于两个主要数据源:
  • 来自 Google Earth Engine 的卫星数据,用于检索云和温度数据。
  • 来自机场气象数据库的天气记录,用于交叉验证。

第 1 部分:数据收集和准备:

在这个项目中,我使用不同来源的数据来研究艾哈迈达巴德和德里的城市热岛 (UHI) 效应。我的主要关注点是使用 Google Earth Engine 收集的地表温度 (LST) 和云数据,以及机场的天气记录。

使用 Google 地球引擎

我从WeatherSpark收集了温度数据,WeatherSpark是一个提供详细历史天气记录的平台。我使用艾哈迈达巴德和德里的特定数据,重点关注 2013 年至 2023 年的 5 月,因为 5 月通常是这两个城市一年中最热的月份。这使我能够分析过去十年夏季高峰期间气温的变化。

  • 天气火花网站
德里 五月气温: 2013, 2016, 2023

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

艾哈迈达巴德 五月温度: 2013, 2016, 2023

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

我还使用了云数据来确保我的温度结果准确。云会阻挡卫星读数,使获得正确的地表温度变得更加困难。为了解决这个问题,我使用 Google Earth Engine 过滤掉云层厚重的区域。这帮助我清理数据并只专注于清晰的读数,使我的结果更加可靠。

这是我用来提取云数据的代码示例。如果您打算在 Google Earth Engine 中使用此代码,请务必调整经度和纬度日期范围(365 天以内)以及缓冲区根据您的喜好:

//area of study
var ahmedabad = ee.Geometry.Point([72.5713621, 23.022505]).buffer(30000); // buffer zone
var delhi = ee.Geometry.Point([77.1025, 28.7041]).buffer(30000); //buffer zone         

//Date
var DATE_RANGE = ee.Filter.dayOfYear(121, 151); 
var YEAR_RANGE = ee.Filter.calendarRange(2013, 2023, 'year');

var L8 = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2') //Might want to change statelite according to your needs
  .select(['ST_B10', 'QA_PIXEL']) // Temperature and QA bands
  .filter(DATE_RANGE)
  .filter(YEAR_RANGE);

// Cloud masking function
function cloudMask(image) {
  var qa = image.select('QA_PIXEL');
  var mask = qa.bitwiseAnd(1 << 3).or(qa.bitwiseAnd(1 << 4)); // Cloud and shadow bits
  return image.updateMask(mask.not());
}

// cloud mask and filter by region
var L8_filtered = L8.map(cloudMask);

// Temperature conversion (Kelvin to Fahrenheit)
function kelvinToFahrenheit(image) {
  return image.select('ST_B10')
    .multiply(0.00341802) // Scale factor
    .add(149.0)          // Offset
    .subtract(273.15)    // Convert Kelvin to Celsius
    .multiply(9 / 5)     // Convert Celsius to Fahrenheit
    .add(32)             // Add Fahrenheit offset
    .rename('LST_Fahrenheit');
}

var ahmedabadLST = L8_filtered.filterBounds(ahmedabad).map(kelvinToCelsius).mean().clip(ahmedabad);
var delhiLST = L8_filtered.filterBounds(delhi).map(kelvinToCelsius).mean().clip(delhi);

// Visualization parameters //change the colors as you like
var visualizationParams = {
  min: 20, max: 45,
  palette: ['blue', 'yellow', 'red']
};

Map.centerObject(ahmedabad, 8);
Map.addLayer(ahmedabadLST, visualizationParams, 'Ahmedabad LST');
Map.addLayer(delhiLST, visualizationParams, 'Delhi LST');

// Export results to Google Drive
Export.image.toDrive({
  image: ahmedabadLST,
  description: 'Ahmedabad_LST_2013_2023',
  region: ahmedabad,
  scale: 30,
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
});

Export.image.toDrive({
  image: delhiLST,
  description: 'Delhi_LST_2013_2023',
  region: delhi,
  scale: 30,
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
});

// Calculate and print summary statistics
var ahmedabadStats = ahmedabadLST.reduceRegion({
  reducer: ee.Reducer.minMax().combine(ee.Reducer.mean(), null, true),
  geometry: ahmedabad,
  scale: 30
});
print('Ahmedabad Temperature Stats:', ahmedabadStats);

var delhiStats = delhiLST.reduceRegion({
  reducer: ee.Reducer.minMax().combine(ee.Reducer.mean(), null, true),
  geometry: delhi,
  scale: 30
});
print('Delhi Temperature Stats:', delhiStats);
登录后复制

下面是云覆盖数据图

德里 5 月云数据:概述(2013 年、2023 年和 10 年分析)

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

艾哈迈达巴德 5 月云数据:概述(2013 年、2023 年和 10 年分析)

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

使用天气记录
为了确保卫星数据正确,我将其与艾哈迈达巴德和德里机场的天气记录进行了比较。这些记录给了我真实的温度读数,这帮助我确认卫星数据是准确的。

第 2 部分:使用 ArcGIS Pro 可视化数据

在 Google Earth Engine 中处理云和温度数据后,下一步是将这些数据导入 ArcGIS Pro 进行高级可视化。这是该项目的重要组成部分,因为原始数据可能很难解释,但创建热图可以让每个人更容易理解。

为了创建可视化效果,我首先将经过云过滤的地表温度 (LST) 数据从 Google Earth Engine 导入到 ArcGIS Pro。这些数据包括详细的温度读数,已经过完善,以消除云层造成的干扰。这种预处理确保了数据干净可靠,可以创建准确的可视化效果。

导入数据后,我使用 ArcGIS Pro 生成热图。这些地图是通过应用颜色渐变来表示不同的温度范围而创建的。例如,较冷的区域用橙色 (≤70°F)、浅蓝色 (≤80°F) 和绿色 (≤90°F) 等颜色标记。随着温度升高,使用较暖的颜色,例如黄色(≤120°F)和红色(温度超过 140°F)。地图附带的图例或图例清楚地显示了这些颜色编码的温度范围,使可视化易于解释。

下面是传奇的图片

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

我创建了艾哈迈达巴德和德里的热图,以显示每个城市的气温变化。工业区或市中心等建成区显得更热,并以红色显示,而公园和绿地则较凉爽,以绿色或蓝色显示。这些热图清楚地突出了城市化和绿化对地表温度的影响。

然后,我使用 ArcGIS Pro 通过调整温度颜色并添加指向方向的指北针来细化热图。这些变化让我们更容易了解艾哈迈达巴德和德里的热量分布。

下面是艾哈迈达巴德的可视化图片

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

下面是德里的可视化图片

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

结论:艾哈迈达巴德和德里的炎热趋势

该项目的结果显示,艾哈迈达巴德在过去10年中变得更加炎热,尤其是在一年中最热的五月份。使用 ArcGIS Pro 中的热图,我发现建筑物较多且绿化较少的区域最热(以深红色显示),而公园和绿地则较凉爽(以绿色或蓝色显示)。温度以华氏度进行分析。

艾哈迈达巴德特别热,因为它是一个不断发展的城市,城市化进程迅速,绿地面积不断缩小。热图中一个引人注目的特征是萨巴尔马蒂河,它是一条穿过城市的较冷的蓝线。相比之下,作为首都的德里更加发达,气温略低,但人口稠密、建筑密集。正如海报中的图片所示,这两个城市都显示出密集的城市化和大量的人口。

数据还强调了绿色空间和植被如何帮助城市降温。在晴朗无云的日子里,气温会更高,尤其是在没有树木或公园的地区。这表明绿色植物对于保持城市凉爽有多么重要。

总而言之,艾哈迈达巴德随着其发展而变得越来越热,而德里由于其密集的人口和基础设施而保持温暖。为了让城市更加宜居,我们需要重点建设更多公园、植树造林、保护绿地。这些步骤有助于减少热量并改善城市地区的生活质量。

以下是结果海报

Land Surface Temperature Trends: Ahmedabad vs. Delhi ()

以上是地表温度趋势:艾哈迈达巴德与德里 ()的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板