网站开发和程序员,阿里云cdn wordpress错位,游戏私人服务器搭建,毕业设计网站开发题目目录 1.学习目标
2.理论介绍
3.从MODIS获得地表温度 4.从Landsat卫星获得地表温度 1.学习目标
①了解如何使用GEE计算地表温度
2.理论介绍 城市化涉及用建筑物、道路和停车场等建筑结构取代自然景观。这种土地覆盖的改变也改变了土地表面的特性。这些变化的范围从表面反射和…目录 1.学习目标
2.理论介绍
3.从MODIS获得地表温度 4.从Landsat卫星获得地表温度 1.学习目标
①了解如何使用GEE计算地表温度
2.理论介绍 城市化涉及用建筑物、道路和停车场等建筑结构取代自然景观。这种土地覆盖的改变也改变了土地表面的特性。这些变化的范围从表面反射和吸收的辐射量到热量如何从表面消散例如为城市发展而去除植被会减少蒸发冷却。这些地表特性的变化可以改变当地的天气和气候。由于城市化而引起的当地气候变化被研究最多的是城市热岛UHI效应。城市热岛效应是指一个城市比其周围环境或同等的未城市化地表温度更高的现象我们对城市热岛效应的了解已有近 200 年的历史 。 传统上城市热岛指数被定义为气象站测量的城市与城外一些农村参考点之间的气温差异。这种方法的一个问题是城市的不同部分可能有不同的气温因此很难捕获整个城市的城市热岛。使用热带中的卫星观测使我们能够获得另一种温度测量方法the radiometric skin temperature通常称为陆地温度表面温度LST。我们可以使用LST来计算地表UHISUHI强度包括它在城市内如何在像素尺度上变化。这里需要强调的是卫星观测到的UHI值和使用空气计算出的UHI值温度测量结果可能会有很大差异。
3.从MODIS获得地表温度 地表温度可以从 MODIS Terra 和 Aqua 卫星产品等衍生产品中提取也可以直接根据热波段中的卫星测量结果进行估算。我们将使用中国重庆市作为感兴趣区域来探索这两种选择图 1。我们将从 MODIS LST开始。 我们首先加载重庆市的边界矢量数据使用的代码如下加载结果如图1所示 // Load feature collection of chongqing from user assets.
var region ee.FeatureCollection(table);
// Get dissolved feature collection using an error margin of 50 meters.
var region region.union(50);
// Set map center and zoom level (Zoom level varies from 1to 20).
//Map.setCenter(region, 12);
// Add layer to map.
Map.addLayer(region, {}, chongqing boundary); 图1|重庆的边界 接下来我们加载 MODIS MYD11A2 版本 6 产品该产品提供来自 Aqua 卫星的八天 LST 合成数据。这对应于大约下午 1:30 的穿越赤道时间白天和夜间凌晨1:30。相比之下Terra 平台上的 MODIS 传感器MOD11A2 版本 6的通过时间约为当地时间上午10:30 和晚上10:30。 // Load MODIS image collection from the Earth Engine datacatalog.
var modisLst ee.ImageCollection(MODIS/006/MYD11A2);
// Select the band of interest (in this case: Daytime LST).
var landSurfTemperature modisLst.select(LST_Day_1km); 我们仅想关注夏季 SUHI因此我们将使用一年中的日期过滤器组合每年6月1日第152天到8月31 日第243天的图像来创建LST的五年夏季合成 // Create a summer filter.
var sumFilter ee.Filter.dayOfYear(152, 243);
// Filter the date range of interest using a date filter.
var lstDateInt landSurfTemperature
.filterDate(2014-01-01, 2019-01-01).filter(sumFilter);
// Take pixel-wise mean of all the images in thecollection.
var lstMean lstDateInt.mean(); 现在我们将此图像转换为以摄氏度为单位的 LST并遮盖所有水像素水的高比热容会影响 LST我们关注于陆地像素。对于水掩模我们使用全球地表水数据集为了转换像素值我们使用数据提供者提供的波段的缩放因子然后减去 273.15 以从开尔文转换为摄氏度比例因子可以在Earth Engine 数据摘要页面中找到图2。 图2 数据总结中的比例因子 最后我们使用城市边界裁剪图像并将图层添加到地图中如图3所示。
// Multiply each pixel by scaling factor to get the LST values.
var lstFinal lstMean.multiply(0.02);
// Generate a water mask.
var water ee.Image(JRC/GSW1_0/GlobalSurfaceWater).select(occurrence);
var notWater water.mask().not();
// Clip data to region of interest, convert to degree Celsius, and mask water pixels.
var lstNewHaven lstFinal.clip(region).subtract(273.15)
.updateMask(notWater);
// Add layer to map.
Map.addLayer(lstNewHaven, {
palette: [blue, white, red],
min: 25,
max: 38
},
LST_MODIS); 图3|中国重庆白天 MODIS Aqua LST 的五年夏季合成图。红色像素显示较高的 LST 值蓝色像素显示较低的值 4.从Landsat卫星获得地表温度 使用 MODIS LST 相对简单因为数据已经由 NASA 团队处理。我们还可以从Landsat获取LST它的原始分辨率根据卫星的不同在60m到~120 m之间比1kmMODIS像素要精细得多。然而我们需要根据热波段中的测量结果自行推导出LST这通常还涉及对表面发射率的一些估算。 物体的表面发射率 (ε) 是指与相同温度下的黑体相比物体发射热辐射的效率范围可以从 0对于完美反射体到1对于完美吸收体和发射体。由于卫星捕获的热辐射是 LST 和 ε 的函数因此您需要准确地规定或估计ε以获得正确的 LST。让我们考虑一种使用 Landsat8数据的简单方法。 我们将首先加载陆地卫星数据、云筛选然后过滤到感兴趣的时间和区域。继续在同一脚本中添加以下代码
// Function to filter out cloudy pixels.
function cloudMask(cloudyScene) {
// Add a cloud score band to the image.
var scored ee.Algorithms.Landsat.simpleCloudScore(cloudyScene);
// Create an image mask from the cloud score band and specify threshold.
var mask scored.select([cloud]).lte(10);
// Apply the mask to the original image and return the masked image.
return cloudyScene.updateMask(mask);
}
// Load the collection, apply coud mask, and filter to date and region of interest.
var col ee.ImageCollection(LANDSAT/LC08/C02/T1_TOA)
.filterBounds(region)
.filterDate(2014-01-01, 2019-01-01)
.filter(sumFilter)
.map(cloudMask);
print(Landsat collection, col); 创建中值合成作为进一步减少云影响的简单方法后我们遮盖水像素并选择亮度温度波段。
// Generate median composite.
var image col.median();
// Select thermal band 10 (with brightness temperature).
var thermal image.select(B10)
.clip(region)
.updateMask(notWater);
Map.addLayer(thermal, {
min: 295,
max: 310,
palette: [blue, white, red]
},
Landsat_BT); 亮度温度图 4是相当于从大气层顶部逸出的红外辐射的温度假设地球是一个黑体。它与LST不同LST 需要考虑大气吸收和再发射以及地表的发射率。导出像素级发射率的一种方法是作为像素植被比例的函数。为此我们首先根据 Landsat 表面反射率数据计算归一化植被指数 (NDVI)见图 5。 // Calculate Normalized Difference Vegetation Index (NDVI)
// from Landsat surface reflectance.
var ndvi ee.ImageCollection(LANDSAT/LC08/C02/T1_L2)
.filterBounds(region)
.filterDate(2014-01-01, 2019-01-01)
.filter(sumFilter)
.median()
.normalizedDifference([SR_B5,
SR_B4]).rename(NDVI)
.clip(region)
.updateMask(notWater);
Map.addLayer(ndvi, {
min: 0,
max: 1,
palette: [blue, white, green]
},
ndvi); 图4|重庆市五年夏季陆地卫星亮温合成中值红色像素显示较高的值蓝色像素显示较低的值 图5|重庆市上空5年夏季Landsat NDVI合成中值,白色像素显示较高的 NDVI 值蓝色像素显示较低的值 为了将每个像素的 NDVI 映射到植被像素的实际部分植被覆盖率我们接下来使用基于每个像素的 NDVI 值范围的关系。
// Find the minimum and maximum of NDVI. Combine the reducers
// for efficiency (single pass over the data).
var minMax ndvi.reduceRegion({
reducer: ee.Reducer.min().combine({
reducer2: ee.Reducer.max(),
sharedInputs: true
}),
geometry: region,
scale: 30,
maxPixels: 1e9
});
print(minMax, minMax);
var min ee.Number(minMax.get(NDVI_min));
var max ee.Number(minMax.get(NDVI_max));// Calculate fractional vegetation.
var fv ndvi.subtract(min).divide(max.subtract(min)).rename(FV);
Map.addLayer(fv, {
min: 0,
max: 1,
palette: [blue, white, green]
}, fv); 现在我们使用基于植被覆盖率的发射率经验模型。
// Emissivity calculations.
var a ee.Number(0.004);
var b ee.Number(0.986);
var em
fv.multiply(a).add(b).rename(EMM).updateMask(notWater);
Map.addLayer(em, {
min: 0.98,
max: 0.99,
palette: [blue, white, green]
},
EMM); 如图 6 所示与植被上方相比建筑结构上方的发射率较低这是预期的。请注意估计发射率的不同模型会导致 LST 值以及 SUHI 强度存在一些差异。 然后我们将该发射率与亮度温度结合起来使用简单的单通道算法计算每个像素的 LST这是辐射传输方程的线性近似。 图6|重庆的地表发射率基于植被比例。绿色像素显示较高的值白色像素显示较低的值
// Calculate LST from emissivity and brightness temperature.
var lstLandsat thermal.expression(
(Tb/(1 (0.001145* (Tb / 1.438))*log(Ep)))-273.15, {
Tb: thermal.select(B10),
Ep: em.select(EMM)
}).updateMask(notWater);
Map.addLayer(lstLandsat, {
min: 25,
max: 35,
palette: [blue, white, red],
},
LST_Landsat); 图7|重庆市上空陆地卫星得出的地表温度的五年夏季中值合成图。红色像素显示较高的 LST 值蓝色像素显示较低的值