From 1f6fafd5c0d26ac863e7d48b40c802fa962b07cb Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Sat, 07 Mar 2026 15:39:48 +0800
Subject: [PATCH] 1. 修改生成kmz文件核心代码,海拔高度相关信息。
---
ard-route/src/main/java/com/ard/route/util/InitializationUtils.java | 33 ++++++++++++++++++++++-----------
1 files changed, 22 insertions(+), 11 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 747af86..d688837 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
@@ -8,6 +8,7 @@
import java.util.ArrayList;
import java.util.List;
+import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK;
import static com.ard.route.util.ToolUtils.getDoublePoint;
/**
@@ -17,7 +18,7 @@
public class InitializationUtils {
// 禅思H20T 公倍数
- private static final Double CHANSI_H20 = 23.76237623;
+ private static final Double CHANSI_H20T = 23.76237623;
// 禅思H20T 焦距值
private static final Double CHANSI_H20_FOCUS = 6.83;
@@ -30,7 +31,7 @@
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");
@@ -55,8 +56,11 @@
}
uavRouteReq.setWaypointTurnReq(waypointTurnReq);
uavRouteReq.setGimbalPitchMode("usePointSetting");
- // 变焦数值加工
- buildZoom(uavRouteReq);
+ uavRouteReq.setHeightMode("EGM96");
+ if (M350_RTK.getValue().equals(uavRouteReq.getDroneType())) {
+ // 变焦数值加工
+ buildZoom(uavRouteReq);
+ }
// 修改每个航点的高度
buildHeight(uavRouteReq);
// 动作组编号数据加工
@@ -98,15 +102,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(action.getZoom() * CHANSI_H20);
- action.setZoom(action.getZoom() * CHANSI_H20_FOCUS);
+ if (!routePointReq.getActionGroupList().isEmpty()){
+ for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
+ for (PointActionReq action : actionGroupReq.getActions()) {
+ if (action.getZoom() != null){
+ action.setZoom(multiple_23(action.getZoom()));
+ }
}
}
}
}
+ }
+
+ public static Double multiple_23(Double zoom){
+ return zoom * CHANSI_H20T;
+ }
+
+ public static Double divided_23(Double zoom){
+ return zoom / CHANSI_H20T;
}
/**
@@ -269,8 +282,6 @@
// ardRoutePoints1.setLon(103.75851462);
// ardRoutePoints1.setSafeGohomeFlag(0);
// ardRoutePoints1.setSpeed(8);
-//
-//
// }
// private ArdRouteActions buildArdRouteActions(){
--
Gitblit v1.9.3