UV数据与风速风向数据转换

package com.qr.util;

import java.text.DecimalFormat;

/**
 * //TODO UV数据与风速风向数据转换
 */
public class UVAndSD {
    
    /**
     * UV数据计算速度
     */
    public static double vectorToSpeed(double uMs, double vMs) {
        double windAbs = Math.sqrt(Math.pow(uMs, 2) + Math.pow(vMs, 2));
        return windAbs;
    }

    /**
     * UV数据计算风向
     */
    public static double vectorToDegrees(double uMs, double vMs) {
        DecimalFormat df = new DecimalFormat("#.000");
        double windAbs = Math.sqrt(Math.pow(uMs, 2) + Math.pow(vMs, 2));
        double windDirTrigTo = Math.atan2(uMs / windAbs, vMs / windAbs);
        double windDirTrigToDegrees = windDirTrigTo * 180 / Math.PI;
        double windDirTrigFromDegrees = windDirTrigToDegrees + 180;
        return Double.parseDouble(df.format(windDirTrigFromDegrees));
    }
}

 

posted @ 2019-09-06 12:24  比较杂的代码工程师  阅读(2315)  评论(0编辑  收藏  举报