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