zhaowenyu
2025-11-18 d2b4f1493696c28355242deda4eaa66ceb1ec7d6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
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);
//    }
}