| | |
| | | // 返回乡镇和街道名称组合 |
| | | return address.township |
| | | } |
| | | |
| | | /** |
| | | * 数据清洗 |
| | | * 1. 修复由于硬件设备卡顿导致的数据采样时间不变问题,采用自动累加数据周期的方式修改采样时间 |
| | | * @param data 原始数据列表 |
| | | * @param period 数据周期,单位:秒 |
| | | * @return 清洗后需要修改的数据列表 |
| | | */ |
| | | fun dataClean(dataList: List<BaseRealTimeData>, period: Long): List<BaseRealTimeData> { |
| | | val cleanedData = mutableListOf<BaseRealTimeData>() |
| | | var errorData: BaseRealTimeData? = null |
| | | dataList.forEachIndexed { index, data -> |
| | | if (index == 0) { |
| | | return@forEachIndexed |
| | | } |
| | | val lastOne = dataList[index - 1] |
| | | if (errorData == null) { |
| | | if (data.dataTime!!.time == lastOne.dataTime!!.time) { |
| | | data.dataTime?.time = lastOne.dataTime?.time!!.plus(period * 1000) |
| | | cleanedData.add(data) |
| | | errorData = lastOne |
| | | } |
| | | } else { |
| | | if (data.dataTime!!.time == errorData!!.dataTime!!.time) { |
| | | data.dataTime?.time = lastOne.dataTime?.time!!.plus(period * 1000) |
| | | cleanedData.add(data) |
| | | } else { |
| | | errorData = null |
| | | } |
| | | } |
| | | } |
| | | return cleanedData |
| | | } |
| | | } |