Browse Source

飞行切换角设置

DESKTOP-2K9OVK9\siwei 1 month ago
parent
commit
6ae6492f75

+ 12 - 2
onemap-modules/onemap-apply/src/main/java/com/onemap/apply/service/gdbh/impl/TGdbhGdServiceImpl.java

@@ -243,7 +243,7 @@ public class TGdbhGdServiceImpl implements ITGdbhGdService {
                         if (Math.abs(Double.parseDouble(writeheading) - dr_hou) > 10) {
                             writeheading = dr_hou.toString();
                         }
-                        if (i + 5 <= len) {
+                        if (i + 7 <= len) {
                             TGdbhFlightDto dto_hou2 = flightDtoList.get(i + 2);
                             Double dr_hou0 = Double.valueOf(tGdbhFlightMapper.stAzimuth(dto_hou.getLongitude(), dto_hou.getLatitude(), dto_hou2.getLongitude(), dto_hou2.getLatitude()));
                             dr_hou4 = Math.abs(dr_hou - dr_hou0);
@@ -255,9 +255,19 @@ public class TGdbhGdServiceImpl implements ITGdbhGdService {
                                     TGdbhFlightDto dto_hou4 = flightDtoList.get(i + 4);
                                     Double dr_hou2 = Double.valueOf(tGdbhFlightMapper.stAzimuth(dto_hou3.getLongitude(), dto_hou3.getLatitude(), dto_hou4.getLongitude(), dto_hou4.getLatitude()));
                                     dr_hou4 = Math.abs(dr_hou1 - dr_hou2);
+                                    if (dr_hou4 <= 10) {
+                                        TGdbhFlightDto dto_hou5 = flightDtoList.get(i + 5);
+                                        Double dr_hou5 = Double.valueOf(tGdbhFlightMapper.stAzimuth(dto_hou4.getLongitude(), dto_hou4.getLatitude(), dto_hou5.getLongitude(), dto_hou5.getLatitude()));
+                                        dr_hou4 = Math.abs(dr_hou2 - dr_hou5);
+                                        if (dr_hou4 <= 10) {
+                                            TGdbhFlightDto dto_hou6 = flightDtoList.get(i + 6);
+                                            Double dr_hou6 = Double.valueOf(tGdbhFlightMapper.stAzimuth(dto_hou5.getLongitude(), dto_hou5.getLatitude(), dto_hou6.getLongitude(), dto_hou6.getLatitude()));
+                                            dr_hou4 = Math.abs(dr_hou5 - dr_hou6);
+                                        }
+                                    }
                                 }
                             }
-                        } else if (i + 5 > len) {
+                        } else if (i + 7 > len) {
                             dr_hou4 = dr_hou4 + 15;
                         }