GEE提取地表温度的代码
时间: 2023-11-27 12:51:39 浏览: 156
以下是使用Google Earth Engine (GEE)提取地表温度的示例代码:
```javascript
// 引入Landsat 8表面反射率数据集
var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterDate('2019-07-01', '2019-07-31')
.filterBounds(geometry);
// 将表面反射率转换为表面温度
var kelvinToCelsius = function(image) {
return image.multiply(0.02).subtract(273.15);
};
var surfaceTemperature = dataset.select('B10').map(kelvinToCelsius);
// 将结果可视化
var visParams = {min: -30, max: 50, palette: ['blue', 'white', 'red']};
Map.addLayer(surfaceTemperature.mean(), visParams, 'Mean Surface Temperature');
```
在这个示例中,我们使用Landsat 8表面反射率数据集,并选择了2019年7月份的数据。然后我们将表面反射率转换为表面温度,并使用`Map.addLayer()`函数将其可视化。你可以根据你的需求更改数据集和时间范围。
相关问题
gee提取地表温度的代码
以下是使用Google Earth Engine (GEE)提取地表温度的示例代码:
```javascript
// 引入Landsat 8表面反射率数据集
var dataset = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterDate('2019-07-01', '2019-07-31')
.filterBounds(geometry);
// 将表面反射率转换为表面温度
var kelvinToCelsius = function(image) {
return image.multiply(0.02).subtract(273.15);
};
var surfaceTemperature = dataset.select('B10').map(kelvinToCelsius);
// 将结果可视化
var visParams = {min: -30, max: 50, palette: ['blue', 'white', 'red']};
Map.addLayer(surfaceTemperature.mean(), visParams, 'Mean Surface Temperature');
```
在这个示例中,我们使用Landsat 8表面反射率数据集,并选择了2019年7月份的数据。然后我们将表面反射率转换为表面温度,并使用`Map.addLayer()`函数将其可视化。你可以根据你的需求更改数据集和时间范围。
GEE提取shp区域内云掩膜后的地表温度代码
以下是使用 Google Earth Engine 提取 shp 区域内云掩膜后的地表温度的代码:
```javascript
// 加载区域shp文件
var roi = ee.FeatureCollection('path/to/roi.shp');
// 加载 Landsat 8 表面反射率和云数据
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR')
.filterBounds(roi)
.filterDate('2019-01-01', '2019-12-31')
.map(function(image) {
var cloud = ee.Algorithms.Landsat.simpleCloudScore(image).select('cloud');
var mask = cloud.lt(50);
return image.updateMask(mask);
});
// 计算地表温度
var temp = collection.map(function(image) {
return ee.Image(ee.Algorithms.Landsat.surfaceTemperature(image));
});
// 绘制地表温度图像
var tempVis = {
min: 273.15, // 单位:开尔文
max: 330.15, // 单位:开尔文
palette: ['blue', 'purple', 'cyan', 'green', 'yellow', 'red']
};
Map.addLayer(temp.mean(), tempVis, 'Surface Temperature');
// 计算地表温度的平均值
var meanTemp = temp.reduce(ee.Reducer.mean());
print('Mean Surface Temperature', meanTemp);
```
该代码将加载指定路径下的 shp 文件,提取该区域内 2019 年的 Landsat 8 影像数据,对云进行掩膜并计算地表温度。最后,将绘制地表温度图像,并计算该区域的地表温度平均值。
阅读全文