feiyu02
2025-03-28 8cf331411ea79c0d83e00657ed1374b29b09f4d7
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package com.flightfeather.uav.lightshare.service
 
import com.flightfeather.uav.domain.entity.GridCell
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 missionCode
     * @param groupId
     */
    fun dataFusion(missionCode: String, groupId: Int): List<GridDataDetail?>
 
    /**
     * 走航数据融合
     * @param groupId 使用的网格组id
     * @param dataIdList 融合的数据id索引数组
     */
    // Fixme 2025.3.28: 需要和[SatelliteTelemetryService.mixGridData]函数合并
    fun mixGridData(groupId: Int, dataIdList: List<Int>): List<GridDataDetailMixVo>
 
    /**
     * 将走航网格数据生成对应的热力网格图
     * @param groupId 使用的网格组id
     * @param gridDataDetailList 使用的走航网格数据
     */
    fun buildHeatmap(groupId: Int, gridDataDetailList: List<GridDataDetail>, searchLength:Int): List<GridDataDetail>
}