feiyu02
2025-09-30 94fee0b511279679b43e210878d3d36e5a14384b
src/main/kotlin/com/flightfeather/uav/domain/entity/ExpandFun.kt
@@ -7,9 +7,6 @@
import com.flightfeather.uav.socket.bean.AirData
import com.flightfeather.uav.socket.eunm.FactorType
import com.flightfeather.uav.socket.eunm.FactorType.*
import java.time.LocalDateTime
import java.time.ZoneId
import java.util.*
import kotlin.math.atan
import kotlin.math.cos
import kotlin.math.round
@@ -26,7 +23,7 @@
    list.add("纬度")
    val values = GsonUtils.parserJsonToArrayBeans(factors, AirData::class.java)
    values.forEach {
        if (FactorType.outputFactor(it.factorName)) {
        if (FactorType.isOutputFactor(it.factorName)) {
            val name = it.factorName ?: ""
            list.add(name)
//            list.add("$name(物理量)")
@@ -51,7 +48,7 @@
    }
    val values = GsonUtils.parserJsonToArrayBeans(factors, AirData::class.java)
    values.forEach {
        if (FactorType.outputFactor(it.factorName)) {
        if (FactorType.isOutputFactor(it.factorName)) {
            row.add(it.factorData ?: -1.0)
//            row.add(it.physicalQuantity ?: -1.0)
        }
@@ -146,6 +143,26 @@
    }
}
fun GridDataDetail.getByFactorType(type: FactorType?): Float? {
    return when (type) {
        NO2 -> no2
        CO -> co
        H2S -> h2s
        SO2 -> so2
        O3 -> o3
        PM25 -> pm25
        PM10 -> pm10
        TEMPERATURE -> temperature
        HUMIDITY -> humidity
        VOC -> voc
        NOI -> noi
        WIND_SPEED -> windSpeed
        WIND_DIRECTION -> windDirection
        NO -> no
        else -> null
    }
}
fun List<GridDataDetail>.avg(): GridDataDetail {
    //风向采用单位矢量法求取均值
    var u = .0//东西方位分量总和