| | |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | import javax.annotation.Resource; |
| | | import static com.ard.route.enums.kml.DroneEnumValueEnums.M30_M30T; |
| | | import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK; |
| | | import static com.ard.route.util.InitializationUtils.divided23; |
| | | import static com.ard.route.util.ToolUtils.*; |
| | |
| | | if (ardRouteInfo.getGroupId() == null){ |
| | | ardRouteInfo.setGroupId("0"); |
| | | } |
| | | ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft())); |
| | | KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(),ardRouteInfo.getName()); |
| | | if ("3".equals(ardRouteInfo.getType())){ |
| | | ardRouteInfo.getUavRouteReq().setHeightMode("EGM96"); |
| | | }else { |
| | | ardRouteInfo.getUavRouteReq().setHeightMode("relativeToStartPoint"); |
| | | } |
| | | UavRouteReq uavRouteReq = ardRouteInfo.getUavRouteReq(); |
| | | uavRouteReq.setDroneType(subStringDroneType(ardRouteInfo.getAircraft())); |
| | | // 机场1:M30/M30T 需保留 aircraft 中的子类型(0-67-0 / 0-67-1), |
| | | // 否则 M30T 会按 M30 生成 KMZ(payload 52 而非 53) |
| | | if (M30_M30T.getValue().equals(uavRouteReq.getDroneType())) { |
| | | uavRouteReq.setSubDroneType(subStringSubDroneType(ardRouteInfo.getAircraft())); |
| | | } |
| | | KmzResultVo kmzResult = routeService.buildKmz(uavRouteReq,ardRouteInfo.getName()); |
| | | zoomProcessing(ardRouteInfo); |
| | | ardRouteInfo.setPath(kmzResult.getPath()); |
| | | ardRouteInfo.setReadOnly("0"); |
| | |
| | | // 先删除航线 |
| | | delOssService(route); |
| | | // 再生成航线 |
| | | ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft())); |
| | | UavRouteReq uavRouteReq = ardRouteInfo.getUavRouteReq(); |
| | | uavRouteReq.setDroneType(subStringDroneType(ardRouteInfo.getAircraft())); |
| | | // 机场1:M30T(0-67-1) 需同步子类型,避免编辑后按 M30 重新生成 KMZ |
| | | if (M30_M30T.getValue().equals(uavRouteReq.getDroneType())) { |
| | | uavRouteReq.setSubDroneType(subStringSubDroneType(ardRouteInfo.getAircraft())); |
| | | } |
| | | zoomProcessing(ardRouteInfo); |
| | | kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName()); |
| | | kmzResult = routeService.buildKmz(uavRouteReq, ardRouteInfo.getName()); |
| | | if ("更新航线kmz文件失败".equals(kmzResult.getData())) { |
| | | return 0; |
| | | } |
| | |
| | | // 1.1通过航线数据,转换。 |
| | | ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(id); |
| | | try { |
| | | // if ("3".equals(route.getType())) { |
| | | // UavRouteReq uavRouteReq = new UavRouteReq(); |
| | | // BeanUtils.copyProperties(deserialize(route.getRouteData()), uavRouteReq); |
| | | // route.setUavRouteReq((UavRouteReq) deserialize(route.getRouteData())); |
| | | // }else { |
| | | // route.setUavRouteReq((UavRouteReq) deserialize(route.getRouteData())); |
| | | // } |
| | | route.setUavRouteReq((UavRouteReq) deserialize(route.getRouteData())); |
| | | if (route.getCloudData() != null){ |
| | | route.setArdPointCloudList(deserializeLs(route.getCloudData())); |
| | |
| | | WaylineInfo WaylineInfo = new WaylineInfo(); |
| | | WaylineInfo.setBoxSn(boxSn); |
| | | WaylineInfo.setWaylineId(route.getId()); |
| | | WaylineInfo.setRouteName(route.getName()); |
| | | UavWaylineCache.put(WaylineInfo); |
| | | // 4.调用接口 |
| | | tyService.wayLineUpload(wayLineUploadDTO); |