一、基本流程
A.平台进入:网站搜索:https://developers.google.com/earth-engine,进入Google Earth Engine 官网平台(以下简称GEE平台),正常登录该平台需要利用邮箱进行申请,申请通过后可以正常登录该平台。
B.数据检索:在平台上点击“Dataset”,可以查看GEE平台上所有的数据集,此处选择“Landsat”数据,选择“Landsat9OLI/TIRS”数据集,选择大气层顶反射率数据集“Top of Atmosphere”数据集。
C.数据信息查看:具体查看该数据集的描述、波段信息、影像属性等等,以及平台上调用和访问的代码信息。
D.数据的下载:GEE上进行影像数据的下载一般可通过JavaScript和Python两个接口进行代码的编辑,一般的代码编写思路为导入研究区域→影像数据集的访问→影像数据的空间、时间和云量筛选→查看影像结果→代码调整→影像下载
图1
图2
二、下载流程
①导入研究区域;在ArcMap中导出县级行政区划数据,并在个人资产上上传家乡—江西省赣州市南康区的矢量shp文件。利用ee.FeatureCollection代码导入研究区域,作为影像数据筛选的参考范围。
var roi = ee.FeatureCollection("users/hesuixinya511/rongchang");
②数据调用和预处理:在GEE平台上,通过ee.ImageCollection代码访问Sentinel-2数据。根据研究区域边界,以及2020年的全年日期范围,筛选云量百分比小于0.05的卫星数据,并根据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_HARMONIZED')
.filterDate('2020-01-01', '2020-12-31')
.filterBounds(roi)
.filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 0.05))
.map(maskS2clouds);
print(dataset);
③查看影像:利用list命令生成影像列表,方便按照索引值进行可视化的显示,在对符合条件的影像进行逐一查看后,发现2020年3月15日的两景影像能够完全覆盖区域。
//生成影像列表
var list = dataset.toList(dataset.size());
var downImage = ee.Image(list.get(3));
var upImage = ee.Image(list.get(5));
var visualization = {
min: 0.0,
max: 0.3,
bands: ['B4', 'B3', 'B2'],
};
Map.centerObject(roi,6);
Map.addLayer(upImage,visualization,"upImage");
Map.addLayer(downImage, visualization, 'downImage');
Map.addLayer(roi,{"color":"red"},"ROI");
④合成影像和下载:由于Sentinel-2数据不同的波段具有不同的分辨率,在下载前需要将同一分辨率(10m、20m、60m)的波段数据进行影像合成后,再编写下载的代码,设置好下载参数,在“Task”目录中完成Sentinel-2数据的下载即可。
//生成影像列表
var list = dataset.toList(dataset.size());
var downImage = ee.Image(list.get(3));
var upImage = ee.Image(list.get(5));
var visualization = {
min: 0.0,
max: 0.3,
bands: ['B4', 'B3', 'B2'],
};
Map.centerObject(roi,6);
Map.addLayer(upImage,visualization,"upImage");
Map.addLayer(downImage, visualization, 'downImage');
Map.addLayer(roi,{"color":"red"},"ROI");
④合成影像和下载:由于Sentinel-2数据不同的波段具有不同的分辨率,在下载前需要将同一分辨率(10m、20m、60m)的波段数据进行影像合成后,再编写下载的代码,设置好下载参数,在“Task”目录中完成Sentinel-2数据的下载即可。
var downImage10 = downImage.select("B2","B3","B4","B8");
var downImage20 = downImage.select("B5","B6","B7","B8A","B11","B12");
var downImage60 = downImage.select("B1","B9","B10");
var upImage10 = upImage.select("B2","B3","B4","B8");
var upImage20 = upImage.select("B5","B6","B7","B8A","B11","B12");
var upImage60 = upImage.select("B1","B9","B10");
//下载影像
Export.image.toDrive({
image: downImage10,
description: "downImage10",//影像名称
fileNamePrefix: "Sentinel-2down10",
folder: "RongchangESA", //文件夹名称
scale: 10,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: downImage20,
description: "downImage20",//影像名称
fileNamePrefix: "Sentinel-2down20",
folder: "RongchangESA", //文件夹名称
scale: 20,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: downImage60,
description: "downImage60",//影像名称
fileNamePrefix: "Sentinel-2down60",
folder: "RongchangESA", //文件夹名称
scale: 60,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: upImage10,
description: "upImage10",//影像名称
fileNamePrefix: "Sentinel-2up10",
folder: "RongchangESA", //文件夹名称
scale: 10,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: upImage20,
description: "upImage20",//影像名称
fileNamePrefix: "Sentinel-2up20",
folder: "RongchangESA", //文件夹名称
scale: 20,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
Export.image.toDrive({
image: upImage60,
description: "upImage60",//影像名称
fileNamePrefix: "Sentinel-2up60",
folder: "RongchangESA", //文件夹名称
scale: 60,
region: roi,
maxPixels: 1e13,
crs: "EPSG:4326"
});
⑤将下载好的Sentinel-2影像数据和Landsat8数据分别在ENVI中进行加载,查看下载的影像是否无误。结果如下:
本期内容到这里就结束了,更多内容欢迎持续关注小编的公众号“梧桐GIS”,谢谢大家支持!