我有两个栅格堆栈文件ur
和vr
分别具有风速的U和V组件。如何计算每个网格电池中的平均风速和方向?我知道我可以使用以下方程来计算风向
windir<-calc(atan2(vwind, uwind) * 360/2/pi) + 180
和使用
的平均风winav<- ((mean.u^2 + mean.v^2)^0.5)
我的问题是如何在ur
和vr
的每个网格单元格上实现这些方程 我提到了这个问题和其他链接,但是在此计算中仍然库存。
带有RasterStack
S vr
和ur
vr <- stack(system.file("external/rlogo.grd", package="raster"))
ur <- flip(vr, 'y')
您确实可以使用您的公式:
windir <- atan2(vr, ur) * 180/pi + 180
winav <- (ur^2 + vr^2)^0.5
另外,您可以使用overlay
windir2 <- overlay(vr, ur, fun=function(x,y) atan2(x,y) *180/pi + 180)
winav2 <- overlay(vr, ur, fun=function(x, y) (x^2 + y^2)^0.5 )