ard-admin/src/main/java/com/ard/web/controller/route/UavRouteController.java
@@ -5,7 +5,6 @@ import com.ard.route.service.UavRouteService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -24,7 +23,7 @@ * 编辑kmz文件 */ @ApiOperation("编辑kmz文件") @PreAuthorize("@ss.hasPermi('route:kmz:updateKmz')") //@PreAuthorize("@ss.hasPermi('route:kmz:updateKmz')") @PostMapping("/updateKmz/{fileName}") public AjaxResult updateKmz(@RequestBody UavRouteReq uavRouteReq, @PathVariable("fileName") String fileName){ @@ -35,7 +34,7 @@ * 生成kmz文件 */ @ApiOperation("生成kmz文件") @PreAuthorize("@ss.hasPermi('route:kmz:buildKmz')") //@PreAuthorize("@ss.hasPermi('route:kmz:buildKmz')") @PostMapping("/buildKmz/{fileName}") public AjaxResult buildKmz(@RequestBody UavRouteReq uavRouteReq, @PathVariable("fileName") String fileName){ @@ -46,7 +45,7 @@ * 解析kmz文件 */ @ApiOperation("解析kmz文件") @PreAuthorize("@ss.hasPermi('route:kmz:parseKmz')") //@PreAuthorize("@ss.hasPermi('route:kmz:parseKmz')") @PostMapping("/parseKmz") public AjaxResult parseKmz(@RequestParam("fileUrl") String fileUrl){ return success(routeService.parseKmz(fileUrl)); ard-route/src/main/java/com/ard/route/domain/djuav/PointActionReq.java
@@ -2,7 +2,6 @@ import lombok.Data; //import java.io.Serial; import java.io.Serializable; @Data ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlAction.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:action") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlAction { @XStreamAlias("wpml:actionId") @@ -16,4 +18,5 @@ @XStreamAlias("wpml:actionActuatorFuncParam") private KmlActionActuatorFuncParam actionActuatorFuncParam; } ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlActionActuatorFuncParam.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:actionActuatorFuncParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlActionActuatorFuncParam { // takePhoto & startRecord & stopRecord ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlActionGroup.java
@@ -1,5 +1,6 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @@ -7,6 +8,7 @@ @Data @XStreamAlias("wpml:actionGroup") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlActionGroup { @XStreamAlias("wpml:actionGroupId") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlActionTrigger.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:actionTrigger") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlActionTrigger { @XStreamAlias("wpml:actionTriggerType") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlDocument.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("Document") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlDocument { @XStreamAlias("wpml:author") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlDroneInfo.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:droneInfo") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlDroneInfo { @XStreamAlias("wpml:droneEnumValue") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlFolder.java
@@ -1,5 +1,6 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamImplicit; import lombok.Data; @@ -8,6 +9,7 @@ @Data @XStreamAlias("Folder") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlFolder { @XStreamAlias("wpml:templateType") private String templateType; ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlGlobalWaypointHeadingParam.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:globalWaypointHeadingParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlGlobalWaypointHeadingParam { @XStreamAlias("wpml:waypointHeadingMode") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlLineString.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("LineString") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlLineString { @XStreamAlias("coordinates") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlLinearRing.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("LinearRing") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlLinearRing { @XStreamAlias("coordinates") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlMappingHeadingParam.java
@@ -14,5 +14,6 @@ @XStreamAlias("wpml:actionActuatorFunc") private String actionActuatorFunc; } ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlMissionConfig.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:missionConfig") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlMissionConfig { @XStreamAlias("wpml:flyToWaylineMode") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlOuterBoundaryIs.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("outerBoundaryIs") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlOuterBoundaryIs { @XStreamAlias("LinearRing") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlOverlap.java
@@ -1,34 +1,36 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:overlap") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlOverlap { @XStreamAlias("orthoLidarOverlapH") @XStreamAlias("wpml:orthoLidarOverlapH") private String orthoLidarOverlapH; @XStreamAlias("orthoLidarOverlapW") @XStreamAlias("wpml:orthoLidarOverlapW") private String orthoLidarOverlapW; @XStreamAlias("orthoCameraOverlapH") @XStreamAlias("wpml:orthoCameraOverlapH") private String orthoCameraOverlapH; @XStreamAlias("orthoCameraOverlapW") @XStreamAlias("wpml:orthoCameraOverlapW") private String orthoCameraOverlapW; @XStreamAlias("inclinedLidarOverlapH") @XStreamAlias("wpml:inclinedLidarOverlapH") private String inclinedLidarOverlapH; @XStreamAlias("inclinedLidarOverlapW") @XStreamAlias("wpml:inclinedLidarOverlapW") private String inclinedLidarOverlapW; @XStreamAlias("inclinedCameraOverlapH") @XStreamAlias("wpml:inclinedCameraOverlapH") private String inclinedCameraOverlapH; @XStreamAlias("inclinedCameraOverlapW") @XStreamAlias("wpml:inclinedCameraOverlapW") private String inclinedCameraOverlapW; } ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlParams.java
@@ -84,7 +84,6 @@ */ private String imageFormat; /** * 建图航拍、倾斜摄影、航带飞行模板参数 */ ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlPayloadInfo.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:payloadInfo") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlPayloadInfo { @XStreamAlias("wpml:payloadEnumValue") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlPayloadParam.java
@@ -1,5 +1,6 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @@ -8,6 +9,7 @@ */ @Data @XStreamAlias("wpml:payloadParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlPayloadParam { @XStreamAlias("wpml:payloadPositionIndex") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlPlacemark.java
@@ -138,4 +138,5 @@ @XStreamAlias("LineString") private KmlLineString lineString; } ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlPoint.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("Point") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlPoint { @XStreamAlias("coordinates") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlPolygon.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("Polygon") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlPolygon { @XStreamAlias("outerBoundaryIs") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlWayLineCoordinateSysParam.java
@@ -1,5 +1,6 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @@ -8,6 +9,7 @@ */ @Data @XStreamAlias("wpml:waylineCoordinateSysParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlWayLineCoordinateSysParam { @XStreamAlias("wpml:coordinateMode") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlWaypointGimbalHeadingParam.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:waypointGimbalHeadingParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlWaypointGimbalHeadingParam { @XStreamAlias("wpml:waypointGimbalPitchAngle") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlWaypointHeadingParam.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:waypointHeadingParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlWaypointHeadingParam { @XStreamAlias("wpml:waypointHeadingMode") ard-route/src/main/java/com/ard/route/domain/djuav/kml/KmlWaypointTurnParam.java
@@ -1,10 +1,12 @@ package com.ard.route.domain.djuav.kml; import com.fasterxml.jackson.annotation.JsonInclude; import com.thoughtworks.xstream.annotations.XStreamAlias; import lombok.Data; @Data @XStreamAlias("wpml:waypointTurnParam") @JsonInclude(JsonInclude.Include.NON_NULL) public class KmlWaypointTurnParam { @XStreamAlias("wpml:waypointTurnMode") ard-route/src/main/java/com/ard/route/domain/djuav/kml/RoutePointInfo.java
@@ -61,19 +61,4 @@ */ private Boolean isStartAndEndPoint = false; /** * 等时拍照间隔时间 单位s */ private Double timeInterval; /** * 等距拍照间隔距离 单位m */ private Double distanceInterval; /** * 停止间隔拍照航点编号 */ private Integer endIntervalRouteIndex; } ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -153,8 +153,8 @@ return 0; } ardRouteInfo.setPath(kmzResult.getPath()); ardRouteInfo.setPointCount(getPointCount(ardRouteInfo)); } ardRouteInfo.setPointCount(getPointCount(ardRouteInfo)); return ardRouteInfoMapper.updateArdRouteInfo(ardRouteInfo); } @@ -176,8 +176,12 @@ // 删除航线(kmz)文件 for (String id : ids) { ArdRouteInfo information = ardRouteInfoMapper.selectArdRouteInfoById(id); ossService.deleteObject("kmz", subStringMinioUrlName(information.getPath())); ossDockService.deleteObject("kmz", subStringMinioUrlName(information.getPath1())); if (information.getPath() != null){ ossService.deleteObject("kmz", subStringMinioUrlName(information.getPath())); } if (information.getPath1() != null){ ossDockService.deleteObject("kmz", subStringMinioUrlName(information.getPath1())); } } return ardRouteInfoMapper.deleteArdRouteInfoByIds(ids); } ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
@@ -36,12 +36,13 @@ */ public static KmlInfo parseKml(InputStream inputStream) { XStream xStream = new XStream(); xStream.allowTypes(new Class[]{KmlInfo.class, KmlAction.class, KmlWayLineCoordinateSysParam.class, KmlPoint.class}); xStream.allowTypes(new Class[]{KmlInfo.class, KmlAction.class, KmlWayLineCoordinateSysParam.class, KmlPoint.class, KmlActionGroup.class}); xStream.alias("kml", KmlInfo.class); xStream.processAnnotations(KmlInfo.class); xStream.autodetectAnnotations(true); xStream.ignoreUnknownElements(); xStream.addImplicitCollection(KmlActionGroup.class, "action"); xStream.addImplicitCollection(KmlPlacemark.class, "actionGroup"); return (KmlInfo) xStream.fromXML(inputStream); } ard-route/src/main/java/com/ard/route/util/ToolUtils.java
@@ -125,4 +125,15 @@ return Integer.valueOf(parts[1]); } public static Double getDoublePoint(String str,String type) { String[] parts = str.split(","); if ("lon".equals(type)) { return Double.parseDouble(parts[0].trim()); } if ("lat".equals(type)){ return Double.parseDouble(parts[1].trim()); } return null; } }