比湿和相对湿度的转换、体感温度的计算

public String  RH(String T1 ,String R){
        Double RH = Double.valueOf(R);
        Double T = Double.valueOf(T1);
        T = 1.8 * T + 32;
        Double HI = 0.5 * (T + 61 + (T - 68) * 1.2 + RH * 0.094);
        //如果不小于 80华氏度 则用完整公式重新计算
        if (HI >= 80){
            HI = -42.379 + 2.04901523 * T + 10.14333127 * RH - 0.22475541 * T * RH 
                     - 0.00683783 * T * T - 0.05481717 * RH * RH + 0.00122874 * T * T * RH 
                     + 0.00085282 * T * RH * RH - 0.00000199 * T * T * RH * RH;
//            HI=-42.379+2.04901523*T+10.14333127*R+0.22475541*T*R+6.83783*10*T*T+5.481717*10*R*R
//                    +1.22874*10*T*T*R+8.5282*10*T*R*R+1.99*10*T*T*R*R;
                if (RH < 13 && T >80 && T < 112){
                    Double ADJUSTMENT = (13 - RH) / 4 * Math.sqrt((17 - Math.abs(T - 95)) / 17);
                    HI -= ADJUSTMENT;
                }else if( RH > 85 && T > 80  && T < 87){
                    Double ADJUSTMENT = (RH - 85) * (87 - T) / 50;
                    HI += ADJUSTMENT;
                }
        }
        //System.out.print(T+"-----"+HI+"----"+(HI - 32) / 1.8);
        return Math.round((HI - 32) / 1.8)+"";
    
    }

    public String matchFeelsTemperature(String temperature, String VAP, String windspeed, String humidity){
        Double AT = 99999.9;
        if ("999999".equals(temperature) || "999999".equals(VAP) || "999999".equals(windspeed) || "999999".equals(humidity)){
            
            return AT+"";
        }
        try {
            Double T = Double.valueOf(temperature);
            Double e = Double.valueOf(VAP);
            Double V = Double.valueOf(windspeed);
            Double RH = Double.valueOf(humidity);
            Double rou = RH / 100 * 6.105 *  Math.pow(e, (17.27*T/(237.7+T)));
            AT = 1.07 * T + 0.2 * e - 0.65 * V - 2.7;
        }catch(Exception e){
            e.printStackTrace();
            return AT+"";
        }
        return Math.round(AT)+"";
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值