Jelajahi Sumber

更新转换modelData

wuweihao 4 tahun lalu
induk
melakukan
7b247da439

+ 4 - 0
gis_service/src/main/java/com/gis/service/SceneService.java

@@ -27,4 +27,8 @@ public interface SceneService extends IBaseService<SceneEntity, Long> {
     Result editUpload(MultipartFile file, String sceneCode);
 
     Result editScene(SceneDataDto param) throws QiniuException;
+
+    Result uploadVisionModelDataToVisionJson(MultipartFile file);
+
+    Result uploadVisionJsonToVisionModelData(MultipartFile file);
 }

+ 66 - 0
gis_service/src/main/java/com/gis/service/impl/SceneServiceImpl.java

@@ -1,5 +1,6 @@
 package com.gis.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.io.FileUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
@@ -401,6 +402,50 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, Long> implem
         return Result.success();
     }
 
+    @Override
+    public Result uploadVisionModelDataToVisionJson(MultipartFile file) {
+        String fileName = file.getOriginalFilename();
+        String s = StringUtils.substringAfterLast(fileName, ".");
+        if (!"modeldata".equals(s)) {
+            return Result.failure("只支持.modeldata文件上传");
+        }
+        String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmssSSS");
+        String visionModelDataPath = FILE_PATH + "convert/" + time + "/" + fileName;
+        String visionJsonPath = FILE_PATH + "convert/" + time + "/vision.json";
+        log.info("visionModelDataPath: " + visionModelDataPath);
+        log.info("visionJsonPath: " + visionJsonPath);
+        try {
+            FileUtil.writeFromStream(file.getInputStream(), visionModelDataPath);
+            ConvertUtils.convertVisionModelDataToTxt(visionModelDataPath, visionJsonPath);
+            log.info("VisionModelDataToVisionJson转换完成");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return Result.success(visionJsonPath);
+    }
+
+    @Override
+    public Result uploadVisionJsonToVisionModelData(MultipartFile file) {
+        String fileName = file.getOriginalFilename();
+        String s = StringUtils.substringAfterLast(fileName, ".");
+        if (!"json".equals(s)) {
+            return Result.failure("只支持.json");
+        }
+        String time = DateUtil.format(new Date(), "yyyyMMdd_HHmmssSSS");
+        String visionJsonPath = FILE_PATH + "convert/" + time + "/" + fileName;
+        String visionModelDataPath = FILE_PATH + "convert/" + time + "/vision.modeldata";
+        log.info("visionModelDataPath: " + visionModelDataPath);
+        log.info("visionJsonPath: " + visionJsonPath);
+        try {
+            FileUtil.writeFromStream(file.getInputStream(), visionJsonPath);
+            ConvertUtils.convertTxtToVisionModelData(visionJsonPath, visionModelDataPath);
+            log.info("visionJsonToVisionModelData转换完成");
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return Result.success(visionModelDataPath);
+    }
+
     /**
      * 处理data.js 文件
      */
@@ -544,4 +589,25 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, Long> implem
         File file = FileUtil.file("https://super.4dage.com/data/690/vision.modeldata");
         FileUtil.writeFromStream(new FileInputStream(file), "F:\\test\\bigScene\\vision.modeldata123");
     }
+
+//
+//    /**
+//     * visionModelData 转 VisionJson
+//     */
+//    @Test
+//    public void visionModelDataToVisionJson() throws Exception {
+//        String visionModelDataPath = "F:\\test\\bigScene\\0303\\vision.modeldata";
+//        String visionJsonPath = "F:\\test\\bigScene\\0303\\vision.json";
+//        ConvertUtils.convertVisionModelDataToTxt(visionModelDataPath, visionJsonPath);
+//    }
+//
+//    /**
+//     * VisionJson 转 visionModelData
+//     */
+//    @Test
+//    public void VisionJsonToVisionModelData() throws Exception {
+//        String visionModelDataPath = "F:\\test\\bigScene\\0302\\vision1.modeldata";
+//        String visionJsonPath = "F:\\test\\bigScene\\0302\\vision.json";
+//        ConvertUtils.convertTxtToVisionModelData(visionJsonPath, visionModelDataPath);
+//    }
 }

+ 63 - 0
gis_web/src/main/java/com/gis/web/controller/ConvertController.java

@@ -0,0 +1,63 @@
+package com.gis.web.controller;
+
+import com.gis.common.proto.util.ConvertUtils;
+import com.gis.common.util.Result;
+import com.gis.service.SceneService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.junit.Test;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * Created by owen on 2021/3/2 0002 15:46
+ *
+ * vision.modeldata 数据转换
+ */
+
+@Api(tags = "数据转换(modeldata互转json)")
+@RestController
+@RequestMapping("api/convert")
+public class ConvertController {
+
+    @Autowired
+    private SceneService sceneService;
+
+    @PostMapping("uploadVisionModelDataToVisionJson")
+    @ApiOperation("VisionModelDataToVisionJson")
+    public Result uploadVisionModelDataToVisionJson(MultipartFile file){
+        return sceneService.uploadVisionModelDataToVisionJson(file);
+    }
+
+    @PostMapping("uploadVisionJsonToVisionModelData")
+    @ApiOperation("VisionJsonToVisionModelData")
+    public Result uploadVisionJsonToVisionModelData(MultipartFile file){
+        return sceneService.uploadVisionJsonToVisionModelData(file);
+    }
+
+
+
+
+    /**
+     * visionModelData 转 VisionJson
+     */
+    @Test
+    public void visionModelDataToVisionJson() throws Exception {
+        String visionModelDataPath = "F:\\test\\bigScene\\0302\\vision.modeldata";
+        String visionJsonPath = "F:\\test\\bigScene\\0302\\vision.json";
+        ConvertUtils.convertVisionModelDataToTxt(visionModelDataPath, visionJsonPath);
+    }
+
+    /**
+     * VisionJson 转 visionModelData
+     */
+    @Test
+    public void VisionJsonToVisionModelData() throws Exception {
+        String visionModelDataPath = "F:\\test\\bigScene\\0302\\vision1.modeldata";
+        String visionJsonPath = "F:\\test\\bigScene\\0302\\vision.json";
+        ConvertUtils.convertTxtToVisionModelData(visionJsonPath, visionModelDataPath);
+    }
+}