From 9b9af4c9457c03061ce4d0bb7656a2c3ad04894e Mon Sep 17 00:00:00 2001 From: zhangnaisong <2434969829@qq.com> Date: 星期二, 07 五月 2024 15:05:20 +0800 Subject: [PATCH] 视频标签加入有高程及无高程判断提交 --- ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 38 insertions(+), 14 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java index 904161e..4f86e8f 100644 --- a/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java @@ -928,24 +928,48 @@ } List<Map<String,Object>> result = new ArrayList(); - for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){ - Map<String,Object> map = new HashMap(); - double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); - double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); - //double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI;//鏃犻珮绋� - double Angle_E = Math.atan((ardCameras.getAltitude() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋� + if(ardTowers.getAltitude() > 5){//鏈夐珮绋� + for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){ + Map<String,Object> map = new HashMap(); + double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); - Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅 - Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话 - if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.92)){//鏈�涓婏紝鏈�宸︼紝鏈�鍙冲幓鎺� - map.put("id",ardAlarmpointsWell.getId()); - map.put("wellId",ardAlarmpointsWell.getWellId()); - map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮 - map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮 - result.add(map); + double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); + //double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI;//鏃犻珮绋� + double Angle_E = Math.atan((ardCameras.getAltitude() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋� + + Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅 + Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话 + if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.92)){//鏈�涓婏紝鏈�宸︼紝鏈�鍙冲幓鎺� + map.put("id",ardAlarmpointsWell.getId()); + map.put("wellId",ardAlarmpointsWell.getWellId()); + map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮 + map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮 + result.add(map); + } + } + }else{//鏃犻珮绋� + for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){ + Map<String,Object> map = new HashMap(); + double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); + + double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude()); + double Angle_E = Math.atan((ardCameras.getAltitude() - 0) / distance_Target) * 180 / Math.PI;//鏃犻珮绋� + //double Angle_E = Math.atan((ardCameras.getAltitude() + ardTowers.getAltitude() - ardAlarmpointsWell.getAltitude()) / distance_Target) * 180 / Math.PI;//鏈夐珮绋� + + Angle_A = Angle_A - (p - fHorFieldAngle/2);//瑙嗗満瑙掑唴鏂逛綅 + Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//瑙嗗満瑙掑唴淇话 + if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.92)){//鏈�涓婏紝鏈�宸︼紝鏈�鍙冲幓鎺� + map.put("id",ardAlarmpointsWell.getId()); + map.put("wellId",ardAlarmpointsWell.getWellId()); + map.put("horFieldProportion",Angle_A/fHorFieldAngle);//妯悜鍗犳瘮 + map.put("verFieldProportion",Angle_E/fVerFieldAngle);//绾靛悜鍗犳瘮 + result.add(map); + } } } + + return result; } -- Gitblit v1.9.3