From 88ae069fcf657c1790bb04b444e150c06f04e5f6 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 30 十二月 2021 11:50:46 +0800 Subject: [PATCH] 1. 网格化风向权重分析完善 --- src/main/kotlin/com/flightfeather/uav/model/epw/WindDirWeight.kt | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/model/epw/WindDirWeight.kt b/src/main/kotlin/com/flightfeather/uav/model/epw/WindDirWeight.kt index 1ede99c..927fae2 100644 --- a/src/main/kotlin/com/flightfeather/uav/model/epw/WindDirWeight.kt +++ b/src/main/kotlin/com/flightfeather/uav/model/epw/WindDirWeight.kt @@ -2,6 +2,7 @@ import com.flightfeather.uav.lightshare.bean.CompanySOP import com.flightfeather.uav.lightshare.bean.DataVo +import com.flightfeather.uav.model.BaseSOP import com.flightfeather.uav.model.BaseWeight import com.flightfeather.uav.socket.eunm.FactorType import kotlin.math.PI @@ -11,7 +12,7 @@ /** * 椋庡悜鏉冮噸 */ -class WindDirWeight : BaseWeight<DataVo, CompanySOP>() { +class WindDirWeight(var defaultLocation: Pair<Double, Double>?) : BaseWeight<DataVo, BaseSOP>() { override val tag: String = "椋庡悜鏉冮噸" @@ -19,8 +20,9 @@ override val weights: List<Double> = listOf(1.0, 0.8, 0.5, 0.2, 0.1) - override fun onWeightFactor(mData: DataVo, sop: CompanySOP): Double? { - val p1 = Pair(mData.lng!!, mData.lat!!) + override fun onWeightFactor(mData: DataVo, sop: BaseSOP): Double { + val p1 = if (mData.lng == null || mData.lat == null || mData.lng == .0 || mData.lat == .0) defaultLocation else Pair(mData.lng!!, mData.lat!!) + p1 ?: return .0 val p2 = Pair(sop.ciLongitude!!.toDouble(), sop.ciLatitude!!.toDouble()) val wd = mData.getFactorData(FactorType.WIND_DIRECTION) ?: 0.0 return getAngle(p1, p2, wd) @@ -37,6 +39,7 @@ x1 = abs(x2 - x1) if (x1 > 180) x1 = 360 - x1 // println("澶硅锛�$x1") + x1 = 180 - x1 return x1 } } \ No newline at end of file -- Gitblit v1.9.3