SceneUtil.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.fdkankan.common.util;
  2. import cn.hutool.core.io.FileUtil;
  3. import com.alibaba.fastjson.JSON;
  4. import com.alibaba.fastjson.JSONArray;
  5. import com.alibaba.fastjson.JSONObject;
  6. import com.fdkankan.common.constant.ConstantFilePath;
  7. import java.io.File;
  8. import java.nio.charset.Charset;
  9. import java.util.List;
  10. import java.util.stream.Collectors;
  11. /**
  12. * <p>
  13. * 此工具类提供场景信息处理相关工具函数
  14. * </p>
  15. *
  16. * @author dengsixing
  17. * @since 2022/3/10
  18. **/
  19. public class SceneUtil {
  20. public static String getPath(String path, String cameraName, String fileId, int cameraType, String unicode){
  21. if(cameraType < 3){
  22. return path;
  23. }
  24. String localPath = cameraName.replace("4DKKPRO_", "")
  25. .replace("-fdage", "").toLowerCase() +
  26. File.separator + fileId + File.separator + unicode;
  27. if(cameraType == 5 || cameraType == 6){
  28. path = ConstantFilePath.BUILD_MODEL_PATH + unicode;
  29. }else if(cameraType == 14) {
  30. path = ConstantFilePath.BUILD_MODEL_LASER_PATH + localPath;
  31. } else{
  32. path = ConstantFilePath.BUILD_MODEL_PATH + localPath;
  33. }
  34. return path;
  35. }
  36. /**
  37. * 根据vision.txt获取全景图名称列表
  38. * @param visionPath
  39. * @return
  40. */
  41. public static List<String> getPanoramaImageList(String visionPath){
  42. String visionTxt = FileUtil.readString(visionPath, Charset.forName("UTF-8"));
  43. JSONObject visionObject = JSON.parseObject(visionTxt);
  44. JSONArray sweepLocations = visionObject.getJSONArray("sweepLocations");
  45. List<String> imageList = sweepLocations.parallelStream().map(o -> {
  46. JSONObject item = (JSONObject) o;
  47. return item.getString("uuid") + ".jpg";
  48. }).collect(Collectors.toList());
  49. return imageList;
  50. }
  51. }