Google Earth Engine(GEE)对指定地点Sentinel-2 Level1C数据进行NDVI指数的计算

Google Earth Engine (GEE) 是由谷歌公司开发的众多应用之一。借助谷歌公司超强的服务器运算能力以及与NASA的合作关系,GEE平台将Landsat/Sentinel等可以公开获取的遥感图像数据存储在谷歌的磁盘阵列中,使得GEE用户可以方便的提取、调用和分析海量的遥感大数据资源。

 

本文基于GEE平台,实现对指定地点Sentinel-2 Level1C数据进行NDVI指数的计算,示例地点为湖南省长沙市。代码如下:

(JS)

var cs = China.filterBounds(point).geometry();
var roi = cs;
function NDVI_V3(img) {
 var ndvi = img.clip(roi).normalizedDifference(["B8","B4"]);
 return ndvi;
}
//使用QA波段去云
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);
}
//sentinel2 and roi
var dataset = ee.ImageCollection("COPERNICUS/S2")
                       .filterDate("2018-01-01", "2018-12-31")
                       .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))
                       .map(maskS2clouds);
var img = dataset.median().clip(roi)
//var img = ee.Image(dataset.filterBounds(roi).first());
print(img)
var ndvi3 = NDVI_V3(img);
var visParam = {
 min: -0.2,
 max: 0.8,
 palette: 'FFFFFF, CE7E45, DF923D, F1B555, FCD163, 99B718, 74A901, 66A000, 529400,' +
   '3E8601, 207401, 056201, 004C00, 023B01, 012E01, 011D01, 011301'
};
var rgbVis = {
  min: 0.0,
  max: 3048,
  bands: ['B8', 'B4', 'B3'],
};
Map.addLayer(img, rgbVis, "raw_img");
Map.addLayer(ndvi3, visParam, "ndvi_3");
Map.centerObject(roi, 9);

注:①使用前,需要import我国的行政区划文件,其次需要选取例如湖南省长沙市境内的一点(point),最后import导入S2图                 像。

       ②关于我国行政区划文件,分享百度网盘:链接:https://pan.baidu.com/s/1vrT5AmRTX8KmMMbpGtTAcg 
                                                                           提取码:o5vt       
效果:

Google Earth Engine(GEE)对指定地点Sentinel-2 Level1C数据进行NDVI指数的计算_第1张图片

 

参考文章:

1.https://zhuanlan.zhihu.com/p/29637993

你可能感兴趣的:(java,google,earth)