瀏覽代碼

模型剪切功能开发完成

wuweihao 3 年之前
父節點
當前提交
cb3751f5ea

+ 0 - 37
laser/src/main/java/com/fdkankan/indoor/core/controller/PoseController.java

@@ -1,37 +0,0 @@
-//package com.fdkankan.indoor.core.controller;
-//
-//import com.fdkankan.indoor.base.aop.WebControllerLog;
-//import com.fdkankan.indoor.base.util.Result;
-//import com.fdkankan.indoor.core.service.ConfigService;
-//import com.fdkankan.indoor.core.service.PoseService;
-//import io.swagger.annotations.Api;
-//import io.swagger.annotations.ApiOperation;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.web.bind.annotation.GetMapping;
-//import org.springframework.web.bind.annotation.PathVariable;
-//import org.springframework.web.bind.annotation.RestController;
-//
-///**
-// * Created by owen on 2021/8/5 0005 20:56
-// * 生成pose.json 给算法部用
-// */
-//@Api(tags = "pose")
-//@RestController
-//public class PoseController {
-//
-//    @Autowired
-//    PoseService poseService;
-//
-//    /**
-//     * 2021-08-31 可能废弃
-//     * @param sceneCode
-//     * @return
-//     */
-//    @WebControllerLog(description = "生成pose.json")
-//    @ApiOperation(value = "生成pose.json")
-//    @GetMapping("indoor/{sceneCode}/api/reposes")
-//    public Object reposes(@PathVariable String sceneCode){
-//        Result result = poseService.reposes(sceneCode);
-//        return result;
-//    }
-//}

+ 3 - 0
laser/src/main/java/com/fdkankan/indoor/core/entity/MergeInfoEntity.java

@@ -30,5 +30,8 @@ public class MergeInfoEntity extends BaseEntity {
     @ApiModelProperty(value = "合并的场景码title")
     private String title;
 
+    @ApiModelProperty(value = "是否显示:0:不显示, 1:显示")
+    private Integer display;
+
 
 }

+ 1 - 1
laser/src/main/java/com/fdkankan/indoor/core/mapper/MergeInfoMapper.java

@@ -15,7 +15,7 @@ public interface MergeInfoMapper extends MongoRepository<MergeInfoEntity, String
 
     void deleteBySceneCodeAndDataSetId(String sceneCode, Integer dataSetId);
 
-    List<MergeInfoEntity> findBySceneCode(String sceneCode);
+    List<MergeInfoEntity> findBySceneCodeAndDisplay(String sceneCode, Integer display);
 
     List<MergeInfoEntity> findByMergeCode(String mergeCode);
 

+ 1 - 1
laser/src/main/java/com/fdkankan/indoor/core/service/MergeInfoService.java

@@ -13,7 +13,7 @@ public interface MergeInfoService {
 
     void removeSceneCodeAndDateSetId(String sceneCode, Integer dataSetId);
 
-    List<MergeInfoEntity> findBySceneCode(String sceneCode);
+    List<MergeInfoEntity> findBySceneCode(String sceneCode, Integer display);
 
     List<MergeInfoEntity> findByMergeCode(String mergeCode);
 

+ 7 - 13
laser/src/main/java/com/fdkankan/indoor/core/service/impl/CutModelServiceImpl.java

@@ -6,31 +6,24 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.indoor.base.constant.CmdConstant;
 import com.fdkankan.indoor.base.constant.ConfigConstant;
-import com.fdkankan.indoor.base.constant.MsgCode;
 import com.fdkankan.indoor.base.convert.GisCoordinateUtil;
 import com.fdkankan.indoor.base.convert.ImageClipUtil;
 import com.fdkankan.indoor.base.exception.BaseRuntimeException;
 import com.fdkankan.indoor.base.util.AliYunOssUtil;
 import com.fdkankan.indoor.base.util.CmdUtils;
-import com.fdkankan.indoor.base.util.MyFileUtils;
 import com.fdkankan.indoor.base.util.Result;
 import com.fdkankan.indoor.core.entity.*;
 import com.fdkankan.indoor.core.entity.dto.CropDto;
 import com.fdkankan.indoor.core.entity.dto.CutModelDto;
 import com.fdkankan.indoor.core.entity.dto.MapDto;
-import com.fdkankan.indoor.core.entity.dto.PoiTypeDto;
 import com.fdkankan.indoor.core.entity.po.DataSetPo;
 import com.fdkankan.indoor.core.entity.po.MapPo;
 import com.fdkankan.indoor.core.mapper.CutModelMapper;
-import com.fdkankan.indoor.core.mapper.InitMapper;
-import com.fdkankan.indoor.core.mapper.MapMapper;
 import com.fdkankan.indoor.core.service.*;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
 
-import java.io.IOException;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
@@ -294,7 +287,7 @@ public class CutModelServiceImpl extends IBaseServiceImpl implements CutModelSer
 
 
         // 2. 合并场景表(t_merge_info)获取dataSetId, 场景码
-        List<MergeInfoEntity> mergeInfo = mergeInfoService.findBySceneCode(sceneCode);
+        List<MergeInfoEntity> mergeInfo = mergeInfoService.findBySceneCode(sceneCode, 1);
 
         int SizeDataSet = dataSetInfos.size();
         int SizeMergeDataSet = mergeInfo.size();
@@ -324,7 +317,7 @@ public class CutModelServiceImpl extends IBaseServiceImpl implements CutModelSer
         // 这个值目前写死
         mergeCut.put("aabb", "b-0.5 -0.5 -0.5 0.5 0.5 0.5");
 
-        // json写入服务器
+        // 剪切模型参数json写入服务器
         String basePath = redisPath(sceneCode);
         if ("dev".equals(configConstant.active)){
             basePath = configConstant.serverBasePath + "/" + sceneCode + "/results/laserData";
@@ -334,7 +327,7 @@ public class CutModelServiceImpl extends IBaseServiceImpl implements CutModelSer
         FileUtil.writeUtf8String(mergeCut.toJSONString(), savePath);
         log.info("剪切参数json写入完成");
 
-         // 剪切并上传模型
+         // 剪切并oss上传模型
         String ossUrl = cutLas(basePath, sceneCode);
 
         // 数据更新到数据库
@@ -372,7 +365,7 @@ public class CutModelServiceImpl extends IBaseServiceImpl implements CutModelSer
      * 2021-9-23
      * 剪切模型 , 并上传oss
      * String ossPath = "data/" +sceneCode + "/data/chunk1/cut/" + time + ".las";
-     * String ossPath = "data/" +sceneCode + "/data/cut/download.las"?time;
+     * String ossPath = "data/" +sceneCode + "/data/cut/download.las"?m=time;
      * @param basePath
      */
     //
@@ -390,10 +383,11 @@ public class CutModelServiceImpl extends IBaseServiceImpl implements CutModelSer
         log.info("剪切模型完成: {}", outPath);
 
         // 将剪裁后的las上传oss
-        String ossPath = "data/" +sceneCode + "/data/cut/download.las";
+//        String ossPath = "data/" +sceneCode + "/data/cut/download.las";
+        String ossPath = "data/" +sceneCode + "/download/merge_cut.las";
         aliYunOssUtil.upload(outPath, ossPath);
 
-        String ossUrl = configConstant.ossDomain + ossPath + "?" + System.currentTimeMillis();
+        String ossUrl = configConstant.ossDomain + ossPath + "?m=" + System.currentTimeMillis();
         log.info("剪切模型上传oss完成: {}", ossUrl);
 
         return ossUrl;

+ 2 - 8
laser/src/main/java/com/fdkankan/indoor/core/service/impl/InitServiceImpl.java

@@ -265,11 +265,9 @@ public class InitServiceImpl implements InitService {
 
 
         // step1: 处理vision.txt 创建filter表, 处理特殊点:firstView
-//        createFilter(sceneCode, laserDataPath, controlPoint);
         createFilter(sceneCode, laserDataPath, calculateEntity, from);
 
         // step2 处理could.js、创建sitModel, 使用的是代码初始化,创建site_model, 处理原点、中心点、最大点、最小点
-//        processCould(sceneCode, laserDataPath, controlPoint);
         processCould(sceneCode, laserDataPath, calculateEntity);
 
         // step6 创建t_configs表, 使用的是模板数据 , 需要firstView;
@@ -277,14 +275,10 @@ public class InitServiceImpl implements InitService {
 
         // step7 创建t_datasets表, 使用的是代码, 需要处理原点之后执行
         DataSetPo dataSet = createDataSet(sceneCode, laserDataPath, calculateEntity.getRotation2(), from);
-//        createDataSet(sceneCode, laserDataPath, calculateEntity);
 
         // step 10 创建 t_tiled_map表, 需要用到dataSet数据
         tiledMapService.init(sceneCode, from);
 
-        // Route数据重新计算, 并保存数据库
-//        routeService.updateRouteByControlPointCalculate(dataSet.getLocation(), dataSet.getOrientation(), sceneCode, calculateEntity, laserDataPath);
-
 
         // step8 目录pano、pano_depth、webcloud上传oss, 初始化合并场景码跟原来的一样
         ossUploadDirByLaserData(sceneCode, laserDataPath, sceneCode);
@@ -872,13 +866,11 @@ public class InitServiceImpl implements InitService {
         // 使用场景码
         mergeDto.setName(sceneCode);
         mergeDto.setTitle(sceneCode);
-//        Integer[] site_model_entity_ids = {10,11,12};
         // 2021-09-06
         Integer[] site_model_entity_ids = {10, 11};
         mergeDto.setSite_model_entity_ids(site_model_entity_ids);
         mergeDto.setSceneNum(sceneCode);
 
-//        laserDataPath = StrUtil.subBefore(laserDataPath, "/results", true);
 
         mergeDto.setPath(laserDataPath);
 
@@ -904,6 +896,8 @@ public class InitServiceImpl implements InitService {
         info.setSceneCode(sceneCode);
         info.setCreateTime(LocalDateTime.now());
         info.setId(SnowFlakeUUidUtils.getUuid("MI"));
+        // 后端使用,默认不显示
+        info.setDisplay(0);
         mergeInfoService.save(info);
         log.info("DataSet合并场景信息创建完成");
 

+ 2 - 3
laser/src/main/java/com/fdkankan/indoor/core/service/impl/MergeInfoServiceImpl.java

@@ -1,7 +1,6 @@
 package com.fdkankan.indoor.core.service.impl;
 
 import com.fdkankan.indoor.core.entity.MergeInfoEntity;
-import com.fdkankan.indoor.core.entity.PoiTypeEntity;
 import com.fdkankan.indoor.core.mapper.MergeInfoMapper;
 import com.fdkankan.indoor.core.service.MergeInfoService;
 import lombok.extern.slf4j.Slf4j;
@@ -34,9 +33,9 @@ public class MergeInfoServiceImpl extends IBaseServiceImpl implements MergeInfoS
     }
 
     @Override
-    public List<MergeInfoEntity> findBySceneCode(String sceneCode) {
+    public List<MergeInfoEntity> findBySceneCode(String sceneCode, Integer display) {
 
-        return entityMapper.findBySceneCode(sceneCode);
+        return entityMapper.findBySceneCodeAndDisplay(sceneCode, display);
     }
 
     @Override

+ 3 - 2
laser/src/main/java/com/fdkankan/indoor/core/service/impl/MergeSceneServiceImpl.java

@@ -148,6 +148,7 @@ public class MergeSceneServiceImpl extends IBaseServiceImpl implements MergeScen
         entity.setTitle(initEntity.getTitle());
         entity.setPath(mergePath);
         entity.setSceneCode(sceneCode);
+        entity.setDisplay(1);
         saveMergeInfo(entity);
 
 
@@ -163,7 +164,7 @@ public class MergeSceneServiceImpl extends IBaseServiceImpl implements MergeScen
     @Override
     public Result getExist(String sceneCode) {
 
-        List<MergeInfoEntity> data = mergeInfoService.findBySceneCode(sceneCode);
+        List<MergeInfoEntity> data = mergeInfoService.findBySceneCode(sceneCode, 1);
 
         return Result.success(data);
     }
@@ -783,7 +784,7 @@ public class MergeSceneServiceImpl extends IBaseServiceImpl implements MergeScen
         List<TiledMapDto> mergeTiledMapData = getMergeTiledMapData(sceneCode, mergeCode, modelSiteId, maxId, path);
 
         if (mergeTiledMapData.size() < 1) {
-            log.warn("需要合并的数据为空, 不需要合并: {}", mergeCode);
+            log.warn("t_tiledMap需要合并的数据为空, 不需要合并: {}", mergeCode);
             return;
         }