From bf3bf9ff25ac106b556b2427cc382c8fcca63bff Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期二, 02 七月 2024 17:38:33 +0800
Subject: [PATCH] 1. 新增走航报告自动道路识别模块
---
src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt | 122 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 122 insertions(+), 0 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
index a2f5f43..0c934b4 100644
--- a/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
+++ b/src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt
@@ -1,5 +1,7 @@
package com.flightfeather.uav.socket.eunm
+import com.flightfeather.uav.biz.dataanalysis.BaseExceptionAnalysis
+
/**
* @author riku
* Date: 2020/6/10
@@ -26,7 +28,23 @@
companion object {
+ /**
+ * 閫氳繃绱㈠紩鑾峰彇鏋氫妇绫诲瀷锛岀敤浜庢暟鎹垎鏋�
+ * @see [BaseExceptionAnalysis]
+ */
fun getByIndex(index: Int): FactorType? = when (index) {
+ 0 -> NO2
+ 1 -> CO
+ 2 -> H2S
+ 3 -> SO2
+ 4 -> O3
+ 5 -> PM25
+ 6 -> PM10
+ 7 -> VOC
+ else -> null
+ }
+
+ fun getByValue(value: Int): FactorType? = when (value) {
NO2.value -> NO2
CO.value -> CO
H2S.value -> H2S
@@ -47,5 +65,109 @@
HEIGHT.value -> HEIGHT
else -> null
}
+
+ fun getByName(name: String?): FactorType? = when (name) {
+ NO2.des -> NO2
+ CO.des -> CO
+ H2S.des -> H2S
+ SO2.des -> SO2
+ O3.des -> O3
+ PM25.des -> PM25
+ PM10.des -> PM10
+ TEMPERATURE.des -> TEMPERATURE
+ HUMIDITY.des -> HUMIDITY
+ VOC.des -> VOC
+ NOI.des -> NOI
+ LNG.des -> LNG
+ LAT.des -> LAT
+ VELOCITY.des -> VELOCITY
+ TIME.des -> TIME
+ WIND_SPEED.des -> WIND_SPEED
+ WIND_DIRECTION.des -> WIND_DIRECTION
+ HEIGHT.des -> HEIGHT
+ else -> null
+ }
+
+ fun getRange(name: String?): Pair<Double, Double>? {
+ getByName(name)?.let {
+ return getRange(it)
+ }
+ return null
+ }
+
+ /**
+ * 鑾峰彇鐩戞祴鍥犲瓙鐨勫悎鐞嗚寖鍥�
+ */
+ fun getRange(type: FactorType): Pair<Double, Double>? = when (type) {
+ NO2 -> Pair(0.1, 1000.0)
+ CO -> Pair(1.0, 5000.0)
+ H2S -> Pair(0.1, 1000.0)
+ SO2 -> Pair(0.1, 1000.0)
+ O3 -> Pair(0.1, 2000.0)
+ PM25 -> Pair(0.1, 5000.0)
+ PM10 -> Pair(0.1, 10000.0)
+ TEMPERATURE -> Pair(-20.0, 70.0)
+ HUMIDITY -> Pair(0.0, 110.0)
+ VOC -> Pair(1.0, 5000.0)
+ NOI -> Pair(0.1, 1000.0)
+ LNG -> Pair(0.0, 180.0)
+ LAT -> Pair(0.0, 90.0)
+ VELOCITY -> Pair(0.0, 500.0)
+ TIME -> null
+ WIND_SPEED -> Pair(0.0, 100.0)
+ WIND_DIRECTION -> Pair(0.0, 360.0)
+ HEIGHT -> Pair(0.0, 1000.0)
+ else -> null
+ }
+
+ fun getVMax(name: String?): Double? {
+ getByName(name)?.let {
+ return getVMax(it)
+ }
+ return null
+ }
+
+ /**
+ * 涓嶅鐞嗕綆浜庢鍊肩殑鍊�
+ */
+ fun getVMax(type: FactorType): Double? = when (type) {
+ NO2 -> 10.0
+ CO -> 100.0
+ H2S -> 10.0
+ SO2 -> 10.0
+ O3 -> 10.0
+ PM25 -> 10.0
+ PM10 -> 10.0
+ TEMPERATURE -> 10.0
+ HUMIDITY -> 10.0
+ VOC -> 10.0
+ NOI -> 10.0
+ LNG -> 0.0
+ LAT -> 0.0
+ VELOCITY -> 0.0
+ TIME -> 0.0
+ WIND_SPEED -> 2.0
+ WIND_DIRECTION -> 0.0
+ HEIGHT -> 0.0
+ else -> null
+ }
+
+ fun outputFactor(factorName: String?): Boolean {
+ return when (factorName) {
+ NO2.des,
+ CO.des,
+ H2S.des,
+ SO2.des,
+ O3.des,
+ PM25.des,
+ PM10.des,
+ TEMPERATURE.des,
+ HUMIDITY.des,
+ VOC.des,
+ WIND_SPEED.des,
+ WIND_DIRECTION.des -> true
+ else -> false
+ }
+ }
}
}
\ No newline at end of file
--
Gitblit v1.9.3