1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| package com.flightfeather.uav.biz.sourcetrace.config
|
| import com.flightfeather.uav.biz.FactorFilter
| import com.flightfeather.uav.biz.dataanalysis.BaseAnalysisConfig
| import com.flightfeather.uav.biz.sourcetrace.model.DistanceType
|
| /**
| *
| * @date 2025/5/29
| * @author feiyu02
| */
| class RTExcWindLevelConfig(factorFilter: FactorFilter): BaseAnalysisConfig(factorFilter) {
|
| inner class WindLevelCondition(
| val windSpeed: Pair<Double, Double>,
| val mutationRate: Pair<Double, Double>,
| val distanceType: DistanceType,
| val countLimit: Int,
| )
|
| // 限定距离内(单位:米)
| var distanceLimit = 3000
| // 限定时间内(单位:分钟)
| var timeLimit = 3
|
| // 0 - 1级风
| var windLevelCondition1 = WindLevelCondition(
| .0 to 1.5,
| 0.5 to Double.MAX_VALUE,
| DistanceType.TYPE1,
| 1
| )
|
| // 0 - 1级风
| var windLevelCondition1_1 = WindLevelCondition(
| .0 to 1.5,
| 0.2 to 0.5,
| DistanceType.TYPE2,
| 1
| )
|
| // 2 - 4级风
| var windLevelCondition2 = WindLevelCondition(
| 1.6 to 7.9,
| 0.2 to Double.MAX_VALUE,
| DistanceType.TYPE3,
| // 3
| 1
| )
|
| // 5 - 6级风
| var windLevelCondition3 = WindLevelCondition(
| 8.0 to 13.8,
| 0.1 to Double.MAX_VALUE,
| DistanceType.TYPE4,
| 3
| )
|
| // 溯源扩散偏移角度(单位:度)
| var sourceTraceDegOffset = 120.0
|
| // 定时线索分析时间间隔(单位:分钟)
| var analysisPeriod = 15
| // 定时分析间隔中,立即进行线索分析的最小线索量(单位:个)
| var analysisCount = 2
|
|
|
| // // 0 - 1级风
| // var windLevelCondition1 = WindLevelCondition(
| // .0 to 1.5,
| // listOf(0.5 to DistanceType.TYPE1, 0.2 to DistanceType.TYPE2,),
| // listOf(1, 1)
| // )
| //
| // // 0 - 1级风
| // var windLevelCondition1_1 = WindLevelCondition(
| // .0 to 1.5,
| // 0.2 to DistanceType.TYPE2,
| // 1
| // )
| //
| // // 2 - 4级风
| // var windLevelCondition2 = WindLevelCondition(
| // 1.6 to 7.9,
| // listOf(0.2 to DistanceType.TYPE3),
| //// listOf(3)
| // listOf(1)
| // )
| //
| // // 5 - 6级风
| // var windLevelCondition3 = WindLevelCondition(
| // 8.0 to 13.8,
| // listOf(0.1 to DistanceType.TYPE4),
| // listOf(3)
| // )
| }
|
|