package com.ard.route.util; import com.ard.route.domain.djuav.*; import com.ard.route.domain.sixhe.ArdRouteActions; import com.ard.route.domain.sixhe.ArdRouteChange; import com.ard.route.domain.sixhe.ArdRoutePoints; import java.util.ArrayList; import java.util.List; /** * 初始化数据 * 测试数据 */ public class InitializationUtils { private static final Double CHANSI_H20 = 23.76237623; private static final String WAYPOINT_TURN_MODE_DEFAULT = "toPointAndStopWithDiscontinuityCurvature"; /** * 初始化KMZ 默认数据 */ public UavRouteReq initialization(UavRouteReq uavRouteReq){ uavRouteReq.setTemplateType("waypoint"); // 起始点默认航线第一个点 if (uavRouteReq.getTakeOffRefPoint().isEmpty()){ uavRouteReq.setTakeOffRefPoint( uavRouteReq.getRoutePointList().get(0).getLatitude() + "," + uavRouteReq.getRoutePointList().get(0).getLongitude() + "," + "0"); } //uavRouteReq.setDroneType(89); uavRouteReq.setSubDroneType(0); uavRouteReq.setPayloadType(43); uavRouteReq.setPayloadPosition(0); uavRouteReq.setImageFormat("wide"); uavRouteReq.setFinishAction("goHome"); uavRouteReq.setExitOnRcLostAction("goBack"); //uavRouteReq.setGlobalHeight(100.0); //uavRouteReq.setAutoFlightSpeed(5.0); WaypointHeadingReq waypointHeadingReq = new WaypointHeadingReq(); waypointHeadingReq.setWaypointHeadingMode("followWayline"); uavRouteReq.setWaypointHeadingReq(waypointHeadingReq); WaypointTurnReq waypointTurnReq = new WaypointTurnReq(); if (uavRouteReq.getGlobalWaypointTurnMode() != null){ waypointTurnReq.setWaypointTurnMode(uavRouteReq.getGlobalWaypointTurnMode()); }else { waypointTurnReq.setWaypointTurnMode("toPointAndStopWithDiscontinuityCurvature"); } uavRouteReq.setWaypointTurnReq(waypointTurnReq); uavRouteReq.setGimbalPitchMode("usePointSetting"); //buildZoom(uavRouteReq); return uavRouteReq; } /** * 变焦动作加工 */ private UavRouteReq buildZoom(UavRouteReq uavRouteReq){ for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) { for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) { for (PointActionReq action : actionGroupReq.getActions()) { if (action.getZoom() != null){ action.setZoom(action.getZoom() * CHANSI_H20); } } } } return uavRouteReq; } /** * 初始化数据 */ private void initializationSixHe(){ ArdRouteChange ardRouteChange = new ArdRouteChange(); ardRouteChange.setAutoSpeed(8); ardRouteChange.setFinishedAction(1); ardRouteChange.setHomeHeight(50); //ardRouteChange.setInterests(0); ardRouteChange.setIsSaveEnergyMode(0); ardRouteChange.setLoseAction(0); ardRouteChange.setMaxSpeed(15); ardRouteChange.setSecurityHeight(50); ardRouteChange.setTemplateId(0); List points = new ArrayList<>(); //----------------------------------------------------- ArdRoutePoints ardRoutePoints00 = new ArdRoutePoints(); ardRoutePoints00.setDampingDistance(0); ardRoutePoints00.setFlightPathMode(1); ardRoutePoints00.setGroupIndex(0); ardRoutePoints00.setHeading(0); ardRoutePoints00.setHeadingMode(0); ardRoutePoints00.setHeight(50); ardRoutePoints00.setInterestIndex(-1); ardRoutePoints00.setLat(31.11339916); ardRoutePoints00.setLon(103.75851462); ardRoutePoints00.setSafeGohomeFlag(0); ardRoutePoints00.setSpeed(8); List actions00 = new ArrayList<>(); ArdRouteActions ardRouteActions00 = new ArdRouteActions(); ardRouteActions00.setParam(10); ardRouteActions00.setSpeakInfo(""); ardRouteActions00.setType(1); ardRouteActions00.setWaitTime(2); ArdRouteActions ardRouteActions01 = new ArdRouteActions(); ardRouteActions01.setParam(10); ardRouteActions01.setSpeakInfo(""); ardRouteActions01.setType(1); ardRouteActions01.setWaitTime(2); ArdRouteActions ardRouteActions02 = new ArdRouteActions(); ardRouteActions02.setParam(10); ardRouteActions02.setSpeakInfo(""); ardRouteActions02.setType(1); ardRouteActions02.setWaitTime(2); actions00.add(ardRouteActions00); actions00.add(ardRouteActions01); actions00.add(ardRouteActions02); ardRoutePoints00.setActions(actions00); //----------------------------------------------------- ArdRoutePoints ardRoutePoints10 = new ArdRoutePoints(); ardRoutePoints10.setDampingDistance(0); ardRoutePoints10.setFlightPathMode(1); ardRoutePoints10.setGroupIndex(0); ardRoutePoints10.setHeading(0); ardRoutePoints10.setHeadingMode(0); ardRoutePoints10.setHeight(50); ardRoutePoints10.setInterestIndex(-1); ardRoutePoints10.setLat(31.11339916); ardRoutePoints10.setLon(103.75746538); ardRoutePoints10.setSafeGohomeFlag(0); ardRoutePoints10.setSpeed(8); List actions10 = new ArrayList<>(); ArdRouteActions ardRouteActions10 = new ArdRouteActions(); ardRouteActions10.setParam(20); ardRouteActions10.setSpeakInfo(""); ardRouteActions10.setType(9); ardRouteActions10.setWaitTime(2); ArdRouteActions ardRouteActions11 = new ArdRouteActions(); ardRouteActions11.setParam(40); ardRouteActions11.setSpeakInfo(""); ardRouteActions11.setType(6); ardRouteActions11.setWaitTime(2); ArdRouteActions ardRouteActions12 = new ArdRouteActions(); ardRouteActions12.setParam(40); ardRouteActions12.setSpeakInfo(""); ardRouteActions12.setType(7); ardRouteActions12.setWaitTime(2); ArdRouteActions ardRouteActions13 = new ArdRouteActions(); ardRouteActions13.setParam(40); ardRouteActions13.setSpeakInfo(""); ardRouteActions13.setType(8); ardRouteActions13.setWaitTime(2); actions10.add(ardRouteActions10); actions10.add(ardRouteActions11); actions10.add(ardRouteActions12); ardRoutePoints10.setActions(actions10); //----------------------------------------------------- ArdRoutePoints ardRoutePoints20 = new ArdRoutePoints(); ardRoutePoints20.setDampingDistance(0); ardRoutePoints20.setFlightPathMode(1); ardRoutePoints20.setGroupIndex(0); ardRoutePoints20.setHeading(0); ardRoutePoints20.setHeadingMode(0); ardRoutePoints20.setHeight(50); ardRoutePoints20.setInterestIndex(-1); ardRoutePoints20.setLat(31.11250084); ardRoutePoints20.setLon(103.75746538); ardRoutePoints20.setSafeGohomeFlag(0); ardRoutePoints20.setSpeed(8); List actions20 = new ArrayList<>(); ArdRouteActions ardRouteActions20 = new ArdRouteActions(); ardRouteActions20.setParam(15); ardRouteActions20.setSpeakInfo(""); ardRouteActions20.setType(9); ardRouteActions20.setWaitTime(2); ArdRouteActions ardRouteActions21 = new ArdRouteActions(); ardRouteActions21.setParam(3); ardRouteActions21.setSpeakInfo(""); ardRouteActions21.setType(10); ardRouteActions21.setWaitTime(2); actions20.add(ardRouteActions20); actions20.add(ardRouteActions21); ardRoutePoints20.setActions(actions20); //----------------------------------------------------- ArdRoutePoints ardRoutePoints30 = new ArdRoutePoints(); ardRoutePoints30.setDampingDistance(0); ardRoutePoints30.setFlightPathMode(1); ardRoutePoints30.setGroupIndex(0); ardRoutePoints30.setHeading(0); ardRoutePoints30.setHeadingMode(0); ardRoutePoints30.setHeight(60); ardRoutePoints30.setInterestIndex(-1); ardRoutePoints30.setLat(31.11250084); ardRoutePoints30.setLon(103.75851462); ardRoutePoints30.setSafeGohomeFlag(0); ardRoutePoints30.setSpeed(8); List actions30 = new ArrayList<>(); ArdRouteActions ardRouteActions30 = new ArdRouteActions(); ardRouteActions30.setParam(1); ardRouteActions30.setSpeakInfo(""); ardRouteActions30.setType(2); ardRouteActions30.setWaitTime(2); actions30.add(ardRouteActions30); ardRoutePoints30.setActions(actions30); points.add(ardRoutePoints00); points.add(ardRoutePoints10); points.add(ardRoutePoints20); points.add(ardRoutePoints30); ardRouteChange.setPoints(points); } // private ArdRoutePoints buildArdRoutePoints(){ // ArdRoutePoints ardRoutePoints1 = new ArdRoutePoints(); // ardRoutePoints1.setDampingDistance(0); // ardRoutePoints1.setFlightPathMode(1); // ardRoutePoints1.setGroupIndex(0); // ardRoutePoints1.setHeading(0); // ardRoutePoints1.setHeadingMode(0); // ardRoutePoints1.setHeight(50); // ardRoutePoints1.setInterestIndex(0); // ardRoutePoints1.setLat(31.11339916); // ardRoutePoints1.setLon(103.75851462); // ardRoutePoints1.setSafeGohomeFlag(0); // ardRoutePoints1.setSpeed(8); // // // } // private ArdRouteActions buildArdRouteActions(){ // ArdRouteActions ardRouteActions0 = new ArdRouteActions(); // ardRouteActions0.setParam(10); // ardRouteActions0.setSpeakInfo(""); // ardRouteActions0.setType(1); // ardRouteActions0.setWaitTime(2); // ArdRouteActions ardRouteActions1 = new ArdRouteActions(); // ardRouteActions1.setParam(10); // ardRouteActions1.setSpeakInfo(""); // ardRouteActions1.setType(1); // ardRouteActions1.setWaitTime(2); // ArdRouteActions ardRouteActions2 = new ArdRouteActions(); // ardRouteActions2.setParam(10); // ardRouteActions2.setSpeakInfo(""); // ardRouteActions2.setType(1); // ardRouteActions2.setWaitTime(2); // } public byte[] testParameters() { String data = "74 79 01 3C 44 42 4D 32 35 30 39 37 34 30 36 35 30 30 38 D1 00 10 08 01 15 00 00 70 41 1D 00 00 00 41 22 4A 09 06 9C E7 80 8B F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 F0 41 25 00 00 00 41 2A 09 08 01 15 00 00 20 41 18 02 2A 09 08 03 15 00 00 80 3F 18 02 2A 09 08 04 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 55 09 F1 BC 12 50 7A F0 59 40 11 08 98 33 BA 07 1D 3F 40 1D 00 00 20 42 25 00 00 00 41 2A 09 08 09 15 00 00 A0 41 18 02 2A 09 08 06 15 00 00 20 42 18 02 2A 09 08 07 15 00 00 20 42 18 02 2A 09 08 08 15 00 00 20 42 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 3F 09 F1 BC 12 50 7A F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 48 42 25 00 00 00 41 2A 09 08 09 15 00 00 70 41 18 02 2A 09 08 0A 15 00 00 40 40 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 22 34 09 06 9C E7 80 8B F0 59 40 11 91 92 E4 DA CC 1C 3F 40 1D 00 00 70 42 25 00 00 00 41 2A 09 08 02 15 00 00 80 3F 18 02 30 01 58 FF FF FF FF FF FF FF FF FF 01 30 32 70 32"; String[] hexStrings = data.split(" "); StringBuilder sb = new StringBuilder(); sb.append("byte[] encodedBytes = {"); for (int i = 0; i < hexStrings.length; i++) { sb.append("(byte) 0x").append(hexStrings[i]); if (i < hexStrings.length - 1) { sb.append(", "); } } sb.append("};"); return sb.toString().getBytes(); } }