| | |
| | | package com.ard.route.util; |
| | | |
| | | import com.ard.oss.service.impl.OssServiceContext; |
| | | import com.ard.route.domain.djuav.ActionGroupReq; |
| | | import com.ard.route.domain.djuav.PointActionReq; |
| | | import com.ard.route.domain.djuav.RoutePointReq; |
| | |
| | | import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.io.InputStream; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | |
| | | |
| | | public class UavRouteReqUtils { |
| | | |
| | | @Resource |
| | | private OssServiceContext ossService; |
| | | |
| | | // 将文件转换成 UavRouteReq 实体 |
| | | public static KmzInfoVo fileConversionEntity(MultipartFile file){ |
| | | public static UavRouteReq fileConversionEntity(MultipartFile file){ |
| | | KmzInfoVo kmzInfoVO = new KmzInfoVo(); |
| | | try (InputStream inputStream = file.getInputStream(); |
| | | ArchiveInputStream archiveInputStream = new ZipArchiveInputStream(inputStream)){ |
| | |
| | | kmzInfoVO.setWpmlInfo(RouteFileUtils.parseKml(archiveInputStream)); |
| | | } |
| | | } |
| | | return kmzInfoVO; |
| | | return kmzInfoVoToUavRouteReq(kmzInfoVO); |
| | | }catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | public static UavRouteReq kmzInfoVOToUavRouteReq(KmzInfoVo vo) { |
| | | public static UavRouteReq kmzInfoVoToUavRouteReq(KmzInfoVo vo) { |
| | | UavRouteReq uavRouteReq = new UavRouteReq(); |
| | | if (vo.getKmlInfo().getDocument().getFolder().getTemplateType() != null){ |
| | | uavRouteReq.setTemplateType(vo.getKmlInfo().getDocument().getFolder().getTemplateType()); |
| | |
| | | pointActionReq.setGimbalYawRotateAngle(Double.valueOf(kmlAction.getActionActuatorFuncParam().getGimbalYawRotateAngle())); |
| | | } |
| | | } |
| | | if ("zoom".equals(kmlAction.getActionActuatorFunc())) { |
| | | if ("zoom".equals(kmlAction.getActionActuatorFunc())) { // 变焦 |
| | | pointActionReq.setZoom(Double.valueOf(kmlAction.getActionActuatorFuncParam().getFocalLength())); |
| | | } |
| | | if ("hover".equals(kmlAction.getActionActuatorFunc())) { |
| | | if ("hover".equals(kmlAction.getActionActuatorFunc())) { // 悬停 |
| | | pointActionReq.setHoverTime(Integer.valueOf(kmlAction.getActionActuatorFuncParam().getHoverTime())); |
| | | } |
| | | if ("rotateYaw".equals(kmlAction.getActionActuatorFunc())) { |
| | | if ("rotateYaw".equals(kmlAction.getActionActuatorFunc())) { // 飞行器偏航 |
| | | pointActionReq.setAircraftHeading(Double.valueOf(kmlAction.getActionActuatorFuncParam().getAircraftHeading())); |
| | | } |
| | | return pointActionReq; |