package com.flightfeather.uav.biz.datamerge
|
|
import com.flightfeather.uav.lightshare.bean.DataVo
|
|
/**
|
* 网格融合模式:根据走航范围,划分矩形网格,将所有监测数据根据经纬度划分至对应网格,计算获取网格监测数据均值;
|
* @date 2024/6/26
|
* @author feiyu02
|
*/
|
class GridMerge {
|
|
fun merge(data:List<DataVo>) {
|
//1. 确定数据范围,用矩形框出所有监测数据
|
val lt = foo1(data)
|
//2. 根据正方形网格的边长,计算得出所有正方形网格
|
|
//3. 匹配监测数据和对应网格,计算网格均值
|
}
|
|
/**
|
* 获取最小经度及最大纬度的点
|
*/
|
fun foo1(data: List<DataVo>): Pair<Double, Double> {
|
var minLng = -1.0
|
var maxLat = -1.0
|
data.forEach {
|
it.lng ?: return@forEach
|
it.lat ?: return@forEach
|
if (minLng < 0 || it.lng!! < minLng) minLng = it.lng!!
|
if (maxLat < 0 || it.lat!! > maxLat) maxLat = it.lat!!
|
}
|
return minLng to maxLat
|
}
|
}
|