生活随笔
收集整理的這篇文章主要介紹了
空气质量综合指数JAVA算法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要求
參考資料:
名詞解釋:
臭氧8小時,也稱臭氧8小時滑動平均,即以一天中最大的連續8小時臭氧濃度均值作為評價這一天臭氧污染水平的標準。通常發生在午后光照強溫度高的時段。90百分位表示精確到小數點后2位數。
一氧化碳日均值第95百分位數濃度:
比如20個數字組成的數列,先從小到大排列,第95百分數就是第19個數。第50百分數就是中位數。
package com
.en
.utils
.util
;import java
.util
.Arrays
;
public class AreaCompositeUtil {private static final double DAILYLEVEL_2_SO2
=150;private static final double DAILYLEVEL_2_NO2
=80;private static final double DAILYLEVEL_2_PM10
=150;private static final double DAILYLEVEL_2_PM25
=75;private static final double DAILYLEVEL_2_CO
=4;private static final double DAILYLEVEL_2_O3
=160;public static double getPotency(double SO2MonthlyMean
, double NO2MonthlyMean
, double PM10MonthlyMean
,double PM25MonthlyMean
, double[] CODailyMean
,double[] O3Hour_8
){Arrays
.sort(CODailyMean
);double Percentile_CO
=CODailyMean
[new Double(CODailyMean
.length
/100*1.0*95).intValue()];double O3Acount_8
=0.0;for(Double O3
:O3Hour_8
){O3Acount_8
+=O3
;}O3Acount_8
=Double
.parseDouble(String
.format("%.2f",O3Acount_8
/8*1.0));return getSingleIndex(SO2MonthlyMean
,NO2MonthlyMean
,PM10MonthlyMean
,PM25MonthlyMean
,Percentile_CO
,O3Acount_8
);}private static double getSingleIndex(double SO2MonthlyMean
, double NO2MonthlyMean
, double PM10MonthlyMean
,double PM25MonthlyMean
, double Percentile_CO
,double O3Acount_8
){double Ii_SO2
=SO2MonthlyMean
/DAILYLEVEL_2_SO2
;double Ii_NO2
=NO2MonthlyMean
/DAILYLEVEL_2_NO2
;double Ii_PM10
=PM10MonthlyMean
/DAILYLEVEL_2_PM10
;double Ii_PM25
=PM25MonthlyMean
/DAILYLEVEL_2_PM25
;double Ii_CO
=Percentile_CO
/DAILYLEVEL_2_CO
;double Ii_O3
=O3Acount_8
/DAILYLEVEL_2_O3
;return getCompositeIndex(Ii_SO2
,Ii_NO2
,Ii_PM10
,Ii_PM25
,Ii_CO
,Ii_O3
);}private static double getCompositeIndex(double Ii_SO2
,double Ii_NO2
,double Ii_PM10
,double Ii_PM25
,double Ii_CO
,double Ii_O3
){return Double
.parseDouble(String
.format("%.2f",(Ii_SO2
+Ii_NO2
+Ii_PM10
+Ii_PM25
+Ii_CO
+Ii_O3
)));}}
總結
以上是生活随笔為你收集整理的空气质量综合指数JAVA算法的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。