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

R 如何在两个栅格单元上实现amnog方程(使用每个栅格单元上的u和v风分量计算平均风),r,raster,equation,netcdf,r-raster,R,Raster,Equation,Netcdf,R Raster,我有两个光栅堆栈文件ur和vr,分别包含风速的u和v分量。 如何计算每个网格单元中的平均风速和方向? 我知道我可以用下面的公式计算风向 windir<-calc(atan2(vwind, uwind) * 360/2/pi) + 180 windir与RasterStacksvr和ur vr <- stack(system.file("external/rlogo.grd", package="raster")) ur <- flip(vr, 'y') 请注意,计算平均

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

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

windir与
RasterStack
s
vr
ur

vr <- stack(system.file("external/rlogo.grd", package="raster")) 
ur <- flip(vr, 'y')

请注意,计算平均风向并不是那么简单。见例。
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
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 )