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

时间:2017-12-16 21:45:21

标签: r raster equation netcdf r-raster

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

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

和平均风使用

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

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

1 个答案:

答案 0 :(得分:3)

使用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 )