【问题标题】:Naming layers in a raster stack and extracting data在栅格堆栈中命名图层并提取数据
【发布时间】:2016-04-19 23:53:59
【问题描述】:

我有一个 84 层的栅格堆栈/砖,每一层对应于 1999 年 11 月至 2006 年 10 月的一个月降雨数据。我还有一个数据框,其中每一行包含(除其他外)空间坐标和值年和月。

我想为数据框中的每一行提取降雨量值。为此,我需要使用年份和月份值来选择栅格堆栈中的相应图层,然后使用空间坐标从该图层中选择适当的值。我的问题分为两部分:

1) 在我的数据框中,我将年份和月份列连接在一起,如下所示:

data$date <- paste0(data$year, data$month)

我现在有一列值告诉我该数据点的时间,例如2001 年 7 月将是“20017”。我想以相同的方式命名我的栅格堆栈中的图层,即“199911”到“200610”。我可以输入所有 84 个这些,然后使用类似的内容:

names(rainfall) <- c("199911" ... "200610")

但一定有更有效的方法吗?

2) 完成此操作后,我将如何使用数据框中的日期列从我的栅格堆栈中选择相应的图层,然后使用空间坐标来选择位置?如果是单层,我可以使用:

data.sp <- data
coordinates(data.sp) <- ~ x + y    
rain.points <- over(data.sp, rainfall)
data$rain <- (rain.points)

任何帮助将不胜感激!

【问题讨论】:

    标签: r spatial raster r-raster


    【解决方案1】:

    问题 1:做这样的事情

     names(rainfall) <- paste0(rep(1999:2006, each=12), 1:12)[11:94]
    

    问题2:

    你可以的

    pnt <- cbind(0,0)
    s <- rainfall[["200111"]]
    extract(s, pnt)    
    

    但您可能想做一些类似here 讨论的事情

    【讨论】:

      猜你喜欢
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-01
      • 1970-01-01
      • 2018-07-08
      • 2016-08-19
      • 1970-01-01
      • 2013-05-07
      相关资源
      最近更新 更多