GEE提取shp区域内云掩膜后的地表温度(℃)代码
时间: 2023-11-22 16:56:16 浏览: 151
以下是在Google Earth Engine上提取shp区域内云掩膜后的地表温度(℃)的代码:
```javascript
// 导入需要的图像
var LST = ee.ImageCollection("MODIS/006/MOD11A2").select('LST_Day_1km');
var QA = ee.ImageCollection("MODIS/006/MOD11A2").select('QC_Day');
// 导入shp文件
var shp = ee.FeatureCollection("path/to/shapefile");
// 定义需要分析的时间范围
var start = ee.Date('2021-01-01');
var end = ee.Date('2021-12-31');
// 定义云掩膜函数
function maskClouds(image) {
var cloudBitMask = ee.Number(2).pow(10).int();
var qa = image.select('QC_Day');
var mask = qa.bitwiseAnd(cloudBitMask).eq(0);
return image.updateMask(mask);
}
// 进行云掩膜
var cloudMasked = LST.filterDate(start, end)
.map(maskClouds);
// 获取shp区域内的数据
var region = cloudMasked.getRegion(shp, 1000, 'EPSG:4326')
.slice(1);
// 将数据转换为FeatureCollection格式
var data = ee.FeatureCollection(ee.List(region)
.map(function(row) {
return ee.Feature(null, ee.Dictionary.fromLists(region[0], row));
}));
// 提取地表温度信息
var lst = data.aggregate_array('LST_Day_1km');
// 输出结果
print(lst);
```
在这个代码中,我们首先导入了MODIS的地表温度数据和质量控制数据,并且导入了我们需要分析的shp文件。然后,我们定义了需要分析的时间范围和云掩膜函数。
接下来,我们对地表温度数据进行云掩膜,并且使用`getRegion()`函数提取shp区域内的数据。然后,我们将数据转换为FeatureCollection格式,并且使用`aggregate_array()`函数提取地表温度信息。最后,我们输出结果。
请注意,此代码只提供了一种可行的方法,具体的实现可能因为数据来源和分析目的的不同而有所不同。
阅读全文