Java 由角度得到风向,由风速得到风力

Java 由角度得到风向,由风速得到风力气象上把风吹来的方向确定为风的方向 因此 风来自北方叫做北风 风来自南方叫做南风 气象台站预报风时 当风向在某个方位左右摆动不能肯定时 则加以 偏 字 如偏北风 当风力很小时 则采用 风向不定 来说明 风向的测量单位 我们用方位来表示 如陆地上 一般用 16 个方位表示 海上多用 36 个方位表示 在高空则用角度表示 用角度表示风向 是把圆周分成 360 度

大家好,我是讯享网,很高兴认识大家。

气象上把风吹来的方向确定为风的方向。因此,风来自北方叫做北风,风来自南方叫做南风。气象台站预报风时,当风向在某个方位左右摆动不能肯定时,则加以“偏”字,如偏北风。当风力很小时,则采用“风向不定”来说明。风向的测量单位,我们用方位来表示。如陆地上,一般用16个方位表示,海上多用36个方位表示;在高空则用角度表示。用角度表示风向,是把圆周分成360度。北风(N)是0度(即360度),东风(E)是90度,南风(S)是180度,西风(W)是270度,其余的风向都可以由此计算出来。 


讯享网

import java.util.HashMap; import java.util.Map; public class WeatherSwitchUtil { private static Map<String, String> windPowerMap = getWindInfo(); private static Map<String, String> windDirectMap = getWindDirect(); public static String getWindPower(double windVelocity){ for(Map.Entry map : windPowerMap.entrySet()){ String windRegion = map.getValue().toString(); String windName = map.getKey().toString(); if(windRegion.indexOf("-") != -1){ String[] windRegionArray = windRegion.split("-"); double windMin = Double.parseDouble(windRegionArray[0]); double windMax = Double.parseDouble(windRegionArray[1]); if(windVelocity >= windMin && windVelocity <= windMax + 0.1){ return windName; } } if(windRegion.indexOf(">") != -1){ double windMin = Double.parseDouble(windRegion.split(">")[0]); if(windVelocity >= windMin){ return windName; } } } return "风"; } public static String getWindVelocity(double windVelocity){ for(Map.Entry map : windDirectMap.entrySet()){ String windRegion = map.getValue().toString(); String windName = map.getKey().toString(); if(windRegion.indexOf("-") != -1){ String[] windRegionArray = windRegion.split("-"); double windMin = Double.parseDouble(windRegionArray[0]); double windMax = Double.parseDouble(windRegionArray[1]); if(windVelocity >= windMin && windVelocity <= windMax + 0.01){ return windName; } if(windVelocity >= 348.76 || windVelocity <= 11.25){ return windName; } } } return "风"; } private static Map<String, String> getWindInfo(){ Map<String, String> windPowerMap = new HashMap<>(); windPowerMap.put("无风", "0.0-0.2"); windPowerMap.put("软风", "0.3-1.5"); windPowerMap.put("轻风", "1.6-3.3"); windPowerMap.put("微风", "3.4-5.4"); windPowerMap.put("和风", "5.5-7.9"); windPowerMap.put("清风", "8.0-10.7"); windPowerMap.put("强风", "10.8-13.8"); windPowerMap.put("劲风", "13.9-17.1"); windPowerMap.put("大风", "17.2-20.7"); windPowerMap.put("烈风", "20.8-24.4"); windPowerMap.put("狂风", "24.5-28.4"); windPowerMap.put("暴风", "28.5-32.6"); windPowerMap.put("台风", ">32.6"); return windPowerMap; } private static Map<String, String> getWindDirect(){ Map<String, String> windDirectMap = new HashMap<>(); windDirectMap.put("北", "348.76-11.25"); windDirectMap.put("北东北", "11.26-33.75"); windDirectMap.put("东北", "33.76-56.25"); windDirectMap.put("东东北", "56.26-78.75"); windDirectMap.put("东", "78.76-101.25"); windDirectMap.put("东东南", "101.26-123.75"); windDirectMap.put("东南", "123.76-146.25"); windDirectMap.put("南东南", "146.26-168.75"); windDirectMap.put("南", "168.76-191.25"); windDirectMap.put("南西南", "191.26-213.75"); windDirectMap.put("西南", "213.76-236.25"); windDirectMap.put("西西南", "236.26-258.75"); windDirectMap.put("西", "258.76-281.25"); windDirectMap.put("西西北", "281.76-303.75"); windDirectMap.put("西北", "303.76-326.25"); windDirectMap.put("北西北", "326.26-348.75"); return windDirectMap; } }

讯享网
讯享网private String getWindDirection(double WIN_D_Avg_2mi){ String windDirection; if(WIN_D_Avg_2mi == 0 || WIN_D_Avg_2mi == 360 ){ windDirection = "北"; } else if(WIN_D_Avg_2mi == 90){ windDirection = "东"; } else if(WIN_D_Avg_2mi == 180){ windDirection = "南"; } else if(WIN_D_Avg_2mi == 270){ windDirection = "西"; } else if(WIN_D_Avg_2mi > 0 && WIN_D_Avg_2mi < 90){ windDirection = "东北"; } else if(WIN_D_Avg_2mi > 90 && WIN_D_Avg_2mi < 180){ windDirection = "东南"; } else if(WIN_D_Avg_2mi > 180 && WIN_D_Avg_2mi < 270){ windDirection = "西南"; } else { windDirection = "西北"; } return windDirection; }

 

小讯
上一篇 2025-02-08 13:21
下一篇 2025-03-12 08:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/123077.html