r-如何构建一个光栅/光栅堆栈来接受基于df的值



我正在尝试构建一些数据结构来接受数据。

r1 = raster(matrix(NA,3,3)) 
df <- data.frame(a = c(1,2,3), b = c(2,2,2), val = c(10,20,30)) #example of data

然后我希望用基于df的值填充这个光栅。但不是这样,而是基于df$adf$b的值。

plot(r1) #empty
values(r1) <- c(NA, df$val[[1]], NA, NA,df$val[[2]],NA,NA,NA,df$val[[3]]) #unindex filling
plot(r1) #wanted result

我希望清楚地表明我希望实现的目标。其地理位置数据,因此df$adf$b将变为Lon和Lat,df$val将成为环境变量。图层将成为月平均值。并非所有光栅单元都有变量。

谢谢。

给定光栅和坐标,您可以计算单元编号并使用这些编号来分配值。像这样的

library(raster)
r <- raster(nrows=5, ncols=5, xmn=0, xmx=5, ymn=0, ymx=5) 
df <- data.frame(x = c(1,2,3), y = c(2,2,2), val = c(10,20,30))
cells <- cellFromXY(r, df[,1:2])
r[cells] <- df$val

另见?rasterFromXYZ

最新更新