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/domain/entity/BaseRealTimeData.kt | 50 ++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt index e16d1f2..3628094 100644 --- a/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt +++ b/src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt @@ -1,18 +1,20 @@ package com.flightfeather.uav.domain.entity +import com.flightfeather.uav.biz.dataprocess.AvgPair import com.flightfeather.uav.common.utils.DateUtil -import com.flightfeather.uav.dataprocess.AvgPair import com.flightfeather.uav.lightshare.bean.DataVo import com.flightfeather.uav.socket.bean.AirData import com.flightfeather.uav.socket.eunm.FactorType import java.math.BigDecimal import java.time.LocalDateTime import java.time.ZoneId -import java.time.ZoneOffset import java.util.* import javax.persistence.Column import javax.persistence.Id -import kotlin.math.* +import kotlin.math.atan +import kotlin.math.cos +import kotlin.math.round +import kotlin.math.sin /** * 瀹炴椂鐩戞祴鏁版嵁鍩虹被 @@ -108,9 +110,48 @@ add(AirData().apply { setData(FactorType.HEIGHT, height) }) } } + + fun getByFactorIndex(i: Int): Float? { + return when (i) { + 0 -> no2 + 1 -> co + 2 -> h2s + 3 -> so2 + 4 -> o3 + 5 -> pm25 + 6 -> pm10 + 7 -> voc + else -> null + } + } + + fun getByFactorType(type: FactorType?): Float? { + return when (type) { + FactorType.NO2 -> no2 + FactorType.CO -> co + FactorType.H2S -> h2s + FactorType.SO2 -> so2 + FactorType.O3 -> o3 + FactorType.PM25 -> pm25 + FactorType.PM10 -> pm10 + FactorType.TEMPERATURE -> temperature + FactorType.HUMIDITY -> humidity + FactorType.VOC -> voc + FactorType.NOI -> noi + FactorType.LNG -> longitude?.toFloat() + FactorType.LAT -> latitude?.toFloat() + FactorType.VELOCITY -> velocity +// FactorType.TIME -> noi + FactorType.WIND_SPEED -> windSpeed + FactorType.WIND_DIRECTION -> windDirection + FactorType.HEIGHT -> height + else -> null + } + } + } -fun List<RealTimeDataGrid>.avg(): RealTimeDataGridMin { +fun List<BaseRealTimeData>.avg(): BaseRealTimeData { //椋庡悜閲囩敤鍗曚綅鐭㈤噺娉曟眰鍙栧潎鍊� var u = .0//涓滆タ鏂逛綅鍒嗛噺鎬诲拰 var v = .0//鍗楀寳鏂逛綅鍒嗛噺鎬诲拰 @@ -262,6 +303,7 @@ val avgU = u / c val avgV = v / c var a = atan(avgU / avgV) + a = Math.toDegrees(a) /** * avgU>0;avgV>0: 鐪熷疄瑙掑害澶勪簬绗竴璞¢檺锛屼慨姝e�间负+0掳 * avgU>0;avgV<0: 鐪熷疄瑙掑害澶勪簬绗簩璞¢檺锛屼慨姝e�间负+180掳 -- Gitblit v1.9.3