| | |
| | | * @date 2025/5/8 |
| | | * @author feiyu02 |
| | | */ |
| | | |
| | | @Deprecated("2025.5.29, 逻辑与业务不匹配,后续删除") |
| | | class RealTimeExceptionAnalysisController { |
| | | |
| | | constructor(sceneInfoRep: SceneInfoRep, factorFilter: FactorFilter?) { |
| | |
| | | .withMain(FactorType.VOC) |
| | | .create() |
| | | ) |
| | | initTask(config) |
| | | initTask() |
| | | } |
| | | |
| | | constructor(sceneInfoRep: SceneInfoRep) : this(sceneInfoRep, null) |
| | |
| | | |
| | | private val taskList = mutableListOf<BaseExceptionAnalysis<RealTimeAnalysisConfig, RealTimeExceptionResult>>() |
| | | |
| | | private fun initTask(config: RealTimeAnalysisConfig) { |
| | | fun initTask() { |
| | | taskList.clear() |
| | | taskList.apply { |
| | | add( |
| | |
| | | |
| | | // 更新中间点信息 |
| | | ex.midData = avgData.apply { |
| | | dataTime = midData.dataTime |
| | | createTime = midData.createTime |
| | | longitude = midData.longitude |
| | | latitude = midData.latitude |
| | | } |
| | | }.toDataVo() |
| | | // 更新溯源范围内的污染场景信息 |
| | | ex.relatedSceneList = result |
| | | } |
| | |
| | | val eDeg = windDir + defaultDegOffset |
| | | val distance = windSpeed * durationMin * 60 |
| | | |
| | | // 左侧(逆时针侧)顶点 |
| | | val p1 = MapUtil.getPointByLen(center, distance, sDeg * PI / 180) |
| | | // 风向反向顶点 |
| | | val p2 = MapUtil.getPointByLen(center, distance, windDir * PI / 180) |
| | | // 右侧(顺时针侧)顶点 |
| | | val p3 = MapUtil.getPointByLen(center, distance, eDeg * PI / 180) |
| | | val result = mutableListOf(center) |
| | | var startDeg = sDeg |
| | | while (startDeg < eDeg) { |
| | | val p = MapUtil.getPointByLen(center, distance, startDeg * PI / 180) |
| | | result.add(p) |
| | | startDeg++ |
| | | } |
| | | |
| | | return listOf(center, p1, p2, p3) |
| | | return result |
| | | |
| | | // // 左侧(逆时针侧)顶点 |
| | | // val p1 = MapUtil.getPointByLen(center, distance, sDeg * PI / 180) |
| | | // // 风向反向顶点 |
| | | // val p2 = MapUtil.getPointByLen(center, distance, windDir * PI / 180) |
| | | // // 右侧(顺时针侧)顶点 |
| | | // val p3 = MapUtil.getPointByLen(center, distance, eDeg * PI / 180) |
| | | // |
| | | // return listOf(center, p1, p2, p3) |
| | | } |
| | | |
| | | } |