我需要在循环中堆叠一些栅格,如:
for(month in 1:12){
.
.
.
"some algorithm spiting out a raster called 'sm_esa'"
sm_esa_stack<-stack(sm_esa)
}
Run Code Online (Sandbox Code Playgroud)
最后,我想创建一个包含12层(每层一个月)的堆栈.但是我的最后一行显然会覆盖每一个新的栅格而不是叠加.任何提示?
我需要计算栅格堆栈中每个网格像元中非NA值的数量。例如:
library(raster)
a1<-c(1,1,1,1,1,1,1,1,NA)
a2<-c(2,2,2,2,1,2,2,NA,2)
a3<-c(3,3,3,3,3,2,NA,NA,NA)
a4<-c(4,4,4,4,4,4,4,NA,4)
matrixa1<-matrix(a1,3,3)
matrixa2<-matrix(a2,3,3)
matrixa3<-matrix(a3,3,3)
matrixa4<-matrix(a4,3,3)
rastera1<-raster(matrixa1)
rastera2<-raster(matrixa2)
rastera3<-raster(matrixa3)
rastera4<-raster(matrixa4)
stacka<-stack(rastera1,rastera2,rastera3,rastera4)
Run Code Online (Sandbox Code Playgroud)
最后,它应该提供一个带有有效值数量(非NA)的栅格,例如
4 4 3
4 4 1
4 4 2
Run Code Online (Sandbox Code Playgroud)
更新:是的,最终栅格的范围应与原始堆栈相同。
我有一个光栅文件'airtemp'和一个多边形shapefile'大陆'.我想把'大陆'叠加在'airtemp'上,所以'大陆'的边界在'airtemp'的顶部可见.我用levelplot(晶格)绘制光栅文件.我readShapeSpatial首先通过(maptools)读取多边形然后plot.
问题是levelplot并且plot有不同的规模.Plot往往有较小的框架.对不起,我没有可重复的样本,但我觉得这对地球物理学家来说是一个相当普遍的问题.我在这里发现了一个类似的问题:
http://r.789695.n4.nabble.com/overlaying-a-levelplot-on-a-map-plot-td2019419.html
但我不太明白解决方案.