您的位置:首页 > 其它

关于风向的u、v分量,及根据uv计算风向公式

2018-03-08 13:45 4443 查看
风向是按正北方向起算的,0度表示北风。90度表示东风。u表示经度方向上的风,v表示纬度方向上的风。u为正,表示西风,从西边吹来的风。v为正,表示南风,从南边从来的风。假如u为1,v为1,则表示西南风。


根据uv计算风向的公式: function fun(u,v) { if (u > 0 & v > 0) {   fx = 270 - Math.atan(v / u) * 180 / Math.PI; } else if (u < 0 & v > 0) {   fx = 90 - Math.atan(v / u) * 180 / Math.PI; } else if (u < 0 & v < 0) {   fx = 90 - Math.atan(v / u) * 180 / Math.PI; } else if (u > 0 & v < 0) {   fx = 270 - Math.atan(v / u) * 180 / Math.PI; } else if (u == 0 & v > 0) {   fx = 180; } else if (u == 0 & v < 0) {   fx = 0; } else if (u > 0 & v == 0) {   fx = 270; } else if (u < 0 & v == 0) {   fx = 90; } else if (u == 0 & v == 0) {   fx = 999.9; } }
或者:var dir=180+Math.atan2(u,v)*180/Math.PI 但这个公式在JavaScript代码执行时不完善,不足在于:1、当uv均为0时,dir计算出180度,但实际dir应该无效值;2、当u为0,v<0时,应该是0度,但计算结果为360(虽然也表示0度)
参考:http://colaweb.gmu.edu/dev/clim301/lectures/wind/wind-uv https://www.cnblogs.com/yanjinliang/p/7879312.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  风向计算 u v分量