From 63bf75616f1bcba51d23932cdcdbe3c3fe5643d8 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Fri, 28 Jul 2023 09:21:42 +0800
Subject: [PATCH] chore:测试提交
---
screen-api/src/main/java/com/moral/api/controller/UAVController.java | 72 ++++++++++++++++++++++++++++++-----
1 files changed, 61 insertions(+), 11 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/controller/UAVController.java b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
index b97df8d..e501a09 100644
--- a/screen-api/src/main/java/com/moral/api/controller/UAVController.java
+++ b/screen-api/src/main/java/com/moral/api/controller/UAVController.java
@@ -86,15 +86,11 @@
ArrayList<Double> flyLatList = new ArrayList<>();
//������
ArrayList<Double> flyLonList = new ArrayList<>();
-// HashMap<String, Object> map = new HashMap<>();
-// String mac ="p5dnd7a0243592";
-// String time1 ="2023-05-14 10:40:00";
-// String time2 ="2023-05-14 11:10:00";
-// map.put("mac",mac);
-// map.put("time1",time1);
-// map.put("time2",time2);
-// map.put("height",0.5);
-// List<UAVResultDTO> uavResultDTOS = historySecondUavMapper.reList(map);
+// String mac ="p5dnd7a0243591";
+// String time1 ="2023-07-19 14:14:08";
+// String time2 ="2023-07-19 14:35:29";
+//
+//// List<UAVResultDTO> uavResultDTOS = historySecondUavMapper.reList(map);
// QueryWrapper<HistorySecondUav> queryWrapper = new QueryWrapper<>();
// queryWrapper.select("value");
// queryWrapper.eq("mac",mac);
@@ -166,15 +162,31 @@
}
}
}
+ ArrayList<Integer> list2 = new ArrayList<>();
ArrayList<UAVResultDTO> uavResultDTOS1 = new ArrayList<>();
for (UAVGteForDTO uavGteForDTO : list) {
+ ArrayList<String> list1 = new ArrayList<>();
ArrayList<String[]> doubleArrayList = new ArrayList<>();
doubleArrayList.add(uavGteForDTO.getLeftTop());
doubleArrayList.add(uavGteForDTO.getLeftBottom());
doubleArrayList.add(uavGteForDTO.getRightTop());
doubleArrayList.add(uavGteForDTO.getRightBottom());
-// UAVResultDTO result = getResult(doubleArrayList);
-// uavResultDTOS1.add(result);
+ UAVResultDTO result = getResults(doubleArrayList);
+ for (int i = 0; i < historySecondUavs.size(); i++) {
+ HistorySecondUav historySecondUav = historySecondUavs.get(i);
+ String value = historySecondUav.getValue();
+ Map map1 = JSON.parseObject(value, Map.class);
+ String flylat = map1.get("flylat").toString();
+ String flylon = map1.get("flylon").toString();
+ //���������������������������
+ boolean flag = isInPolygon(flylon,flylat,doubleArrayList);
+ if (flag){
+ list2.add(list2.size()+1);
+ list1.add(historySecondUav.getValue());
+ historySecondUavs.remove(i);
+ }
+ }
+ uavResultDTOS1.add(result);
}
if (!ObjectUtils.isEmpty(uavResultDTOS1)){
return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),uavResultDTOS1);
@@ -405,8 +417,12 @@
ResponseCodeEnum.PARAMETERS_IS_MISSING.getMsg());
//������������������
List<UAVQueryTimeSlotDTO> dtos = historySecondUavService.queryTimeSlot(form);
+ if (ObjectUtils.isEmpty(dtos)){
+ return new ResultMessage(ResponseCodeEnum.TARGET_IS_NULL,null);
+ }
//������vo���
UAVQueryTimeSlotVOs vo = UAVQueryTimeSlotVOs.convert(dtos);
+
//������������
return new ResultMessage(ResponseCodeEnum.SUCCESS.getCode(), ResponseCodeEnum.SUCCESS.getMsg(),vo);
}
@@ -504,6 +520,40 @@
// return uavResultDTO;
}
+
+ //���������������
+ public static UAVResultDTO getResults(ArrayList<String[]> doubleArrayList){
+ UAVResultDTO uavResultDTO = new UAVResultDTO();
+ int total = doubleArrayList.size();
+ double X = 0, Y = 0, Z = 0;
+ for (int i = 0; i < total; i++) {
+ double lat, lon, x, y, z;
+ String[] strings = doubleArrayList.get(i);
+ lon = Double.parseDouble(strings[0]) * Math.PI / 180;
+ lat = Double.parseDouble(strings[1]) * Math.PI / 180;
+ x = Math.cos(lat) * Math.cos(lon);
+ y = Math.cos(lat) * Math.sin(lon);
+ z = Math.sin(lat);
+ X += x;
+ Y += y;
+ Z += z;
+ }
+ X = X / total;
+ Y = Y / total;
+ Z = Z / total;
+ double Lon = Math.atan2(Y, X);
+ double Hyp = Math.sqrt(X * X + Y * Y);
+ double Lat = Math.atan2(Z, Hyp);
+
+ double rsLon = Lon * 180 / Math.PI;
+ double rsLat = Lat * 180 / Math.PI;
+ uavResultDTO.setFlyLon(rsLon);
+ uavResultDTO.setFlyLat(rsLat);
+
+// return rsLon+"_"+rsLat;
+ return uavResultDTO;
+ }
+
/**
* ������������������������������GeneralPath������
*
--
Gitblit v1.8.0