| | |
| | | import com.ruoyi.common.utils.uuid.IdUtils; |
| | | import com.ruoyi.device.camera.domain.ArdCameras; |
| | | import com.ruoyi.device.camera.mapper.ArdCamerasMapper; |
| | | import com.ruoyi.device.tower.domain.ArdTowers; |
| | | import com.ruoyi.device.tower.mapper.ArdTowersMapper; |
| | | import com.ruoyi.system.mapper.SysDeptMapper; |
| | | import com.ruoyi.utils.data.Query; |
| | | import com.ruoyi.utils.gis.GisUtil; |
| | |
| | | private ArdWellGuideCameraMapper ardWellGuideCameraMapper; |
| | | @Resource |
| | | private ArdCamerasMapper ardCamerasMapper; |
| | | |
| | | @Resource |
| | | private ArdTowersMapper ardTowersMapper; |
| | | |
| | | @Autowired |
| | | protected Validator validator; |
| | |
| | | @Override |
| | | public List<Map<String, Object>> getCameraVideoLable(Long deptId, String cameraId, Float p, Float t, Float fHorFieldAngle, Float fVerFieldAngle) { |
| | | ArdCameras ardCameras = ardCamerasMapper.selectArdCamerasById(cameraId); |
| | | ArdTowers ardTowers = ardTowersMapper.selectArdTowersByCameraId(cameraId); |
| | | if(ardTowers == null){ |
| | | return null; |
| | | } |
| | | //小三角形腰 |
| | | 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); |
| | | //大三角形腰 |
| | |
| | | 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() - 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);//视场角内俯仰 |