From 49bedcce2ac42fa34da012ee3fc8e9230886064a Mon Sep 17 00:00:00 2001 From: liusuyi <1951119284@qq.com> Date: 星期五, 12 七月 2024 15:28:24 +0800 Subject: [PATCH] 优化:流媒体 --- ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 10 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java index f379d10..eb62b1c 100644 --- a/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java +++ b/ard-work/src/main/java/com/ruoyi/device/camera/service/impl/CameraSdkServiceImpl.java @@ -18,19 +18,20 @@ import com.ruoyi.device.camera.factory.CameraSDKFactory; import com.ruoyi.device.noguidezone.domain.ArdCameraNoGuideZone; import com.ruoyi.device.noguidezone.service.IArdCameraNoGuideZoneService; +import com.ruoyi.device.terrain.domain.ArdTerrainMark; +import com.ruoyi.device.terrain.service.IArdTerrainMarkService; import com.ruoyi.utils.gis.GisUtil; import com.ruoyi.utils.gis.Point; import com.ruoyi.utils.sdk.common.GlobalVariable; import com.ruoyi.utils.tools.ArdTool; -import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import lombok.extern.slf4j.Slf4j; import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import javax.servlet.http.HttpServletResponse; import java.util.*; +import java.util.stream.Collectors; /** @@ -52,6 +53,8 @@ private IArdAlarmpointsWellService ardAlarmpointsWellService; @Resource private IArdCameraNoGuideZoneService ardCameraNoGuideZoneService; + @Resource + private IArdTerrainMarkService ardTerrainMarkService; /** * 鍚姩绾跨▼鏂规硶锛岀敤浜庢墽琛屽垵濮嬪寲鐧诲綍鐩告満鐨勯�昏緫 @@ -508,6 +511,37 @@ } } + /** + * @return + * @Author 鍒樿嫃涔� + * @Description 淇淇话鍊硷紙鏍规嵁鐩告満ID鑾峰彇500绫宠寖鍥村唴鐨勫湴褰㈠弬鏁伴泦鍚堬紝璁$畻骞冲潎鍊煎姞涓奣鍊硷級 + * @Date 2024/6/22 11:16 + * @Param + */ + @Override + public Double correctPitch(CameraCmd cmd) { + Double pitchAngle = 0.0; + try { + double[] targetPositions = cmd.getTargetPosition(); + ArdTerrainMark ardTerrainMark = new ArdTerrainMark(); + ardTerrainMark.setCameraId(cmd.getCameraId()); + List<ArdTerrainMark> ardTerrainMarks = ardTerrainMarkService.selectArdTerrainMarkList(ardTerrainMark); + //杩囨护500绫宠寖鍥村唴鐨勯泦鍚� + ardTerrainMarks = ardTerrainMarks.stream().filter(n -> GisUtil.getDistance(targetPositions, new double[]{n.getLongitude(), n.getLatitude(), n.getAltitude()}) <= 500).collect(Collectors.toList()); + //璁$畻T骞冲潎鍊� + OptionalDouble averageT = ardTerrainMarks.stream().mapToDouble(ArdTerrainMark::getT).average(); + // 杈撳嚭 + if (averageT.isPresent()) { + pitchAngle = averageT.getAsDouble(); + log.debug("淇淇话鍊硷細" + pitchAngle); + } + } catch (Exception ex) { + log.error("淇淇话鍊煎紓甯革細" + ex.getMessage()); + + } + return pitchAngle; + } + //寮曞鎸囧悜浜� @Override public AjaxResult guideTargetWell(CameraCmd cmd) { @@ -552,17 +586,17 @@ case 1: if (ardWellGuideCamera.getP1() != null) { ptzMap = new HashMap<>(); - ptzMap.put("p", ardWellGuideCamera.getP1()); - ptzMap.put("t", ardWellGuideCamera.getT1()); - ptzMap.put("z", ardWellGuideCamera.getZ1()); + ptzMap.put("p" , ardWellGuideCamera.getP1()); + ptzMap.put("t" , ardWellGuideCamera.getT1()); + ptzMap.put("z" , ardWellGuideCamera.getZ1()); } break; case 2: if (ardWellGuideCamera.getP2() != null) { ptzMap = new HashMap<>(); - ptzMap.put("p", ardWellGuideCamera.getP2()); - ptzMap.put("t", ardWellGuideCamera.getT2()); - ptzMap.put("z", ardWellGuideCamera.getZ2()); + ptzMap.put("p" , ardWellGuideCamera.getP2()); + ptzMap.put("t" , ardWellGuideCamera.getT2()); + ptzMap.put("z" , ardWellGuideCamera.getZ2()); } break; @@ -590,9 +624,9 @@ } //鎸変簳鍧愭爣寮�濮嬪紩瀵� if (!guideTargetPosition(cmd).get("code").equals(200)) { - return AjaxResult.warn("浜曞潗鏍囧紩瀵煎け璐�", "cameraId:" + cameraId); + return AjaxResult.warn("浜曞潗鏍囧紩瀵煎け璐�" , "cameraId:" + cameraId); } - return AjaxResult.success("浜曞潗鏍囧紩瀵兼垚鍔�", "cameraId:" + cameraId); + return AjaxResult.success("浜曞潗鏍囧紩瀵兼垚鍔�" , "cameraId:" + cameraId); } -- Gitblit v1.9.3