feiyu02
2025-07-11 85909f9a78a328de2bc3efc0d1d184320cb8970b
src/main/kotlin/com/flightfeather/uav/biz/sourcetrace/config/RTExcWindLevelConfig.kt
@@ -10,7 +10,8 @@
 * @date 2025/5/29
 * @author feiyu02
 */
class RTExcWindLevelConfig(factorFilter: FactorFilter): BaseAnalysisConfig(factorFilter) {
class RTExcWindLevelConfig(factorFilter: FactorFilter, combination: List<List<FactorType>>?): BaseAnalysisConfig
    (factorFilter, combination) {
    inner class WindLevelCondition(
        val windSpeed: Pair<Double, Double>,
@@ -65,37 +66,71 @@
    )
    /****数据快速上升*****************************************************************************/
    var changeRateCondition = WindLevelCondition(
        .0 to Double.MAX_VALUE,
        0.1 to Double.MAX_VALUE,
        DistanceType.TYPE1,
        3
    )
    // 监测因子在一个监测周期(4秒)内正常变化的量级范围
    var changeRateUp = mutableMapOf(
    var changeRateUp1 = mutableMapOf(
        FactorType.PM25 to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            .0 to 1.5,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE1,
            3
        ),
        FactorType.PM10 to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            .0 to 1.5,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE1,
            3
        ),
        FactorType.VOC to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            .0 to 1.5,
            6.0 to Double.MAX_VALUE,
            DistanceType.TYPE1,
            1
        ),
    )
    var changeRateUp2 = mutableMapOf(
        FactorType.PM25 to WindLevelCondition(
            1.6 to 7.9,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE3,
            3
        ),
        FactorType.PM10 to WindLevelCondition(
            1.6 to 7.9,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE3,
            3
        ),
        FactorType.VOC to WindLevelCondition(
            1.6 to 7.9,
            6.0 to Double.MAX_VALUE,
            DistanceType.TYPE3,
            1
        ),
    )
    var changeRateUp3 = mutableMapOf(
        FactorType.PM25 to WindLevelCondition(
            8.0 to 13.8,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE4,
            3
        ),
        FactorType.PM10 to WindLevelCondition(
            8.0 to 13.8,
            4.0 to Double.MAX_VALUE,
            DistanceType.TYPE4,
            3
        ),
        FactorType.VOC to WindLevelCondition(
            8.0 to 13.8,
            6.0 to Double.MAX_VALUE,
            DistanceType.TYPE4,
            1
        ),
    )
    /****数据快速下降*****************************************************************************/
    /****数据快速下降提醒*****************************************************************************/
    // 监测因子在一个监测周期(4秒)内正常变化的量级范围
    var changeRateDown = mutableMapOf(
    var changeRateWarnDown = mutableMapOf(
        FactorType.PM25 to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            -Double.MAX_VALUE to -2.0,
@@ -115,4 +150,26 @@
            3
        ),
    )
    /****数据有上升趋势提醒*****************************************************************************/
    var changeRateWarnUp = mutableMapOf(
        FactorType.PM25 to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            2.0 to 4.0,
            DistanceType.TYPE1,
            3
        ),
        FactorType.PM10 to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            2.0 to 4.0,
            DistanceType.TYPE1,
            3
        ),
        FactorType.VOC to WindLevelCondition(
            .0 to Double.MAX_VALUE,
            3.0 to 6.0,
            DistanceType.TYPE1,
            1
        ),
    )
}