R-如何实现方程式羊膜两个栅格网格单元(使用每个网格单元上的U和V风组分计算平均风)



我有两个栅格堆栈文件urvr分别具有风速的U和V组件。如何计算每个网格电池中的平均风速和方向?我知道我可以使用以下方程来计算风向

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

和使用

的平均风
winav<- ((mean.u^2 + mean.v^2)^0.5)

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

带有RasterStack S 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 )

最新更新