风速风向 UV 相互转换
这里以c#为例将风的uv分量转成风向风速(别的语言类似)
风向是以y轴正方向为零度顺时针转



UV转风速风向
1 double v ;//v分量
2 double u;//u分量
3 double fx= 999.9; //风向
4
5 if (u > 0 & v > 0)
6 {
7 fx = 270 - Math.Atan(v / u) * 180 / Math.PI;
8 }
9 else if (u < 0 & v > 0)
10 {
11 fx = 90 - Math.Atan(v / u) * 180 / Math.PI;
12 }
13 else if (u < 0 & v < 0)
14 {
15 fx = 90 - Math.Atan(v / u) * 180 / Math.PI;
16 }
17 else if (u > 0 & v < 0)
18 {
19 fx = 270 - Math.Atan(v / u) * 180 / Math.PI;
20 }
21 else if (u == 0 & v > 0)
22 {
23 fx = 180;
24 }
25 else if (u == 0 & v < 0)
26 {
27 fx = 0;
28 }
29 else if (u > 0 & v == 0)
30 {
31 fx = 270;
32 }
33 else if (u < 0 & v == 0)
34 {
35 fx = 90;
36 }
37 else if (u == 0 & v == 0)
38 {
39 fx = 999.9;
40 }
41
42 //风速是uv分量的平方和
43
44 double fs= Math.Sqrt(Math.Pow(u, 2) + Math.Pow(v, 2)); //通过风速风向 转换为 UV
double fanU = U(FS, FX);
double fanV = V(FS, FX);
private static double U(double dSp, double dWrd)
{
if (dSp < 0)
return 0;
double d0 = 0;
d0 = dSp * Math.Cos((270 - dWrd) * Math.PI / 180);
return d0;
}
private static double V(double dSp, double dWrd)
{
if (dSp < 0)
return 0;
double d0 = 0;
d0 = dSp * Math.Sin((270 - dWrd) * Math.PI / 180);
return d0;
}

风速风向 UV 相互转换的更多相关文章
- UV数据与风速风向数据转换
package com.qr.util; import java.text.DecimalFormat; /** * //TODO UV数据与风速风向数据转换 */ public class UVAn ...
- EChart绘制风速风向曲线分析图
1.获取ECharts 在 ECharts 的 GitHub 上下载最新的 release 版本,解压出来的文件夹里的 dist 目录里可以找到最新版本的 echarts 库. 2.引入ECharts ...
- 玩转zynq7020之风速风向测量实战项目
本文是用米尔zynq7020开发板(Z-turn broad)风速风向测量实战项目. 这次项目是以测量风速风向为目标的产品,由于传统的风杯有很大的缺陷,在零下20度,结冰后不能使用,还有启动风速等等, ...
- arcgis制作风或水流速流向图
制作风或水流速流向图 风速风向图或流速流向图相信大家都已经见过不少,但不知道有多少人会制作这样炫的专题图,下面这边文章向我们展示了当基本数据U和V矢量被存储时,怎样计算风或水流的速度和方向和对其进行符 ...
- python 在一个excel存多个sheet
import pandas as pdimport numpy as npimport osfrom sqlalchemy import create_engine def get_station_w ...
- EasyEarth三维可视化解决方案——智慧林业
智慧林业 智能巡管监护 护林员信息查询 护林员管护范围查询 护林员报警.采集数据查看 样点.样线管理 其它功能模块 ●一键考勤打卡 ●面积测量 ●任务公告发布 ●实时电量监控 ●一键报警功能 ●北斗短 ...
- 5G新基建到来,图扑推出智慧路灯三维可视化方案
前言 作为智慧城市的重要组成部分,智慧灯杆管理系统采用信息化.数字化手段,把路灯及城市景观照明等各种不同对象的监控和数据采集及处理融于一体, 为城市管理者进行城市管理.进行科学决策提供了强有力的手段. ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...
- Origin9.1如何使用原始数据(Raw Data)绘制风向玫瑰图
核心提示:今天为大家简单介绍下如何使用原始数据绘制风向玫瑰图.本例以Origin 9.1进行演示.1.本例所用数据截图如下,列A为风向,列B为风速.2.选中两列数据,进入Plot下的Specializ ...
随机推荐
- Python实用笔记 (23)面向对象高级编程——使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.先定义class: class Student(object): pa ...
- 【WPF】DataGrid多表头的样式设计
需求 在使用WPF开发时,使用DataGrid列表显示数据时,有些字段可以进行分组显示,用于更好的表达它们之间存在的某种关系,因此就考虑到要对DataGrid的表头进行扩展,可以显示多行表头,让这些有 ...
- max depth exceeded when dereferencing c0-param0问题的解决
在做项目的时候,用到了dwr,有一次居然报错,错误是 max depth exceeded when dereferencing c0-param0 上网查了一下,我居然传参数的时候传的是object ...
- Java使用IO流读取TXT文件
通过BufferedReader读取TXT文件window系统默认的编码是GBK,而IDE的编码多数为UTF-8,如果没有规定new InputStreamReader(new FileInputSt ...
- JavaScript基础初始时期分支(018)
Init-Time Branching初始时期分支是一种用做优化的模式.如果某些条件在程序启动后就不再改变,那么我们就只需要在初始时期检查一次就可以了,而不是在每次 需要用到这些条件的时候都检查一次. ...
- 四. sql上线平台
一.inception安装使用 inception是一个集审核.执行.备份及生成回滚语句于一身的MySQL自动化运维工具 [root@CentOS ~]# [root@CentOS ~]# wget ...
- CSS五种方式实现 Footer 置底
页脚置底(Sticky footer)就是让网页的footer部分始终在浏览器窗口的底部.当网页内容足够长以至超出浏览器可视高度时,页脚会随着内容被推到网页底部:但如果网页内容不够长,置底的页脚就会保 ...
- 苹果手机history.back()返回不刷新问题
苹果手机,a页面打开b页面,b页面使用history.back(-1)返回a页面时,a页面不刷新,可在a页面添加以下代码: var isPageHide = false; window.addEven ...
- git clone 别人的项目的步骤
1.)从github上克隆出来 git clone +项目地址 2)切换到你需要的分支 git checkout +分支名称 3)下载到你的电脑上之后,在项目根目录中 npm install 安装所有 ...
- 调整数组顺序使奇数位于偶数前面(剑指offer-13)
方法1:新建两个数组,一个数组用来放奇数,一个数组用来放偶数,最后再把它们合并起来. 1 import java.util.*; 2 public class Solution { 3 public ...