燕山石化溯源三维电子沙盘-【后端】-服务
13693261870
2023-06-23 132e576dbe4a9771ba6728e55ba21b4918e718d6
开发“根据X、Y值查询矩形框”接口
已修改5个文件
49 ■■■■ 文件已修改
src/main/java/com/yssh/controller/SuYuanController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/entity/Report.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/ISuYuanService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/service/impl/SuYuanServiceImpl.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/yssh/utils/CalculateUtils.java 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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、Y值查询矩形框", notes = "根据X、Y值查询矩形框")
    @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));
    }
}
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);
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);
}
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;
    }
}
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、Y值的矩形框
     */
    public static List<Coordinate> calcRect(double x, double y) {
        double buffer = 10;
        List<Coordinate> list = new ArrayList<>();
        //
        return list;
    }
    /**
     * @param @return 参数
     * @return Double 返回类型
     * @throws