Google Earth Engine(GEE)实例代码学习二十——利用波段线性拟合(linearFit)

夜间灯光数据线性拟合

本文分享如何利用影像波段实现线性拟合。
linearFit()计算斜率和截距,输入数据第一个为x第二个为y

//创建一个函数:获取每张图像的"年"与1990年差值,作为一个波段添加到数据集中,作为线性拟合的参数
function createTimeBand(img) {
  var year = img.date().difference(ee.Date('1990-01-01'), 'year');
  return ee.Image(year).float().addBands(img);
}

// 选取夜间灯光数据为其添加波段,利用“年份”和平均夜光指数进行线性拟合
var collection = ee.ImageCollection('NOAA/DMSP-OLS/CALIBRATED_LIGHTS_V4')
    .select('avg_vis')
    .map(createTimeBand);
var fit = collection.reduce(ee.Reducer.linearFit());

// 显示平均夜光影像波段
Map.addLayer(ee.Image(collection.select('avg_vis').first()),
         {min: 0, max: 63},
         'stable lights first asset');

//显示计算的斜率截距进行彩色合成
Map.setCenter(30, 45, 4);
Map.addLayer(fit,
         {min: 0, max: [0.18, 20, -0.18], bands: ['scale', 'offset', 'scale']},
         'stable lights trend');

代码运行结果
Google Earth Engine(GEE)实例代码学习二十——利用波段线性拟合(linearFit)_第1张图片

你可能感兴趣的:(GEE实例代码学习,经验分享)