From 62a55369aa23d4b9cee5e66e0520b3803c33de6f Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期一, 21 六月 2021 13:29:37 +0800
Subject: [PATCH] 1. 新增走航检测污染溯源模型逻辑
---
src/main/kotlin/com/flightfeather/uav/model/epw/WindDisWeight.kt | 11 ++++++++++-
src/main/kotlin/com/flightfeather/uav/model/epw/EPWModel.kt | 19 +++++++++++++++----
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/src/main/kotlin/com/flightfeather/uav/model/epw/EPWModel.kt b/src/main/kotlin/com/flightfeather/uav/model/epw/EPWModel.kt
index be8689e..e3cb9cd 100644
--- a/src/main/kotlin/com/flightfeather/uav/model/epw/EPWModel.kt
+++ b/src/main/kotlin/com/flightfeather/uav/model/epw/EPWModel.kt
@@ -11,8 +11,8 @@
*/
class EPWModel {
-// private val windDirWeight = WindDirWeight()
-// private val windDisWeight = WindDisWeight()
+ private val windDirWeight = WindDirWeight()
+ private val windDisWeight = WindDisWeight()
private lateinit var datas: List<DataVo>
private lateinit var sources: List<Company>
@@ -23,15 +23,26 @@
return@d
}
+ var con = 0
+ var ws = 0.0
+ var wd = 0
+ var hr = 0
+ val lng = d.lng
+ val lat = d.lat
+
sources.forEach s@ { s ->
// 缁忕含搴︽湁鏁堟�у垽鏂�
if (s.ciLongitude == null || s.ciLongitude == BigDecimal(0) || s.ciLatitude == null || s.ciLatitude == BigDecimal(0)) {
return@s
}
- val p1 = Pair(d.lng!!, d.lat!!)
+ val p1 = Pair(lng!!, lat!!)
val p2 = Pair(s.ciLongitude.toDouble(), s.ciLatitude.toDouble())
-// windDirWeight.getWeight(p1, p2)
+ windDirWeight.getWeight(p1, p2, wd)
+
+ windDisWeight.getWeight(p1, p2, ws)
+
+
}
}
}
diff --git a/src/main/kotlin/com/flightfeather/uav/model/epw/WindDisWeight.kt b/src/main/kotlin/com/flightfeather/uav/model/epw/WindDisWeight.kt
index 4a61f24..41a58f4 100644
--- a/src/main/kotlin/com/flightfeather/uav/model/epw/WindDisWeight.kt
+++ b/src/main/kotlin/com/flightfeather/uav/model/epw/WindDisWeight.kt
@@ -1,6 +1,8 @@
package com.flightfeather.uav.model.epw
import com.flightfeather.uav.model.BaseWeight
+import kotlin.math.abs
+import kotlin.math.sqrt
/**
* 椋庨�熻窛绂绘潈閲�
@@ -12,7 +14,14 @@
override val weights: List<Double> = listOf(1.0, 0.8, 0.6, 0.5, 0.3, 0.0)
fun getWeight(dis: Double, ws: Double): Double {
- val value = dis / ws / 60
+ val value = dis / 1000 / ws / 60
return weightCal(value)
}
+
+ fun getWeight(p1: Pair<Double, Double>, p2: Pair<Double, Double>, ws: Double): Double {
+ val dx = p2.first - p1.first
+ val dy = p2.second - p1.second
+ val dis = sqrt(abs(dx * dx) + abs(dy * dy)) * 100
+ return getWeight(dis, ws)
+ }
}
\ No newline at end of file
--
Gitblit v1.9.3