一、基本流程

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两个接口进行代码的编辑,一般的代码编写思路为导入研究区域→影像数据集的访问→影像数据的空间、时间和云量筛选→查看影像结果→代码调整→影像下载

GEE必须会教程—一文教会你GEE下载影像数据的方法-LMLPHP

图1

GEE必须会教程—一文教会你GEE下载影像数据的方法-LMLPHP

图2

二、下载流程

①导入研究区域;在ArcMap中导出县级行政区划数据,并在个人资产上上传家乡—江西省赣州市南康区的矢量shp文件。利用ee.FeatureCollection代码导入研究区域,作为影像数据筛选的参考范围。

GEE必须会教程—一文教会你GEE下载影像数据的方法-LMLPHP

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中进行加载,查看下载的影像是否无误。结果如下:

GEE必须会教程—一文教会你GEE下载影像数据的方法-LMLPHP

本期内容到这里就结束了,更多内容欢迎持续关注小编的公众号“梧桐GIS”,谢谢大家支持!

04-09 00:02