GEE绘制NDBI的折线图

计算Landsat的NDBI指数

//去云457的算法 
function cloudMaskL457(image) {
  var qa = image.select('pixel_qa');
  // If the cloud bit (5) is set and the cloud confidence (7) is high
  // or the cloud shadow bit is set (3), then it's a bad pixel.
  var cloud = qa.bitwiseAnd(1 << 5).and(qa.bitwiseAnd(1 << 7)).or(qa.bitwiseAnd(1 << 3));
  // Remove edge pixels that don't occur in all bands
  var mask2 = image.mask().reduce(ee.Reducer.min());
  return image.updateMask(cloud.not()).updateMask(mask2);
};

//去云8的算法
function cloudMaskL8sr(image) {
  // Bits 3 and 5 are cloud shadow and cloud, respectively.
  var cloudShadowBitMask = (1 << 3);
  var cloudsBitMask = (1 << 5);
  // Get the pixel QA band.
  var qa = image.select('pixel_qa');
  // Both flags should be set to zero, indicating clear conditions.
  var mask = qa.bitwiseAnd(cloudShadowBitMask).eq(0)
                 .and(qa.bitwiseAnd(cloudsBitMask).eq(0));
  return image.updateMask(mask);
}
//计算57NDBI的值 
function opNdbi57(image){
  var NDBI = image.normalizedDifference(['B5', 'B4']).rename('NDBI')
  return image.addBands(NDBI);
}

//计算8NDBI的值 
function opNdbi8(image){
  var NDBI = image.normalizedDifference(['B6', 'B5']).rename('NDBI')
  return image.addBands(NDBI);
}

var geometry = ee.FeatureCollection('projects/ee-wn1206/assets/dongbei').geometry();
//Map.centerObject(geometry,6)

var L5_COL = getNdvi(2001, 2011, "LANDSAT/LT05/C01/T1_SR", cloudMaskL457, opNdbi57);

var L7_COL = getNdvi(2012, 2012, "LANDSAT/LE07/C01/T1_SR", cloudMaskL457, opNdbi57);

var L8_COL = getNdvi(2013, 2020, "LANDSAT/LC08/C01/T1_SR", cloudMaskL8sr, opNdbi8);

var data = ee.ImageCollection(L5_COL.merge(L7_COL).merge(L8_COL))

绘制时间序列折线图

var yearlychart = ui.Chart.image.series({
    imageCollection: data.select('NDBI_median'),
    region: geometry.bounds(),
    reducer: ee.Reducer.mean(),
    scale: 5000,
    xProperty:'Year'
    }).setOptions({
      interpolateNulls: true,
      lineWidth: 2,
      title: 'NDBI Daily Time Seires',
      vAxis: {title: 'NBVI'},
      hAxis: {title: 'Date'},
      trendlines: { 0: {title: 'NDBI_trend',type:'linear', showR2: true,  color:'red', visibleInLegend: true}}
    });
print(yearlychart);

在这里插入图片描述

同理写出NDVI

function getNdvi(startYear, finishYear, name, cloudMask, op){
  var years = ee.List.sequence(startYear, finishYear);
  return ee.ImageCollection(years.map(function(year){
    var start = ee.Date.fromYMD(year, 1, 1);
    var end = start.advance(12, 'month');
    var NDBI = ee.ImageCollection(name).filterDate(start, end).map(cloudMask).map(op);
    return NDBI.reduce(ee.Reducer.median()).clip(geometry).set('Year',year);
}))
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值