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