package org.sxkj.odm.service;
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.extension.service.IService;
|
import org.locationtech.jts.geom.Point;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.sxkj.odm.entity.*;
|
import org.sxkj.odm.vo.MapLatLng;
|
import org.sxkj.odm.vo.OdmTaskInfoQueryParam;
|
import org.sxkj.odm.vo.OdmTaskInfoVO;
|
import org.sxkj.odm.vo.OdmTaskTilesVo;
|
import org.sxkj.system.vo.TreeVo;
|
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* odm 任务信息接口服务层
|
* @author zhongrj
|
* @date 2024/09/11
|
* @version 0.1
|
*/
|
public interface IOdmTaskInfoService extends IService<OdmTaskInfo> {
|
|
/**
|
* 自定义分页列表查询
|
* @param page
|
* @param odmTaskInfo
|
* @return
|
*/
|
IPage<OdmTaskInfoVO> selectOdmTaskInfoPage(IPage<OdmTaskInfoVO> page, OdmTaskInfoVO odmTaskInfo);
|
|
/**
|
* 创建 odm 任务--定时创建
|
* @return
|
*/
|
Boolean createWebOdmTask();
|
|
/**
|
* odm 任务创建
|
* @param jobId 航线任务id
|
* @param ortRes 正射影像的分辨率,单位为 cm/pixel
|
* @return
|
*/
|
Boolean createWebOdmTask(String jobId,Double ortRes);
|
|
/**
|
* 定时补漏odm任务的的生成(由其他原因到时没有创建到任务的)
|
* @return
|
*/
|
Boolean leakRepairOdmTask();
|
|
/**
|
* 保存 odm 任务信息
|
* @param jobId
|
* @return
|
*/
|
Boolean saveOdmTaskInfo(String jobId);
|
|
/**
|
* 获取正射影像信息
|
* @param jobId 航线任务id
|
* @return
|
*/
|
String getOrthoimageUrl(String jobId);
|
|
/**
|
* 定时更新odm 任务状态
|
* @return
|
*/
|
Integer updateOdmTaskInfo();
|
|
/**
|
* 获取正射影像服务信息
|
* @param dkbh 图斑编号
|
* @param workspaceId 项目id
|
* @return
|
*/
|
R getOrthoimageInfo(String dkbh,String workspaceId,String jobId);
|
|
/**
|
* 获取正射影像列表信息
|
* @param lotInfoId 图斑id
|
* @param workspaceId 项目id
|
* @return
|
*/
|
R getOrthoimageInfos(String lotInfoId,String workspaceId,String jobId);
|
|
/**
|
* 自定义删除
|
* @param idList
|
* @return
|
*/
|
Boolean removeOdmTaskByIds(List<Long> idList);
|
|
/**
|
* 定时任务----异常 odm 任务重试
|
* @return
|
*/
|
Boolean runErrorWebOdmTask();
|
|
/**
|
* 更新正射影像tif 信息到 附件表
|
* @return
|
*/
|
R updateOrthoimageToAttach();
|
|
/**
|
* odm 任务重启
|
* @param taskId 航线任务id
|
* @return
|
*/
|
Boolean restartOdmTask(String taskId);
|
|
/**
|
* 获取odm 任务下载url
|
* @param dkbh
|
* @param workspaceId
|
* @return
|
*/
|
String getOdmTaskDownUrl(String dkbh, String workspaceId,String jobId);
|
|
/**
|
* 定时删除odm临时文件任务
|
* @return
|
*/
|
boolean deletedOdmTempFile();
|
|
/**
|
* 定时删除odm拼图任务中失效的文件
|
* @return
|
*/
|
boolean deletedOdmTaskInVFile();
|
|
/**
|
* 定时删除odm拼图任务中重复的任务(同一个图斑多个任务,保留最新的)
|
* @return
|
*/
|
boolean deletedRepOdmTask();
|
|
/**
|
* 定时删除odm拼图任务(航线任务已删除的)
|
* @return
|
*/
|
boolean delRepOdmTaskByNoWayJob();
|
|
/**
|
* tif 图片解析
|
* @param dkbh 地块编号
|
* @param flag 是否已完成拼图任务
|
* @return
|
*/
|
String tifParse(String dkbh,Boolean flag,String tifPath);
|
|
List<MyPoint> getPixelByPointList(String inputPath, List<Point> pointList);
|
|
/**
|
* 处理没有 tif 画面的
|
* @return
|
*/
|
boolean handleNotParseTif();
|
|
/**
|
* 定时删除odm拼图任务(保留一个月内的数据) 按天来,动态传参
|
* @param day 天
|
* @return
|
*/
|
boolean delRepOdmTaskByBefOneMon(Integer day);
|
|
/**
|
* 历史odm tif 数据处理
|
* @return
|
*/
|
Boolean hisOdmTaskTifDataHandler();
|
|
/**
|
* 视频处理成3d 白膜测试
|
* @return
|
*/
|
boolean videoToOdm(String jobId);
|
|
/**
|
* 根据经纬度获取tif数据
|
* @param longitude 经度
|
* @param latitude 纬度
|
* @return tif数据
|
*/
|
List<OdmTaskInfo> getTifDataByCoord(double longitude, double latitude);
|
|
/**
|
* 根据经纬度10公里获取tif数据
|
* @param longitude 经度
|
* @param latitude 纬度
|
* @return tif数据
|
*/
|
List<OdmTaskInfo> getAllTifDataByCoord(double longitude, double latitude);
|
|
/**
|
* 查询地图位置上3d-tiles数据
|
* @param dto
|
* @return
|
*/
|
TreeVo getVoxGridTilesList(OdmTaskInfoQueryParam dto);
|
|
/**
|
* 查询地图位置上3d-tiles数据-单机巢
|
* @param dto
|
* @return
|
*/
|
List<OdmTaskTilesVo> getVoxGridTilesListBySinglePlayer(OdmTaskInfoQueryParam dto);
|
|
/**
|
* 历史 odm 新增相关字段数据补充
|
* @return
|
*/
|
int historyOdmTaskDataHandler();
|
|
/**
|
* 测试远程调用资源模块
|
* @return
|
*/
|
Boolean testToResource(MultipartFile file);
|
|
/**
|
* 更新三维白膜信息到 附件表
|
* @return
|
*/
|
R updateVoxGridTilesToAttach();
|
|
/**
|
* 3d白膜部分生成失败补充
|
* @return
|
*/
|
void tilesSup();
|
|
/**
|
* 实景三维生成失败补充
|
* @return
|
*/
|
void liveTilesSup();
|
|
/**
|
* 3d白膜部分生成失败补充
|
* @param odmTaskInfo
|
* @return
|
*/
|
void tilesSupByParam(OdmTaskInfoVO odmTaskInfo);
|
|
/**
|
* tif 图片解析
|
* @param request
|
* @return
|
*/
|
TifParseResponse tifParseNew(TifParseRequest request);
|
|
/**
|
* 获取历史 obj 网格数据
|
* @return
|
*/
|
int getHisObjGridData();
|
|
/**
|
* 处理历史已飞的点云提取建筑生成白膜
|
* @return
|
*/
|
Boolean handleHistoryPointCloudTo3dtiles();
|
|
/**
|
* 获取历史 点云数据
|
* @return
|
*/
|
int getHisPointCloudData();
|
|
/**
|
* 航线路径规划
|
* @param param
|
* @return
|
*/
|
List<PointParam> waylineFlightPathPlanning(List<PointParam> param);
|
|
/**
|
* 生成网格任务
|
*/
|
void generateGridTask();
|
|
/**
|
* 保存禁飞区面数据
|
* @param height 高度
|
* @param geoData geo 数据
|
* @return
|
*/
|
Map<String, Object> saveMultipolygonInfo(Double height, String geoData);
|
|
/**
|
*
|
* @param ids
|
*/
|
Boolean deleteGrid(String ids);
|
|
/**
|
* 初始化机场地形高度
|
* @param centerLon
|
* @param centerLat
|
* @param dockSn
|
* @return
|
*/
|
Boolean initAirportTerrainHeight(String centerLon, String centerLat, String dockSn);
|
|
/**
|
* 获取航线最大地形高度
|
* @param mapLatLng
|
* @return
|
*/
|
Integer getWaylineMaxTerrainHeight(List<MapLatLng> mapLatLng);
|
|
/**
|
* 删除机场地形高度
|
* @param dockSn
|
* @return
|
*/
|
Integer deleteAirportTerrainHeight(String dockSn);
|
|
/**
|
* 缓存机场地形高度参数
|
* @param centerLon
|
* @param centerLat
|
* @param dockSn
|
*/
|
Integer cacheAirportTerrainHeightParams(String centerLon, String centerLat, String dockSn);
|
|
/**
|
* 获取机场地形高度参数
|
* @return
|
*/
|
Map<String, String> getAirportTerrainHeightParams();
|
}
|