| | |
| | | import com.flightfeather.uav.biz.FactorFilter |
| | | import com.flightfeather.uav.biz.dataanalysis.BaseAnalysisConfig |
| | | import com.flightfeather.uav.biz.sourcetrace.model.DistanceType |
| | | import com.flightfeather.uav.socket.eunm.FactorType |
| | | |
| | | /** |
| | | * |
| | |
| | | |
| | | inner class WindLevelCondition( |
| | | val windSpeed: Pair<Double, Double>, |
| | | val mutationRate: Pair<Double, DistanceType>, |
| | | val mutationRate: Pair<Double, Double>, |
| | | val distanceType: DistanceType, |
| | | val countLimit: Int, |
| | | ) |
| | | |
| | |
| | | var distanceLimit = 3000 |
| | | // 限定时间内(单位:分钟) |
| | | var timeLimit = 3 |
| | | // 溯源扩散偏移角度(单位:度) |
| | | var sourceTraceDegOffset = 60.0 |
| | | // 定时线索分析时间间隔(单位:分钟) |
| | | var analysisPeriod = 15 |
| | | // 定时分析间隔中,立即进行线索分析的最小线索量(单位:个) |
| | | var analysisCount = 4 |
| | | |
| | | /****数据突变*****************************************************************************/ |
| | | // 0 - 1级风 |
| | | var windLevelCondition1 = WindLevelCondition( |
| | | .0 to 1.5, |
| | | 0.5 to DistanceType.TYPE1, |
| | | 0.5 to Double.MAX_VALUE, |
| | | DistanceType.TYPE1, |
| | | 1 |
| | | ) |
| | | |
| | | // 0 - 1级风 |
| | | var windLevelCondition1_1 = WindLevelCondition( |
| | | .0 to 1.5, |
| | | 0.2 to DistanceType.TYPE2, |
| | | 0.2 to 0.5, |
| | | DistanceType.TYPE2, |
| | | 1 |
| | | ) |
| | | |
| | | // 2 - 4级风 |
| | | var windLevelCondition2 = WindLevelCondition( |
| | | 1.6 to 7.9, |
| | | 0.2 to DistanceType.TYPE3, |
| | | 3 |
| | | 0.2 to Double.MAX_VALUE, |
| | | DistanceType.TYPE3, |
| | | // 3 |
| | | 1 |
| | | ) |
| | | |
| | | // 5 - 6级风 |
| | | var windLevelCondition3 = WindLevelCondition( |
| | | 8.0 to 13.8, |
| | | 0.1 to DistanceType.TYPE4, |
| | | 0.1 to Double.MAX_VALUE, |
| | | DistanceType.TYPE4, |
| | | 3 |
| | | ) |
| | | |
| | | // 溯源扩散偏移角度(单位:度) |
| | | var sourceTraceDegOffset = 120.0 |
| | | |
| | | // 定时线索分析时间间隔(单位:分钟) |
| | | var analysisPeriod = 15 |
| | | // 定时分析间隔中,立即进行线索分析的最小线索量(单位:个) |
| | | var analysisCount = 3 |
| | | /****数据变化速率*****************************************************************************/ |
| | | var changeRateCondition = WindLevelCondition( |
| | | .0 to Double.MAX_VALUE, |
| | | 0.1 to Double.MAX_VALUE, |
| | | DistanceType.TYPE1, |
| | | 3 |
| | | ) |
| | | // 监测因子在一个监测周期(4秒)内正常变化的量级范围 |
| | | var changeRate = mutableMapOf( |
| | | FactorType.PM25 to WindLevelCondition( |
| | | .0 to Double.MAX_VALUE, |
| | | 4.0 to Double.MAX_VALUE, |
| | | DistanceType.TYPE1, |
| | | 3 |
| | | ), |
| | | FactorType.PM10 to WindLevelCondition( |
| | | .0 to Double.MAX_VALUE, |
| | | 4.0 to Double.MAX_VALUE, |
| | | DistanceType.TYPE1, |
| | | 3 |
| | | ), |
| | | FactorType.VOC to WindLevelCondition( |
| | | .0 to Double.MAX_VALUE, |
| | | 6.0 to Double.MAX_VALUE, |
| | | DistanceType.TYPE1, |
| | | 1 |
| | | ), |
| | | ) |
| | | } |