目录
1 数据集介绍
数据提供者:European Union/ESA/Copernicus
数据集名称:COPERNICUS/S2_SR_HARMONIZED
可用时间:2017年03月28日—至今
空间分辨率:不同的波段有不同的空间分辨率,部分如下。
(1)10 米分辨率:适用于可见光和近红外波段(如蓝色、绿色、红色、近红外波段等)。
(2)20 米分辨率:适用于短波红外波段(SWIR)以及一些其他的波段。
(3)60 米分辨率:用于气溶胶波段(Aerosol)。
数据集的使用时间:2023年06月01日—2024年01月01日
2 代码解析
定义研究区(roi)和添加云掩膜函数:
//maskS2clouds 用于处理 Sentinel-2 图像数据,从 Sentinel-2 图像
//中去除云层和卷云的影响,确保图像数据尽可能地反映真实的地表情况
function maskS2clouds(image) {
var qa = image.select('QA60');
// Bits 10 and 11 are clouds and cirrus, respectively.
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;
// Both flags should be set to zero, indicating clear conditions.
var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
.and(qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask).divide(10000);
}
选择数据集(筛选时间、空间、云量,应用云掩膜函数):
// 选择影像集
var dataset = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterDate('2023-06-01', '2024-01-01')
.filterBounds(roi)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 0.1))
.map(maskS2clouds);
选择中值合成时间范围内的影像,裁剪到研究区的形状:
// 使用中位数合成影像以覆盖整个区域
var image = dataset.median().clip(roi);
选择波段可视化,将影像显示出来:
// 可视化参数
var visualization = {
min: 0.0,
max: 0.3,
bands: ['B4', 'B3', 'B2'],
};
// 将影像添加到地图
Map.centerObject(roi, 9);
Map.addLayer(roi, {}, 'Roi');
Map.addLayer(image, visualization, 'Image');
导出影像到云盘:
// 导出影像
Export.image.toDrive({
image: image,//导出的影像对象
description: 'Sentinel2_Image',//任务名称
scale: 10, // 分辨率,单位是米
region: roi,//研究区
fileNamePrefix: 'Sentinel2_Image',//导出影像的文件名
folder: 'lym', // Google Drive中的文件夹名称
crs: 'EPSG:4326' , // 坐标参考系
maxPixels: 1e13, //指定处理图像时允许的最大像素数量
});
3 完整代码
//感兴趣的区域信息
var roi = ee.FeatureCollection("projects/ee-zhangkanghnust/assets/HengShaoLou");
//maskS2clouds 用于处理 Sentinel-2 图像数据,从 Sentinel-2 图像
//中去除云层和卷云的影响,确保图像数据尽可能地反映真实的地表情况
function maskS2clouds(image) {
var qa = image.select('QA60');
// Bits 10 and 11 are clouds and cirrus, respectively.
var cloudBitMask = 1 << 10;
var cirrusBitMask = 1 << 11;
// Both flags should be set to zero, indicating clear conditions.
var mask = qa.bitwiseAnd(cloudBitMask).eq(0)
.and(qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask).divide(10000);
}
// 选择影像集
var dataset = ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')
.filterDate('2023-06-01', '2024-01-01')
.filterBounds(roi)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 0.1))
.map(maskS2clouds);
// 使用中位数合成影像以覆盖整个区域
var image = dataset.median().clip(roi);
// 可视化参数
var visualization = {
min: 0.0,
max: 0.3,
bands: ['B4', 'B3', 'B2'],
};
// 将影像添加到地图
Map.centerObject(roi, 9);
Map.addLayer(roi, {}, 'Roi');
Map.addLayer(image, visualization, 'Image');
// 导出影像
Export.image.toDrive({
image: image,//导出的影像对象
description: 'Sentinel2_Image',//任务名称
scale: 10, // 分辨率,单位是米
region: roi,//研究区
fileNamePrefix: 'Sentinel2_Image',//导出影像的文件名
folder: 'lym', // Google Drive中的文件夹名称
crs: 'EPSG:4326' , // 坐标参考系
maxPixels: 1e13, //指定处理图像时允许的最大像素数量
});
4 运行结果

