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);
|
|
List<ArdRoutePoints> points = new ArrayList<>();
|
ArdRoutePoints ardRoutePoints0 = new ArdRoutePoints();
|
ardRoutePoints0.setDampingDistance(0);
|
ardRoutePoints0.setFlightPathMode(1);
|
ardRoutePoints0.setGroupIndex(0);
|
ardRoutePoints0.setHeading(0);
|
ardRoutePoints0.setHeadingMode(0);
|
ardRoutePoints0.setHeight(50);
|
ardRoutePoints0.setInterestIndex(0);
|
ardRoutePoints0.setLat(31.11339916);
|
ardRoutePoints0.setLon(103.75851462);
|
ardRoutePoints0.setSafeGohomeFlag(0);
|
ardRoutePoints0.setSpeed(8);
|
List<ArdRouteActions> actions = new ArrayList<>();
|
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);
|
actions.add(ardRouteActions0);
|
actions.add(ardRouteActions1);
|
actions.add(ardRouteActions2);
|
points.add(ardRoutePoints0);
|
|
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);
|
// }
|
}
|