如何实现等式 amnog 两个栅格网格单元(使用每个网格单元上的 u 和 v 风分量计算平均风)

How to implement equation amnog two raster grid cells ( Calculate average wind using u and v wind components on each grid cells)

我有两个光栅堆栈文件 urvr,分别包含风速的 u 和 v 分量。 如何计算每个网格单元的平均风速和风向? 我知道我可以使用以下等式计算风向

windir<-calc(atan2(vwind, uwind) * 360/2/pi) + 180 

和平均风使用

winav<- ((mean.u^2 + mean.v^2)^0.5)

我的问题是如何在 urvr 的每个网格单元上实现这些方程 我提到了 this question 和其他链接,但仍然在此计算中存货。

RasterStacks vrur

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 )