From 53857f42f777e2b9753b8f00cce1a60ce3dcb8fd Mon Sep 17 00:00:00 2001
From: Riku <risaku@163.com>
Date: 星期三, 15 十月 2025 22:42:29 +0800
Subject: [PATCH] 2025.10.15 修改高德地图地理逆编码结果,让地理位置信息更加详细
---
src/main/kotlin/com/flightfeather/uav/socket/eunm/FactorType.kt | 68 +++++++++++++++++++++++++++++++--
1 files changed, 63 insertions(+), 5 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 572420e..cd76007 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
@@ -22,11 +24,29 @@
TIME(15, "TIME", 6),//鏃堕棿
WIND_SPEED(16, "WIND_SPEED", 3),
WIND_DIRECTION(17, "WIND_DIRECTION", 2),
- HEIGHT(18, "HEIGHT", 3);
+ HEIGHT(18, "HEIGHT", 3),
+ NO(19, "NO", 6);
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
+ 19 -> NO
+ else -> null
+ }
+
+ fun getByValue(value: Int): FactorType? = when (value) {
NO2.value -> NO2
CO.value -> CO
H2S.value -> H2S
@@ -45,6 +65,7 @@
WIND_SPEED.value -> WIND_SPEED
WIND_DIRECTION.value -> WIND_DIRECTION
HEIGHT.value -> HEIGHT
+ NO.value -> NO
else -> null
}
@@ -67,6 +88,7 @@
WIND_SPEED.des -> WIND_SPEED
WIND_DIRECTION.des -> WIND_DIRECTION
HEIGHT.des -> HEIGHT
+ NO.des -> NO
else -> null
}
@@ -81,6 +103,7 @@
* 鑾峰彇鐩戞祴鍥犲瓙鐨勫悎鐞嗚寖鍥�
*/
fun getRange(type: FactorType): Pair<Double, Double>? = when (type) {
+ NO -> Pair(0.1, 1000.0)
NO2 -> Pair(0.1, 1000.0)
CO -> Pair(1.0, 5000.0)
H2S -> Pair(0.1, 1000.0)
@@ -102,9 +125,9 @@
else -> null
}
- fun getVMax(name: String?): Double? {
+ fun getVMin(name: String?): Double? {
getByName(name)?.let {
- return getVMax(it)
+ return getVMin(it)
}
return null
}
@@ -112,7 +135,8 @@
/**
* 涓嶅鐞嗕綆浜庢鍊肩殑鍊�
*/
- fun getVMax(type: FactorType): Double? = when (type) {
+ fun getVMin(type: FactorType): Double = when (type) {
+ NO -> 1.0
NO2 -> 10.0
CO -> 100.0
H2S -> 10.0
@@ -131,7 +155,41 @@
WIND_SPEED -> 2.0
WIND_DIRECTION -> 0.0
HEIGHT -> 0.0
- else -> null
+ }
+
+ /**
+ * 鍥犲瓙杩炵画鏁版嵁涓婂崌鍚堢悊骞呭害锛堝�嶆暟锛�
+ */
+ fun getMultiplier(name: String?): Double {
+ getByName(name)?.let {
+ return getMultiplier(it)
+ }
+ return 10.0
+ }
+
+ fun getMultiplier(type: FactorType): Double = when (type) {
+ PM25 -> 20.0
+ PM10 -> 20.0
+ VOC -> 10.0
+ else -> 10.0
+ }
+
+ fun isOutputFactor(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