From 3f43e40ed1a1e9f66b3ad2862da9dbc4b710c712 Mon Sep 17 00:00:00 2001
From: nishiwei <13126973358@163.com>
Date: Fri, 23 Oct 2026 14:09:47 +0800
Subject: [PATCH] 智云3.0机场1适配内容提交
---
ard-route/src/main/java/com/ard/route/util/InitializationUtils.java | 242 +++++++-----------------------------------------
1 files changed, 36 insertions(+), 206 deletions(-)
diff --git a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
index 8ef4f90..56734ea 100644
--- a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
@@ -4,10 +4,14 @@
import com.ard.route.domain.sixhe.ArdRouteActions;
import com.ard.route.domain.sixhe.ArdRouteChange;
import com.ard.route.domain.sixhe.ArdRoutePoints;
+import com.ard.route.enums.kml.DroneEnumValueEnums;
+import com.ard.route.enums.kml.PayloadTypeEnums;
import java.util.ArrayList;
import java.util.List;
+import java.util.Objects;
+import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK;
import static com.ard.route.util.ToolUtils.getDoublePoint;
/**
@@ -30,14 +34,25 @@
public UavRouteReq initialization(UavRouteReq uavRouteReq){
uavRouteReq.setTemplateType("waypoint");
// 起始点默认航线第一个点
- if (uavRouteReq.getTakeOffRefPoint().isEmpty()){
+ if (uavRouteReq.getTakeOffRefPoint() == null){
uavRouteReq.setTakeOffRefPoint(
uavRouteReq.getRoutePointList().get(0).getLatitude() + "," +
- uavRouteReq.getRoutePointList().get(0).getLongitude() + "," + "0");
+ uavRouteReq.getRoutePointList().get(0).getLongitude() + "," +
+ uavRouteReq.getRoutePointList().get(0).getHeight());
}
//uavRouteReq.setDroneType(89);
- uavRouteReq.setSubDroneType(0);
- uavRouteReq.setPayloadType(43);
+ // 机场1:M30/M30T 使用机身自带双光/三光相机,payloadEnumValue 分别为 52/53,
+ // 不能沿用 H20T(43)。其余机型保持原有逻辑,机场2/3 的航线生成结果不变。
+ if (Objects.equals(DroneEnumValueEnums.M30_M30T.getValue(), uavRouteReq.getDroneType())) {
+ if (uavRouteReq.getSubDroneType() == null) {
+ uavRouteReq.setSubDroneType(0);
+ }
+ uavRouteReq.setPayloadType(Objects.equals(1, uavRouteReq.getSubDroneType())
+ ? PayloadTypeEnums.M30T.getValue() : PayloadTypeEnums.M30.getValue());
+ } else {
+ uavRouteReq.setSubDroneType(0);
+ uavRouteReq.setPayloadType(43);
+ }
uavRouteReq.setPayloadPosition(0);
uavRouteReq.setImageFormat("wide");
uavRouteReq.setFinishAction("goHome");
@@ -55,8 +70,10 @@
}
uavRouteReq.setWaypointTurnReq(waypointTurnReq);
uavRouteReq.setGimbalPitchMode("usePointSetting");
- // 变焦数值加工
- buildZoom(uavRouteReq);
+ if (M350_RTK.getValue().equals(uavRouteReq.getDroneType())) {
+ // 变焦数值加工
+ buildZoom(uavRouteReq);
+ }
// 修改每个航点的高度
buildHeight(uavRouteReq);
// 动作组编号数据加工
@@ -87,9 +104,11 @@
* 根据起飞点高度减去当前航点高度
*/
public void buildHeight(UavRouteReq uavRouteReq){
- double takeOffHeight = getDoublePoint(uavRouteReq.getTakeOffRefPoint(),"alt");
- for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) {
- routePointReq.setHeight(routePointReq.getHeight() - takeOffHeight);
+ if (!"EGM96".equals(uavRouteReq.getHeightMode())){
+ double takeOffHeight = getDoublePoint(uavRouteReq.getTakeOffRefPoint(),"alt");
+ for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) {
+ routePointReq.setHeight(routePointReq.getHeight() - takeOffHeight);
+ }
}
}
@@ -98,213 +117,24 @@
*/
private void buildZoom(UavRouteReq uavRouteReq){
for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) {
- for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
- for (PointActionReq action : actionGroupReq.getActions()) {
- if (action.getZoom() != null){
- action.setZoom(multiple_23(action.getZoom()));
- //action.setZoom(multiple_6(action.getZoom()));
+ if (!routePointReq.getActionGroupList().isEmpty()){
+ for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
+ for (PointActionReq action : actionGroupReq.getActions()) {
+ if (action.getZoom() != null){
+ action.setZoom(multiple23(action.getZoom()));
+ }
}
}
}
}
}
- public static Double multiple_23(Double zoom){
+ public static Double multiple23(Double zoom){
return zoom * CHANSI_H20T;
}
- public static Double multiple_6(Double zoom){
- return zoom * CHANSI_H20_FOCUS;
- }
-
- public static Double divided_23(Double zoom){
+ public static Double divided23(Double zoom){
return zoom / CHANSI_H20T;
}
-
- public static Double divided_6(Double zoom){
- return zoom / CHANSI_H20_FOCUS;
- }
-
- /**
- * 初始化数据
- */
- 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<ArdRoutePoints> 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<ArdRouteActions> 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<ArdRouteActions> 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<ArdRouteActions> 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<ArdRouteActions> 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);
-// }
}
--
Gitblit v1.9.3