| | |
| | | private String boundaryCoordinates; |
| | | // 规划路径(存储路径坐标点集合) |
| | | private String plannedPath; |
| | | // 障碍物经纬度坐标 |
| | | private String obstacleOriginalCoordinates; |
| | | // 障碍物坐标 |
| | | private String obstacleCoordinates; |
| | | // 返回点坐标 |
| | | private String returnPointCoordinates; |
| | | // 边界点间隔 |
| | |
| | | private String mowingPattern; |
| | | // 割草宽度 |
| | | private String mowingWidth; |
| | | // 割草机割刀宽度(米),默认0.40米 |
| | | private String mowingBladeWidth; |
| | | // 割草重叠距离(米),默认0.06米 |
| | | private String mowingOverlapDistance; |
| | | |
| | | // 存储多个地块的映射表,键为地块编号 |
| | | private static Map<String, Dikuai> dikuaiMap = new HashMap<>(); |
| | |
| | | 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.boundaryPointInterval = landProps.getProperty("boundaryPointInterval", "-1"); |
| | | dikuai.angleThreshold = landProps.getProperty("angleThreshold", "-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"); |
| | | |
| | | dikuaiMap.put(landNum, dikuai); |
| | | } |
| | |
| | | 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 "mowingTrack": |
| | | this.mowingTrack = value; |
| | | return true; |
| | | case "mowingBladeWidth": |
| | | this.mowingBladeWidth = value; |
| | | return true; |
| | | case "mowingOverlapDistance": |
| | | this.mowingOverlapDistance = value; |
| | | return true; |
| | | default: |
| | | System.err.println("未知字段: " + fieldName); |
| | | return false; |
| | |
| | | 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.boundaryPointInterval != null) properties.setProperty(landNumber + ".boundaryPointInterval", dikuai.boundaryPointInterval); |
| | | if (dikuai.angleThreshold != null) properties.setProperty(landNumber + ".angleThreshold", dikuai.angleThreshold); |
| | |
| | | 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); |
| | | } |
| | | |
| | | try { |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "Dikuai{" + |
| | |
| | | ", boundaryOriginalCoordinates='" + boundaryOriginalCoordinates + '\'' + |
| | | ", boundaryCoordinates='" + boundaryCoordinates + '\'' + |
| | | ", plannedPath='" + plannedPath + '\'' + |
| | | ", obstacleOriginalCoordinates='" + obstacleOriginalCoordinates + '\'' + |
| | | ", obstacleCoordinates='" + obstacleCoordinates + '\'' + |
| | | ", returnPointCoordinates='" + returnPointCoordinates + '\'' + |
| | | ", boundaryPointInterval='" + boundaryPointInterval + '\'' + |
| | | ", angleThreshold='" + angleThreshold + '\'' + |