From 48ee74129bb09a817a0bbbabe860c4007b74c66b Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期日, 21 十二月 2025 12:37:44 +0800
Subject: [PATCH] 新增了往返路径

---
 src/dikuai/Dikuai.java |  124 ++++++++++++++++++++++++++++++----------
 1 files changed, 92 insertions(+), 32 deletions(-)

diff --git a/src/dikuai/Dikuai.java b/src/dikuai/Dikuai.java
index b68e499..12a4edd 100644
--- a/src/dikuai/Dikuai.java
+++ b/src/dikuai/Dikuai.java
@@ -21,12 +21,12 @@
     private String boundaryCoordinates;
     // 瑙勫垝璺緞锛堝瓨鍌ㄨ矾寰勫潗鏍囩偣闆嗗悎锛�
     private String plannedPath;
-    // 闅滅鐗╃粡绾害鍧愭爣
-    private String obstacleOriginalCoordinates;
-    // 闅滅鐗╁潗鏍�
-    private String obstacleCoordinates;
     // 杩斿洖鐐瑰潗鏍�
     private String returnPointCoordinates;
+    // 寰�杩旇矾寰勫潗鏍囷紙鍓茶崏鏈哄畬鎴愬壊鑽変綔涓氳繑鍥炵殑璺緞鍧愭爣锛屾牸寮忥細X1,Y1;X2,Y2;...;XN,YN锛�
+    private String returnPathCoordinates;
+    // 寰�杩旇矾寰勫師濮嬪潗鏍�
+    private String returnPathRawCoordinates;
     // 杈圭晫鐐归棿闅�
     private String boundaryPointInterval;
     // 瑙掑害闃堝��
@@ -42,9 +42,17 @@
     // 鏈�鏂版洿鏂版椂闂�
     private String updateTime;
     // 鍓茶崏妯″紡
+    private String mowingTrack;
+    // 鍓茶崏瀹炴椂杞ㄨ抗
     private String mowingPattern;
     // 鍓茶崏瀹藉害
     private String mowingWidth;
+    // 鍓茶崏鏈哄壊鍒�瀹藉害锛堢背锛夛紝榛樿0.40绫�
+    private String mowingBladeWidth;
+    // 鍓茶崏閲嶅彔璺濈锛堢背锛夛紝榛樿0.06绫�
+    private String mowingOverlapDistance;
+    // 鍓茶崏瀹夊叏璺濈锛堢背锛�
+    private String mowingSafetyDistance;
 
     // 瀛樺偍澶氫釜鍦板潡鐨勬槧灏勮〃锛岄敭涓哄湴鍧楃紪鍙�
     private static Map<String, Dikuai> dikuaiMap = new HashMap<>();
@@ -95,9 +103,9 @@
                 dikuai.boundaryOriginalCoordinates = landProps.getProperty("boundaryOriginalCoordinates", "-1");
                 dikuai.boundaryCoordinates = landProps.getProperty("boundaryCoordinates", "-1");
                 dikuai.plannedPath = landProps.getProperty("plannedPath", "-1");
-                dikuai.obstacleOriginalCoordinates = landProps.getProperty("obstacleOriginalCoordinates", "-1");
-                dikuai.obstacleCoordinates = landProps.getProperty("obstacleCoordinates", "-1");
                 dikuai.returnPointCoordinates = landProps.getProperty("returnPointCoordinates", "-1");
+                dikuai.returnPathCoordinates = landProps.getProperty("returnPathCoordinates", "-1");
+                dikuai.returnPathRawCoordinates = landProps.getProperty("returnPathRawCoordinates", "-1");
                 dikuai.boundaryPointInterval = landProps.getProperty("boundaryPointInterval", "-1");
                 dikuai.angleThreshold = landProps.getProperty("angleThreshold", "-1");
                 dikuai.intelligentSceneAnalysis = landProps.getProperty("intelligentSceneAnalysis", "-1");
@@ -107,6 +115,10 @@
                 dikuai.updateTime = landProps.getProperty("updateTime", "-1");
                 dikuai.mowingPattern = landProps.getProperty("mowingPattern", "-1");
                 dikuai.mowingWidth = landProps.getProperty("mowingWidth", "-1");
+                dikuai.mowingTrack = landProps.getProperty("mowingTrack", "-1");
+                dikuai.mowingBladeWidth = landProps.getProperty("mowingBladeWidth", "0.40");
+                dikuai.mowingOverlapDistance = landProps.getProperty("mowingOverlapDistance", "0.06");
+                dikuai.mowingSafetyDistance = landProps.getProperty("mowingSafetyDistance", "-1");
                 
                 dikuaiMap.put(landNum, dikuai);
             }
@@ -195,15 +207,15 @@
             case "plannedPath":
                 this.plannedPath = value;
                 return true;
-            case "obstacleOriginalCoordinates":
-                this.obstacleOriginalCoordinates = value;
-                return true;
-            case "obstacleCoordinates":
-                this.obstacleCoordinates = value;
-                return true;
             case "returnPointCoordinates":
                 this.returnPointCoordinates = value;
                 return true;
+            case "returnPathCoordinates":
+                this.returnPathCoordinates = value;
+                return true;
+            case "returnPathRawCoordinates":
+                this.returnPathRawCoordinates = value;
+                return true;
             case "boundaryPointInterval":
                 this.boundaryPointInterval = value;
                 return true;
@@ -231,6 +243,18 @@
             case "mowingWidth":
                 this.mowingWidth = value;
                 return true;
+            case "mowingTrack":
+                this.mowingTrack = value;
+                return true;
+            case "mowingBladeWidth":
+                this.mowingBladeWidth = value;
+                return true;
+            case "mowingOverlapDistance":
+                this.mowingOverlapDistance = value;
+                return true;
+            case "mowingSafetyDistance":
+                this.mowingSafetyDistance = value;
+                return true;
             default:
                 System.err.println("鏈煡瀛楁: " + fieldName);
                 return false;
@@ -254,9 +278,9 @@
             if (dikuai.boundaryOriginalCoordinates != null) properties.setProperty(landNumber + ".boundaryOriginalCoordinates", dikuai.boundaryOriginalCoordinates);
             if (dikuai.boundaryCoordinates != null) properties.setProperty(landNumber + ".boundaryCoordinates", dikuai.boundaryCoordinates);
             if (dikuai.plannedPath != null) properties.setProperty(landNumber + ".plannedPath", dikuai.plannedPath);
-            if (dikuai.obstacleOriginalCoordinates != null) properties.setProperty(landNumber + ".obstacleOriginalCoordinates", dikuai.obstacleOriginalCoordinates);
-            if (dikuai.obstacleCoordinates != null) properties.setProperty(landNumber + ".obstacleCoordinates", dikuai.obstacleCoordinates);
             if (dikuai.returnPointCoordinates != null) properties.setProperty(landNumber + ".returnPointCoordinates", dikuai.returnPointCoordinates);
+            if (dikuai.returnPathCoordinates != null) properties.setProperty(landNumber + ".returnPathCoordinates", dikuai.returnPathCoordinates);
+            if (dikuai.returnPathRawCoordinates != null) properties.setProperty(landNumber + ".returnPathRawCoordinates", dikuai.returnPathRawCoordinates);
             if (dikuai.boundaryPointInterval != null) properties.setProperty(landNumber + ".boundaryPointInterval", dikuai.boundaryPointInterval);
             if (dikuai.angleThreshold != null) properties.setProperty(landNumber + ".angleThreshold", dikuai.angleThreshold);
             if (dikuai.intelligentSceneAnalysis != null) properties.setProperty(landNumber + ".intelligentSceneAnalysis", dikuai.intelligentSceneAnalysis);
@@ -266,6 +290,10 @@
             if (dikuai.updateTime != null) properties.setProperty(landNumber + ".updateTime", dikuai.updateTime);
             if (dikuai.mowingPattern != null) properties.setProperty(landNumber + ".mowingPattern", dikuai.mowingPattern);
             if (dikuai.mowingWidth != null) properties.setProperty(landNumber + ".mowingWidth", dikuai.mowingWidth);
+            if (dikuai.mowingTrack != null) properties.setProperty(landNumber + ".mowingTrack", dikuai.mowingTrack);
+            if (dikuai.mowingBladeWidth != null) properties.setProperty(landNumber + ".mowingBladeWidth", dikuai.mowingBladeWidth);
+            if (dikuai.mowingOverlapDistance != null) properties.setProperty(landNumber + ".mowingOverlapDistance", dikuai.mowingOverlapDistance);
+            if (dikuai.mowingSafetyDistance != null) properties.setProperty(landNumber + ".mowingSafetyDistance", dikuai.mowingSafetyDistance);
         }
         
         try {
@@ -329,22 +357,6 @@
         this.plannedPath = plannedPath;
     }
 
-    public String getObstacleOriginalCoordinates() {
-        return obstacleOriginalCoordinates;
-    }
-
-    public void setObstacleOriginalCoordinates(String obstacleOriginalCoordinates) {
-        this.obstacleOriginalCoordinates = obstacleOriginalCoordinates;
-    }
-
-    public String getObstacleCoordinates() {
-        return obstacleCoordinates;
-    }
-
-    public void setObstacleCoordinates(String obstacleCoordinates) {
-        this.obstacleCoordinates = obstacleCoordinates;
-    }
-
     public String getReturnPointCoordinates() {
         return returnPointCoordinates;
     }
@@ -353,6 +365,22 @@
         this.returnPointCoordinates = returnPointCoordinates;
     }
 
+    public String getReturnPathCoordinates() {
+        return returnPathCoordinates;
+    }
+
+    public void setReturnPathCoordinates(String returnPathCoordinates) {
+        this.returnPathCoordinates = returnPathCoordinates;
+    }
+
+    public String getReturnPathRawCoordinates() {
+        return returnPathRawCoordinates;
+    }
+
+    public void setReturnPathRawCoordinates(String returnPathRawCoordinates) {
+        this.returnPathRawCoordinates = returnPathRawCoordinates;
+    }
+
     public String getBoundaryPointInterval() {
         return boundaryPointInterval;
     }
@@ -425,6 +453,38 @@
         this.mowingWidth = mowingWidth;
     }
 
+    public String getMowingTrack() {
+        return mowingTrack;
+    }
+
+    public void setMowingTrack(String mowingTrack) {
+        this.mowingTrack = mowingTrack;
+    }
+
+    public String getMowingBladeWidth() {
+        return mowingBladeWidth;
+    }
+
+    public void setMowingBladeWidth(String mowingBladeWidth) {
+        this.mowingBladeWidth = mowingBladeWidth;
+    }
+
+    public String getMowingOverlapDistance() {
+        return mowingOverlapDistance;
+    }
+
+    public void setMowingOverlapDistance(String mowingOverlapDistance) {
+        this.mowingOverlapDistance = mowingOverlapDistance;
+    }
+
+    public String getMowingSafetyDistance() {
+        return mowingSafetyDistance;
+    }
+
+    public void setMowingSafetyDistance(String mowingSafetyDistance) {
+        this.mowingSafetyDistance = mowingSafetyDistance;
+    }
+
     @Override
     public String toString() {
         return "Dikuai{" +
@@ -434,9 +494,9 @@
                 ", boundaryOriginalCoordinates='" + boundaryOriginalCoordinates + '\'' +
                 ", boundaryCoordinates='" + boundaryCoordinates + '\'' +
                 ", plannedPath='" + plannedPath + '\'' +
-                ", obstacleOriginalCoordinates='" + obstacleOriginalCoordinates + '\'' +
-                ", obstacleCoordinates='" + obstacleCoordinates + '\'' +
                 ", returnPointCoordinates='" + returnPointCoordinates + '\'' +
+                ", returnPathCoordinates='" + returnPathCoordinates + '\'' +
+                ", returnPathRawCoordinates='" + returnPathRawCoordinates + '\'' +
                 ", boundaryPointInterval='" + boundaryPointInterval + '\'' +
                 ", angleThreshold='" + angleThreshold + '\'' +
                 ", intelligentSceneAnalysis='" + intelligentSceneAnalysis + '\'' +

--
Gitblit v1.10.0