From 132e576dbe4a9771ba6728e55ba21b4918e718d6 Mon Sep 17 00:00:00 2001
From: 13693261870 <252740454@qq.com>
Date: 星期五, 23 六月 2023 13:13:15 +0800
Subject: [PATCH] 开发“根据X、Y值查询矩形框”接口

---
 src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java |   10 ++++++++++
 src/main/java/com/yssh/service/ISuYuanService.java         |    2 ++
 src/main/java/com/yssh/utils/CalculateUtils.java           |   27 ++++++++++++++++++++-------
 src/main/java/com/yssh/entity/Report.java                  |    1 -
 src/main/java/com/yssh/controller/SuYuanController.java    |    9 +++++++++
 5 files changed, 41 insertions(+), 8 deletions(-)

diff --git a/src/main/java/com/yssh/controller/SuYuanController.java b/src/main/java/com/yssh/controller/SuYuanController.java
index d95bf0c..56a54d0 100644
--- a/src/main/java/com/yssh/controller/SuYuanController.java
+++ b/src/main/java/com/yssh/controller/SuYuanController.java
@@ -158,4 +158,13 @@
     public Result selectVocByTime(@RequestParam(value = "x", required = false) Integer x, @RequestParam(value = "y", required = false) Integer y) {
         return Result.OK(vocValsService.selectCoords(x, y));
     }
+
+    @ApiOperation(value = "鏍规嵁X銆乊鍊兼煡璇㈢煩褰㈡", notes = "鏍规嵁X銆乊鍊兼煡璇㈢煩褰㈡")
+    @ApiOperationSupport(order = 13)
+    @GetMapping("/selectRects")
+    public Result selectRects(@RequestParam(value = "x[]") Double[] x, @RequestParam(value = "y[]") Double[] y) {
+        if (null == x || null == y || x.length == 0 || x.length != y.length) return Result.OK(null);
+
+        return Result.OK(suYuanService.selectRects(x, y));
+    }
 }
diff --git a/src/main/java/com/yssh/entity/Report.java b/src/main/java/com/yssh/entity/Report.java
index 5649bfa..6682227 100644
--- a/src/main/java/com/yssh/entity/Report.java
+++ b/src/main/java/com/yssh/entity/Report.java
@@ -70,7 +70,6 @@
         Coordinate c2 = CalculateUtils.getCoordinate(suMax);
 
         String time = wd.getTableName().replace("su_yuan_", "");
-        double lastVal = 0;
         double speed1 = CalculateUtils.round2(CalculateUtils.getWindSpeed(suYuan.getV(), suYuan.getU()));
         double direction1 = CalculateUtils.getWindDirection(suYuan.getV(), suYuan.getU());
         String dir = CalculateUtils.getDir(direction1);
diff --git a/src/main/java/com/yssh/service/ISuYuanService.java b/src/main/java/com/yssh/service/ISuYuanService.java
index 4b98689..ad95340 100644
--- a/src/main/java/com/yssh/service/ISuYuanService.java
+++ b/src/main/java/com/yssh/service/ISuYuanService.java
@@ -32,4 +32,6 @@
 	public int updateVocsName(Date date, String id, String vocsName);
 
 	public List<Qxsh> queryQxsh(Date date);
+
+	public List<List<Coordinate>> selectRects(Double[] x, Double[] y);
 }
diff --git a/src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java b/src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java
index 37e65d5..71f5c64 100644
--- a/src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java
+++ b/src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java
@@ -286,4 +286,14 @@
 
 		return qxshMapper.selectByTime(time);
 	}
+
+	@Override
+	public List<List<Coordinate>> selectRects(Double[] x, Double[] y) {
+		List<List<Coordinate>> list = new ArrayList<>();
+		for (int i = 0; i < x.length; i++) {
+			list.add(CalculateUtils.calcRect(x[i], y[i]));
+		}
+
+		return list;
+	}
 }
diff --git a/src/main/java/com/yssh/utils/CalculateUtils.java b/src/main/java/com/yssh/utils/CalculateUtils.java
index 233a443..6dcea2a 100644
--- a/src/main/java/com/yssh/utils/CalculateUtils.java
+++ b/src/main/java/com/yssh/utils/CalculateUtils.java
@@ -30,8 +30,7 @@
 	/**
 	 * 杞寲涓哄姬搴�(rad)
 	 */
-	private static double rad(double d)
-	{
+	private static double rad(double d) {
 		return d * Math.PI / 180.0;
 	}
 
@@ -73,14 +72,14 @@
 	 * 淇濈暀2浣嶅皬鏁�
 	 */
 	public static double round2(double d) {
-		return ((long)(d * 100)) / 100D;
+		return ((long) (d * 100)) / 100D;
 	}
 
 	/**
 	 * 淇濈暀6浣嶅皬鏁�
 	 */
 	public static double round6(double d) {
-		return ((long)(d * 1000000)) / 1000000D;
+		return ((long) (d * 1000000)) / 1000000D;
 	}
 
 	/**
@@ -107,9 +106,9 @@
 	/**
 	 * 璁$畻瑙掑害2
 	 */
-	public static double getAngle2(double x1, double y1, double x2, double y2){
+	public static double getAngle2(double x1, double y1, double x2, double y2) {
 		try {
-			DirectPosition2D p1 = new DirectPosition2D( x1, y1);
+			DirectPosition2D p1 = new DirectPosition2D(x1, y1);
 			DirectPosition2D p2 = new DirectPosition2D(x2, y2);
 
 			GeodeticCalculator gc = new GeodeticCalculator();
@@ -119,13 +118,14 @@
 			double angle = gc.getAzimuth();
 
 			return round2(angle);
-		}catch (Exception ex){
+		} catch (Exception ex) {
 			return 0;
 		}
 	}
 
 	/**
 	 * 鑾峰彇鍧愭爣
+	 *
 	 * @param su
 	 * @return
 	 */
@@ -142,6 +142,7 @@
 
 	/**
 	 * 璁$畻缁忓害
+	 *
 	 * @param @param  x
 	 * @param @param  y
 	 * @param @return 鍙傛暟
@@ -161,6 +162,7 @@
 
 	/**
 	 * 璁$畻缁村害
+	 *
 	 * @param @param  x
 	 * @param @param  y
 	 * @param @return 鍙傛暟
@@ -262,6 +264,17 @@
 	}
 
 	/**
+	 * 璁$畻X銆乊鍊肩殑鐭╁舰妗�
+	 */
+	public static List<Coordinate> calcRect(double x, double y) {
+		double buffer = 10;
+		List<Coordinate> list = new ArrayList<>();
+		//
+
+		return list;
+	}
+
+	/**
 	 * @param @return 鍙傛暟
 	 * @return Double 杩斿洖绫诲瀷
 	 * @throws

--
Gitblit v1.9.3