方位角指从某点的真北方向起,按顺时针方向到目标方向之间水平夹角(1)。
计算多个方位角的平均值时,求的并不是算数平均值。
譬如1°和359°的均值应是0°或360°,而不是(1+359)/2=180。
方位角的运算应用向量(矢量)运算,下文是在R中计算多个方位角的均值的代码,目的是做记录,详细解释可参考(2)。
# 读取数据
data.alb
# 将要计算的方向转化为横纵方向的数值 u(东西,水平),v(南北,垂直), ws指风速,
#wd指风向
data.alb$u.wind
data.alb$v.wind
#分别计算u,v方向风的均值
mean.u
mean.v
#用atan2将u,v方向的风的均值转换为实际的方向和速度
#计算风向
wd.average
wd.average
# 计算风速
ws.vector.average
ws.vector.average
##############################################################
###注意这里求的是风向,与一般的移动方向、飞行方向不同。
举个例子:风向为90°,指的是风从90°方向吹来;移动方向90°,指的是向90°方向移动。
上式风向计算末尾+180,适用于风向;若是计算移动方向,不用加或结果为负数时+360。
完毕。
20171231下午
2. https://www.researchgate.net/profile/Stuart_Grange2/publication/262766424_Technical_note_Averaging_wind_speeds_and_directions/links/54f6184f0cf27d8ed71d5bd4/Technical-note-Averaging-wind-speeds-and-directions.pdf
转载本文请联系原作者获取授权,同时请注明本文来自宓春荣科学网博客。
链接地址:http://wap.sciencenet.cn/blog-704337-1092408.html
上一篇:R 如何将NetCDF (nc)格式数据分层转存为asc格式
下一篇:如何计算多个方位角(Cardinal direction)的均值--R---补充