From da8108e173ed349007f493e34c884f88dfeeebfb Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Mon, 27 Oct 2025 14:14:42 +0800
Subject: [PATCH] 1.修改yml文件默认配置。 2.航线文件增加飞向首航点模式和全局航线速度。 3.代码格式整理。 4.修改生成kmz文件默认值。

---
 ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java              |   27 +++++--------
 ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java |    9 +---
 ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java             |   13 ++++++
 ard-admin/src/main/resources/application-prod.yml                           |   10 -----
 README.md                                                                   |    2 
 5 files changed, 27 insertions(+), 34 deletions(-)

diff --git a/README.md b/README.md
index b9f5493..6bd1232 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
 
 ## 平台简介
 
-这是一套基于六合协议的无人机平台。
+这是一套基于边缘服务器协议的无人机平台。
 
 * 前端采用Vue、Element UI。
 * 后端采用Spring Boot、Spring Security、Redis & Jwt。
diff --git a/ard-admin/src/main/resources/application-prod.yml b/ard-admin/src/main/resources/application-prod.yml
index e726c5a..ef2d25d 100644
--- a/ard-admin/src/main/resources/application-prod.yml
+++ b/ard-admin/src/main/resources/application-prod.yml
@@ -79,13 +79,3 @@
   expire: 3600
   region: us-east-1
   object-dir-prefix: wayline
-
-# 是否是本地测试环境 true / false
-isLocal: false
-
-# 本地KMZ上传的路径
-kmz:
-  path: KmzFile/kmz/
-
-MinioKmz:
-  path: kmz
\ No newline at end of file
diff --git a/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java b/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
index de84a46..797a533 100644
--- a/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
+++ b/ard-route/src/main/java/com/ard/route/domain/kml/KmlParams.java
@@ -89,7 +89,18 @@
      */
     private MappingTypeReq mappingTypeReq;
 
-
     private List<RoutePointInfo> routePointList;
+
+    /**
+     * 飞向首航点模式
+     * safely:安全模式
+     * pointToPoint:倾斜飞行模式
+     */
+    private String flyToWaylineMode;
+
+    /**
+     * 全局航线速度
+     */
+    private Double globalTransitionalSpeed;
 }
 
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
index a8aeee0..607c865 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
@@ -48,14 +48,11 @@
 @Service
 public class UavRouteServiceImpl implements UavRouteService {
 
-    @Value("${isLocal}")
-    private Boolean isLocal;
+    private Boolean isLocal = false;
 
-    @Value("${kmz.path}")
-    private String localFilePath;
+    private String localFilePath = "KmzFile/kmz/";
 
-    @Value("${MinioKmz.path}")
-    private String kmzPath;
+    private String kmzPath = "kmz";
 
     @Resource
     private OssServiceContext ossService;
diff --git a/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
index 647c430..b888454 100644
--- a/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
@@ -100,7 +100,6 @@
         zipOutputStream.closeEntry(); // 关闭条目
     }
 
-
     public static KmlInfo buildKml(KmlParams kmlParams) {
         KmlInfo kmlInfo = new KmlInfo();
         kmlInfo.setDocument(buildKmlDocument(FileTypeConstants.KML, kmlParams));
@@ -116,7 +115,7 @@
     public static KmlDocument buildKmlDocument(String fileType, KmlParams kmlParams) {
         KmlDocument kmlDocument = new KmlDocument();
         if (StringUtils.equals(fileType, FileTypeConstants.KML)) {
-            kmlDocument.setAuthor("Cleaner");
+            kmlDocument.setAuthor("Ard-Creator");
             kmlDocument.setCreateTime(String.valueOf(DateUtil.current()));
             kmlDocument.setUpdateTime(String.valueOf(DateUtil.current()));
         }
@@ -127,7 +126,11 @@
 
     public static KmlMissionConfig buildKmlMissionConfig(KmlParams kmlParams) {
         KmlMissionConfig kmlMissionConfig = new KmlMissionConfig();
-        kmlMissionConfig.setFlyToWayLineMode(FlyToWaylineModeEnums.SAFELY.getValue());
+        if (kmlParams.getFlyToWaylineMode() != null){
+            kmlMissionConfig.setFlyToWayLineMode(kmlParams.getFlyToWaylineMode());
+        }else {
+            kmlMissionConfig.setFlyToWayLineMode(FlyToWaylineModeEnums.SAFELY.getValue());
+        }
         kmlMissionConfig.setFinishAction(kmlParams.getFinishAction());
         if (StringUtils.isNotBlank(kmlParams.getExitOnRcLostAction())) {
             kmlMissionConfig.setExitOnRCLost(ExitOnRCLostEnums.EXECUTE_LOST_ACTION.getValue());
@@ -136,7 +139,11 @@
             kmlMissionConfig.setExitOnRCLost(ExitOnRCLostEnums.GO_CONTINUE.getValue());
         }
         kmlMissionConfig.setTakeOffSecurityHeight("20");
-        kmlMissionConfig.setGlobalTransitionalSpeed("15");
+        if (kmlParams.getGlobalTransitionalSpeed() != null){
+            kmlMissionConfig.setGlobalTransitionalSpeed(String.valueOf(kmlParams.getGlobalTransitionalSpeed()));
+        }else {
+            kmlMissionConfig.setGlobalTransitionalSpeed("15");
+        }
         kmlMissionConfig.setGlobalRTHHeight("100");
         kmlMissionConfig.setTakeOffRefPoint(kmlParams.getTakeOffRefPoint());
         kmlMissionConfig.setDroneInfo(buildKmlDroneInfo(kmlParams.getDroneType(), kmlParams.getSubDroneType()));
@@ -160,9 +167,7 @@
         kmlPayloadInfo.setPayloadEnumValue(String.valueOf(payloadType));
         kmlPayloadInfo.setPayloadPositionIndex(String.valueOf(payloadPosition));
         return kmlPayloadInfo;
-
     }
-
 
     public static KmlFolder buildKmlFolder(String fileType, KmlParams kmlParams) {
         KmlFolder kmlFolder = new KmlFolder();
@@ -232,7 +237,6 @@
         return kmlFolder;
     }
 
-
     public static KmlWayLineCoordinateSysParam buildKmlWayLineCoordinateSysParam(String templateType) {
         KmlWayLineCoordinateSysParam kmlWayLineCoordinateSysParam = new KmlWayLineCoordinateSysParam();
         kmlWayLineCoordinateSysParam.setCoordinateMode("WGS84");
@@ -262,7 +266,6 @@
         // 0: 不上色 1: 真彩上色
         kmlPayloadParam.setModelColoringEnable("1");
         kmlPayloadParam.setImageFormat(kmlParams.getImageFormat());
-
         return kmlPayloadParam;
     }
 
@@ -277,7 +280,6 @@
         }
         kmlGlobalWaypointHeadingParam.setWaypointHeadingPathMode(WaypointHeadingPathModeEnums.FOLLOW_BAD_ARC.getValue());
         return kmlGlobalWaypointHeadingParam;
-
     }
 
     public static KmlPlacemark buildKmlPlacemark(RoutePointInfo routePointInfo, KmlParams kmlParams, String fileType) {
@@ -285,7 +287,6 @@
         kmlPlacemark.setIsRisky("0");
         kmlPlacemark.setKmlPoint(buildKmlPoint(String.valueOf(routePointInfo.getLongitude()), String.valueOf(routePointInfo.getLatitude())));
         kmlPlacemark.setIndex(String.valueOf(routePointInfo.getRoutePointIndex()));
-
         handleHeight(routePointInfo, kmlParams, fileType, kmlPlacemark);
         handleSpeed(routePointInfo, kmlParams, fileType, kmlPlacemark);
         handleWaypointHeadingParam(routePointInfo, kmlParams, fileType, kmlPlacemark);
@@ -343,7 +344,6 @@
     private static KmlPolygon buildKmlPolygon(List<CoordinatePointReq> coordinatePointReqList) {
         KmlPolygon kmlPolygon = new KmlPolygon();
         KmlLinearRing kmlLinearRing = new KmlLinearRing();
-
         String coordinates = coordinatePointReqList.stream().map(point -> point.getLongitude() + "," + point.getLatitude() + "," + point.getHeight())
                 .collect(Collectors.joining(", "));
         kmlLinearRing.setCoordinates(StringUtils.join(coordinates, " "));
@@ -392,9 +392,7 @@
                 kmlPlacemark.setWaypointHeadingParam(buildKmlWaypointHeadingParam(globalWaypointHeading.getWaypointHeadingMode(), globalWaypointHeading.getWaypointHeadingAngle(), globalWaypointHeading.getWaypointPoiPoint()));
             }
         }
-
     }
-
 
     private static void handleSpeed(RoutePointInfo routePointInfo, KmlParams kmlParams, String fileType, KmlPlacemark kmlPlacemark) {
         if (ObjectUtil.isNotEmpty(routePointInfo.getSpeed())) {
@@ -471,7 +469,6 @@
         kmlActionGroup.setActionGroupEndIndex(String.valueOf(ObjectUtil.isNotNull(routePointInfo.getEndIntervalRouteIndex()) ?
                 routePointInfo.getEndIntervalRouteIndex() : routePointInfo.getRoutePointIndex()));
         kmlActionGroup.setActionGroupMode(ActionGroupModeEnums.SEQUENCE.getValue());
-
         String actionTriggerType = ActionTriggerTypeEnums.REACH_POINT.getValue();
         Double actionTriggerParam = 0.0;
         if (ObjectUtil.isNotNull(routePointInfo.getTimeInterval())) {
@@ -481,7 +478,6 @@
             actionTriggerType = ActionTriggerTypeEnums.MULTIPLE_DISTANCE.getValue();
             actionTriggerParam = routePointInfo.getDistanceInterval();
         }
-
         kmlActionGroup.setActionTrigger(buildKmlActionTrigger(actionTriggerType, actionTriggerParam));
         List<KmlAction> kmlActionList = new ArrayList<>();
         for (PointActionReq pointActionReq : routePointInfo.getActions()) {
@@ -502,7 +498,6 @@
             } else if (ObjectUtil.isNotNull(pointActionReq.getStopRecord()) && pointActionReq.getStopRecord()) {
                 kmlActionList.add(buildKmlAction(String.valueOf(pointActionReq.getActionIndex()), ActionActuatorFuncEnums.STOP_RECORD.getValue(), pointActionReq, kmlParams));
             }
-
         }
         kmlActionGroup.setAction(kmlActionList);
         return kmlActionGroup;

--
Gitblit v1.9.3