package com.flightfeather.uav.lightshare.service
|
|
import com.flightfeather.uav.domain.entity.GridCell
|
import com.flightfeather.uav.domain.entity.GridData
|
import com.flightfeather.uav.domain.entity.GridDataDetail
|
import com.flightfeather.uav.lightshare.bean.GridDataDetailMixVo
|
|
/**
|
*
|
* @date 2025/1/13
|
* @author feiyu02
|
*/
|
interface SatelliteDataCalculateService {
|
|
/**
|
* 根据卫星遥测网格的中心坐标点,计算网格4个顶点坐标
|
* @param groupId 网格组索引id
|
*/
|
fun calGridVertex(groupId: Int): List<GridCell?>
|
|
/**
|
* 将网格组进行细分
|
* @param groupId 网格组索引id
|
* @param scale 拆分的系数,例如 2,表示将原有网格按边长的 1/2 拆分成 2 * 2 的4个网格
|
*/
|
fun splitGrid(groupId: Int, scale: Int): List<GridCell?>
|
|
/**
|
* 将原始网格的数据映射填充至细分网格
|
* @param groupId 细分网格组索引id
|
* @param dataId 数据索引id
|
*/
|
fun splitData(groupId: Int, dataId:Int): List<GridDataDetail?>
|
|
/**
|
* 将走航监测数据和卫星网格进行融合计算
|
* @param gridData
|
*/
|
fun dataFusion(gridData: GridData): List<GridDataDetail?>
|
|
/**
|
* 走航数据融合
|
* @param groupId 使用的网格组id
|
* @param dataIdList 融合的数据id索引数组
|
*/
|
// Fixme 2025.3.28: 需要和[SatelliteTelemetryService.mixGridData]函数合并
|
fun mixUnderwayGridData(groupId: Int, dataIdList: List<Int>): List<GridDataDetailMixVo>
|
|
/**
|
* 将走航网格数据生成对应的热力网格图
|
* @param groupId 使用的网格组id
|
* @param gridDataDetailList 使用的走航网格数据
|
*/
|
fun buildHeatmap(groupId: Int, gridDataDetailList: List<GridDataDetail>, searchLength:Int): List<GridDataDetail>
|
}
|