GEE| 基于Landsat 8 计算NDVI

基于Landsat 8 计算NDVI,并将栅格数据导出。(使用时将 roi 更改为自己的矢量范围并在 .filterDate 进行时间筛选即可)

var roi = ee.FeatureCollection('users/yongweicao11/fujian');
print('ROI:', roi);

var myImage = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
  .filterBounds(roi)
  .filterDate('2023-01-01', '2023-05-10')
  .filter(ee.Filter.lt('CLOUD_COVER', 20));
// Landsat8 去云函数
//先设置一个除云并且给波段重新赋值的函数
function maskL8sr(image) {
    // 第3位和第5位分别是云影和云。
    var cloudShadowBitMask = 1 << 3;
    var cloudsBitMask = 1 << 5;
   
    // 获取pixel QA band.
    var qa = image.select('QA_PIXEL');
   
    // 明确条件,设置两个值都为0
    var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
        .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
    // 更新掩膜云的波段,最后按照反射率缩放,在选择波段属性,最后赋值给影像
    return image.updateMask(mask).divide(10000)
        .select("SR_B[0-9]*")
        .copyProperties(image, ["system:time_start"]);
  }
   
myImage = myImage.map(maskL8sr)
myImage = myImage.median().clip(roi)

var NDVI = myImage.expression({ 
    expression: '(NIR - RED) / (NIR +  RED )', 
    map: {  
    'NIR': myImage.select('SR_B5'), 
    'RED': myImage.select('SR_B4'),
    
    } 
}); 
var burnPalette = ['red', 'white', 'green']; 
var visParams = {min: -1, max: 1, palette: burnPalette}; 
Map.addLayer(NDVI, visParams, 'NDVI'); 


Export.image.toDrive({
  image: NDVI,
  description: "NDVI",
  fileNamePrefix: "NDVI",
  scale: 30,
  region: roi,
  maxPixels: 1e13,
  fileFormat: 'GeoTIFF'
  });

你可能感兴趣的:(GEE,植被指数,遥感)