| | |
| | | add(AirData().apply { setData(FactorType.WIND_SPEED, windSpeed) }) |
| | | add(AirData().apply { setData(FactorType.WIND_DIRECTION, windDirection) }) |
| | | 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 |
| | | add(AirData().apply { setData(FactorType.NO, no) }) |
| | | } |
| | | } |
| | | |
| | |
| | | FactorType.LNG -> longitude?.toFloat() |
| | | FactorType.LAT -> latitude?.toFloat() |
| | | FactorType.VELOCITY -> velocity |
| | | // FactorType.TIME -> noi |
| | | // FactorType.TIME -> dataTime?.time?.toFloat() |
| | | FactorType.WIND_SPEED -> windSpeed |
| | | FactorType.WIND_DIRECTION -> windDirection |
| | | FactorType.HEIGHT -> height |
| | | FactorType.NO -> no |
| | | else -> null |
| | | } |
| | | } |
| | |
| | | |
| | | //除风向外的其他因子采用算术平均法求取均值 |
| | | val tmpList = mutableListOf<AvgPair>() |
| | | repeat(17) { |
| | | repeat(18) { |
| | | tmpList.add(AvgPair(0f, 0)) |
| | | } |
| | | |
| | |
| | | this.c++ |
| | | } |
| | | } |
| | | tmpList[17].apply { |
| | | it.no?.let { |
| | | t += it |
| | | this.c++ |
| | | } |
| | | } |
| | | } |
| | | |
| | | return RealTimeDataGridMin().apply { |
| | |
| | | velocity = tmpList[14].avg() |
| | | windSpeed = tmpList[15].avg() |
| | | height = tmpList[16].avg() |
| | | no = tmpList[17].avg() |
| | | |
| | | if (c != 0) { |
| | | val avgU = u / c |