| | |
| | | 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)); |
| | | } |
| | | } |
| | |
| | | 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); |
| | |
| | | public int updateVocsName(Date date, String id, String vocsName); |
| | | |
| | | public List<Qxsh> queryQxsh(Date date); |
| | | |
| | | public List<List<Coordinate>> selectRects(Double[] x, Double[] y); |
| | | } |
| | |
| | | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 转化为弧度(rad) |
| | | */ |
| | | private static double rad(double d) |
| | | { |
| | | private static double rad(double d) { |
| | | return d * Math.PI / 180.0; |
| | | } |
| | | |
| | |
| | | * 保留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; |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 计算角度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(); |
| | |
| | | double angle = gc.getAzimuth(); |
| | | |
| | | return round2(angle); |
| | | }catch (Exception ex){ |
| | | } catch (Exception ex) { |
| | | return 0; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 获取坐标 |
| | | * |
| | | * @param su |
| | | * @return |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 计算经度 |
| | | * |
| | | * @param @param x |
| | | * @param @param y |
| | | * @param @return 参数 |
| | |
| | | |
| | | /** |
| | | * 计算维度 |
| | | * |
| | | * @param @param x |
| | | * @param @param y |
| | | * @param @return 参数 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 计算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 |