Google Earth Engine(GEE)——1.计算夜间灯的趋势(R-GEE版)

验证和初始化 Earth Engine R API。

代码语言:javascript
复制
#先导入库然后加载你的认证
library(rgee)
ee_Initialize()

添加一个包含图像日期自 1991 年以来的波段。

代码语言:javascript
复制
#船舰一个函数要求波段信息获取自1991年的时间
createTimeBand <-function(img) {
  year <- ee$Date(img$get('system:time_start'))$get('year')$subtract(1991L)
  ee$Image(year)$byte()$addBands(img)
}

将时间带创建助手映射到夜间灯光集合上。

代码语言:javascript
复制
#r语言一般是把.换成了$
collection <- ee$
  ImageCollection('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS')$
  select('stable_lights')$
  map(createTimeBand)

计算每个像素的一系列值的线性拟合,将 y 截距可视化为绿色,将正/负斜率可视化为红色/蓝色。

代码语言:javascript
复制
#利用reduce做线性回归然后添加报端并选择scale范围
col_reduce <- collection$reduce(ee$Reducer$linearFit())
col_reduce <- col_reduce$addBands(
  col_reduce$select('scale'))
ee_print(col_reduce)

创建交互式可视化!

代码语言:javascript
复制
#这个基本上和JS和python的语法都一样!
Map$setCenter(9.08203, 47.39835, 3)
Map$addLayer(
  eeObject = col_reduce,
  visParams = list(
    bands = c("scale", "offset", "scale"),
    min = 0,
    max = c(0.18, 20, -0.18)
  ),
  name = "stable lights trend"
)