From 4107073950f459e051e5b9e828750ab57be3863b Mon Sep 17 00:00:00 2001
From: cjl <276999030@qq.com>
Date: Wed, 15 Nov 2023 16:03:53 +0800
Subject: [PATCH] fix:补充提交
---
screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java
index 3529481..52ef8f7 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/UAVServiceImpl.java
@@ -1,5 +1,6 @@
package com.moral.api.service.impl;
+import com.moral.api.pojo.dto.uav.UAVResultListDTO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -33,6 +34,76 @@
private HistorySecondUavMapper historySecondUavMapper;
@Override
+ public UAVResultListDTO getUavMore(Map<String, Object> params) {
+ UAVResultListDTO uavResultListDTO = new UAVResultListDTO();
+ String uvasize = params.get("uvasize").toString();
+ int size = Integer.parseInt(uvasize);
+ //������
+ ArrayList<Double> flyLatList = new ArrayList<>();
+ //������
+ ArrayList<Double> flyLonList = new ArrayList<>();
+ String type = params.get("type").toString();
+ params.put("type","$."+type);
+ List<UAVGetBD> historySecondUavs = historySecondUavMapper.reListDetail(params);
+ if (ObjectUtils.isEmpty(historySecondUavs)){
+ return null;
+ }
+ ArrayList<UAVGetBD> rsBDList = new ArrayList<>();
+ for (UAVGetBD historySecondUav : historySecondUavs) {
+ UAVGetBD uavGetBD = new UAVGetBD();
+ //WGS84 ��� ������������
+ double[] doubles = transformWGS84ToBD09(historySecondUav.getFlyLon(), historySecondUav.getFlyLat());
+ uavGetBD.setFlyLon(doubles[0]);
+ uavGetBD.setFlyLat(doubles[1]);
+ uavGetBD.setNum(historySecondUav.getNum());
+ rsBDList.add(uavGetBD);
+ flyLatList.add(doubles[1]);
+ flyLonList.add(doubles[0]);
+ }
+ //������������������������������
+ Double maxLat = Collections.max(flyLatList);
+ Double maxLon = Collections.max(flyLonList);
+ Double minLat = Collections.min(flyLatList);
+ Double minLon = Collections.min(flyLonList);
+ double distance1 = getDistance(maxLon, minLat, maxLon, maxLat);
+ //���������������������
+ double distance2 = getDistance(maxLon, minLat, minLon, minLat);
+ ArrayList<UAVGteForDTO> list = new ArrayList<>();
+ String[] youshang = calLocationByDistanceAndLocationAndDirection(90, minLon, maxLat, size);
+ //������2
+ String[] youxia = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(youshang[0]), Double.parseDouble(youshang[1]), size);
+ //������2
+ String[] zuoxia = calLocationByDistanceAndLocationAndDirection(180, minLon, maxLat, size);
+ for (int i = 0; i <distance2 ; i+=size) {
+ UAVGteForDTO dto1 = new UAVGteForDTO();
+ String[] strings2 = calLocationByDistanceAndLocationAndDirection(90, minLon, maxLat, i);
+ String[] strings3 = calLocationByDistanceAndLocationAndDirection(90, Double.parseDouble(youshang[0].toString()), Double.parseDouble(youshang[1].toString()), i);
+ String[] strings4 = calLocationByDistanceAndLocationAndDirection(90, Double.parseDouble(youxia[0].toString()), Double.parseDouble(youxia[1].toString()), i);
+ String[] strings5 = calLocationByDistanceAndLocationAndDirection(90, Double.parseDouble(zuoxia[0].toString()), Double.parseDouble(zuoxia[1].toString()), i);
+ dto1.setLeftTop(strings2);
+ dto1.setRightTop(strings3);
+ dto1.setRightBottom(strings4);
+ dto1.setLeftBottom(strings5);
+ list.add(dto1);
+ for (int j = 0; j < distance1; j+=size) {
+ UAVGteForDTO dto2 = new UAVGteForDTO();
+ String[] strings6 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings2[0].toString()), Double.parseDouble(strings2[1].toString()), j);
+ String[] strings7 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings3[0].toString()), Double.parseDouble(strings3[1].toString()), j);
+ String[] strings8 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings4[0].toString()), Double.parseDouble(strings4[1].toString()), j);
+ String[] strings9 = calLocationByDistanceAndLocationAndDirection(180, Double.parseDouble(strings5[0].toString()), Double.parseDouble(strings5[1].toString()), j);
+ dto2.setLeftTop(strings6);
+ dto2.setRightTop(strings7);
+ dto2.setRightBottom(strings8);
+ dto2.setLeftBottom(strings9);
+ if (j!=0){
+ list.add(dto2);
+ }
+ }
+
+ }
+ return null;
+ }
+ @Override
public List<UAVResultDTO> getUav(Map<String, Object> params) {
String uvasize = params.get("uvasize").toString();
--
Gitblit v1.8.0