zhangnaisong
2024-04-30 de54d81a33ad0c47b3b561d824cf6f0fb6343d82
ard-work/src/main/java/com/ruoyi/alarmpoints/well/service/impl/ArdAlarmpointsWellServiceImpl.java
@@ -844,7 +844,7 @@
    }
    @Override
    public List<Map<String, Object>> getCameraVideoLable(Long deptId, String cameraId, Double p, Double t, Double fHorFieldAngle, Double fVerFieldAngle) {
    public List<Map<String, Object>> getCameraVideoLable(Long deptId, String cameraId, Float p, Float t, Float fHorFieldAngle, Float fVerFieldAngle) {
        ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(cameraId);
        //小三角形腰
        Double xy = Math.tan(Math.PI/2 - (Math.PI * 2 - Math.PI * t/180) - Math.PI * fVerFieldAngle/180/2)*ardCameras.getAltitude()/Math.cos(Math.PI * fHorFieldAngle/180/2);
@@ -921,20 +921,20 @@
        List<Map<String,Object>> result = new ArrayList();
        for(ArdAlarmpointsWell ardAlarmpointsWell : innerList){
            Map<String,Object> map = new HashMap();
            double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLongitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
            double distance_Target = RealDistance(ardCameras.getLongitude(),ardCameras.getLatitude(),ardAlarmpointsWell.getLongitude(), ardAlarmpointsWell.getLatitude());
            double Angle_A = GetAngle(ardCameras.getLongitude(),ardCameras.getLongitude(),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;
            Angle_A = Angle_A - (p - fHorFieldAngle/2);//视场角内方位
            Angle_E = Angle_E - (360 - t - fVerFieldAngle/2);//视场角内俯仰
            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);
            if(!(Angle_E/fVerFieldAngle < 0.1 || Angle_A/fHorFieldAngle < 0.08 || Angle_A/fHorFieldAngle > 0.08)){//最上,最左,最右去掉
                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;
    }