From e6cc379fbef57277568ee667ec07a508b3dcc479 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期四, 29 八月 2024 17:35:35 +0800 Subject: [PATCH] 1. 新增NO监测因子 2. 新增第三方数据接口数据获取相关模块 --- src/main/kotlin/com/flightfeather/uav/domain/entity/BaseRealTimeData.kt | 49 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 44 insertions(+), 5 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 6b4b939..d4d315c 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 /** * 瀹炴椂鐩戞祴鏁版嵁鍩虹被 @@ -67,6 +69,9 @@ @Column(name = "NOI") var noi: Float? = null + @Column(name = "NO") + var no: Float? = null + var velocity: Float? = null @Column(name = "wind_speed") @@ -106,11 +111,38 @@ add(AirData().apply { setData(FactorType.WIND_SPEED, windSpeed) }) add(AirData().apply { setData(FactorType.WIND_DIRECTION, windDirection) }) add(AirData().apply { setData(FactorType.HEIGHT, height) }) + add(AirData().apply { setData(FactorType.NO, no) }) } } + + 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 -> dataTime?.time?.toFloat() + FactorType.WIND_SPEED -> windSpeed + FactorType.WIND_DIRECTION -> windDirection + FactorType.HEIGHT -> height + FactorType.NO -> no + else -> null + } + } + } -fun List<RealTimeDataGrid>.avg(): RealTimeDataGridMin { +fun List<BaseRealTimeData>.avg(): BaseRealTimeData { //椋庡悜閲囩敤鍗曚綅鐭㈤噺娉曟眰鍙栧潎鍊� var u = .0//涓滆タ鏂逛綅鍒嗛噺鎬诲拰 var v = .0//鍗楀寳鏂逛綅鍒嗛噺鎬诲拰 @@ -118,7 +150,7 @@ //闄ら鍚戝鐨勫叾浠栧洜瀛愰噰鐢ㄧ畻鏈钩鍧囨硶姹傚彇鍧囧�� val tmpList = mutableListOf<AvgPair>() - repeat(17) { + repeat(18) { tmpList.add(AvgPair(0f, 0)) } @@ -233,6 +265,12 @@ this.c++ } } + tmpList[17].apply { + it.no?.let { + t += it + this.c++ + } + } } return RealTimeDataGridMin().apply { @@ -257,6 +295,7 @@ velocity = tmpList[14].avg() windSpeed = tmpList[15].avg() height = tmpList[16].avg() + no = tmpList[17].avg() if (c != 0) { val avgU = u / c -- Gitblit v1.9.3