From 13d032241e1a2938a8be4f64c9171e1240e9ea1e Mon Sep 17 00:00:00 2001
From: 张世豪 <979909237@qq.com>
Date: 星期一, 22 十二月 2025 18:50:42 +0800
Subject: [PATCH] 新增了边界管理页面和首页边界虚线功能
---
src/dikuai/Dikuai.java | 63 +++++++++++++++++++++++++++++++
1 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/src/dikuai/Dikuai.java b/src/dikuai/Dikuai.java
index c33d8e4..8a9a589 100644
--- a/src/dikuai/Dikuai.java
+++ b/src/dikuai/Dikuai.java
@@ -17,12 +17,18 @@
private String landName;
// 杈圭晫鍘熷鍧愭爣
private String boundaryOriginalCoordinates;
+ // 杈圭晫鍘熷XY鍧愭爣锛堢浉瀵逛簬鍩哄噯绔欑殑XY鍧愭爣锛�
+ private String boundaryOriginalXY;
// 杈圭晫鍧愭爣锛堝瓨鍌ㄥ杈瑰舰鍧愭爣鐐归泦鍚堬級
private String boundaryCoordinates;
// 瑙勫垝璺緞锛堝瓨鍌ㄨ矾寰勫潗鏍囩偣闆嗗悎锛�
private String plannedPath;
// 杩斿洖鐐瑰潗鏍�
private String returnPointCoordinates;
+ // 寰�杩旇矾寰勫潗鏍囷紙鍓茶崏鏈哄畬鎴愬壊鑽変綔涓氳繑鍥炵殑璺緞鍧愭爣锛屾牸寮忥細X1,Y1;X2,Y2;...;XN,YN锛�
+ private String returnPathCoordinates;
+ // 寰�杩旇矾寰勫師濮嬪潗鏍�
+ private String returnPathRawCoordinates;
// 杈圭晫鐐归棿闅�
private String boundaryPointInterval;
// 瑙掑害闃堝��
@@ -47,6 +53,8 @@
private String mowingBladeWidth;
// 鍓茶崏閲嶅彔璺濈锛堢背锛夛紝榛樿0.06绫�
private String mowingOverlapDistance;
+ // 鍓茶崏瀹夊叏璺濈锛堢背锛�
+ private String mowingSafetyDistance;
// 瀛樺偍澶氫釜鍦板潡鐨勬槧灏勮〃锛岄敭涓哄湴鍧楃紪鍙�
private static Map<String, Dikuai> dikuaiMap = new HashMap<>();
@@ -95,9 +103,12 @@
dikuai.userId = landProps.getProperty("userId", "-1");
dikuai.landName = landProps.getProperty("landName", "-1");
dikuai.boundaryOriginalCoordinates = landProps.getProperty("boundaryOriginalCoordinates", "-1");
+ dikuai.boundaryOriginalXY = landProps.getProperty("boundaryOriginalXY", "-1");
dikuai.boundaryCoordinates = landProps.getProperty("boundaryCoordinates", "-1");
dikuai.plannedPath = landProps.getProperty("plannedPath", "-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");
@@ -110,6 +121,7 @@
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);
}
@@ -192,6 +204,9 @@
case "boundaryOriginalCoordinates":
this.boundaryOriginalCoordinates = value;
return true;
+ case "boundaryOriginalXY":
+ this.boundaryOriginalXY = value;
+ return true;
case "boundaryCoordinates":
this.boundaryCoordinates = value;
return true;
@@ -201,6 +216,12 @@
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;
@@ -237,6 +258,9 @@
case "mowingOverlapDistance":
this.mowingOverlapDistance = value;
return true;
+ case "mowingSafetyDistance":
+ this.mowingSafetyDistance = value;
+ return true;
default:
System.err.println("鏈煡瀛楁: " + fieldName);
return false;
@@ -258,9 +282,12 @@
if (dikuai.landNumber != null) properties.setProperty(landNumber + ".landNumber", dikuai.landNumber);
if (dikuai.landName != null) properties.setProperty(landNumber + ".landName", dikuai.landName);
if (dikuai.boundaryOriginalCoordinates != null) properties.setProperty(landNumber + ".boundaryOriginalCoordinates", dikuai.boundaryOriginalCoordinates);
+ if (dikuai.boundaryOriginalXY != null) properties.setProperty(landNumber + ".boundaryOriginalXY", dikuai.boundaryOriginalXY);
if (dikuai.boundaryCoordinates != null) properties.setProperty(landNumber + ".boundaryCoordinates", dikuai.boundaryCoordinates);
if (dikuai.plannedPath != null) properties.setProperty(landNumber + ".plannedPath", dikuai.plannedPath);
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);
@@ -273,6 +300,7 @@
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 {
@@ -320,6 +348,14 @@
this.boundaryOriginalCoordinates = boundaryOriginalCoordinates;
}
+ public String getBoundaryOriginalXY() {
+ return boundaryOriginalXY;
+ }
+
+ public void setBoundaryOriginalXY(String boundaryOriginalXY) {
+ this.boundaryOriginalXY = boundaryOriginalXY;
+ }
+
public String getBoundaryCoordinates() {
return boundaryCoordinates;
}
@@ -344,6 +380,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;
}
@@ -440,6 +492,14 @@
this.mowingOverlapDistance = mowingOverlapDistance;
}
+ public String getMowingSafetyDistance() {
+ return mowingSafetyDistance;
+ }
+
+ public void setMowingSafetyDistance(String mowingSafetyDistance) {
+ this.mowingSafetyDistance = mowingSafetyDistance;
+ }
+
@Override
public String toString() {
return "Dikuai{" +
@@ -447,9 +507,12 @@
", landNumber='" + landNumber + '\'' +
", landName='" + landName + '\'' +
", boundaryOriginalCoordinates='" + boundaryOriginalCoordinates + '\'' +
+ ", boundaryOriginalXY='" + boundaryOriginalXY + '\'' +
", boundaryCoordinates='" + boundaryCoordinates + '\'' +
", plannedPath='" + plannedPath + '\'' +
", returnPointCoordinates='" + returnPointCoordinates + '\'' +
+ ", returnPathCoordinates='" + returnPathCoordinates + '\'' +
+ ", returnPathRawCoordinates='" + returnPathRawCoordinates + '\'' +
", boundaryPointInterval='" + boundaryPointInterval + '\'' +
", angleThreshold='" + angleThreshold + '\'' +
", intelligentSceneAnalysis='" + intelligentSceneAnalysis + '\'' +
--
Gitblit v1.10.0