From c194bfe56895e5271a13ef173f4d57f578f8131a Mon Sep 17 00:00:00 2001 From: zhangjian <zhangjianrock@163.com> Date: 星期二, 27 六月 2023 14:07:17 +0800 Subject: [PATCH] 根据开始坐标点,角度,计算结束点坐标 --- ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/GisUtil.java | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/GisUtil.java b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/GisUtil.java index c4e019d..e9c916a 100644 --- a/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/GisUtil.java +++ b/ard-work/src/main/java/com/ruoyi/device/hiksdk/util/hikSdkUtil/GisUtil.java @@ -50,7 +50,7 @@ double p = 0, t = 0, z = 0; double distance = GisUtil.getDistance(camera[0], camera[1], lookAt[0], lookAt[1]); double northAngle = GisUtil.getNorthAngle(camera[0], camera[1], lookAt[0], lookAt[1]); - double height = camera[2] - lookAt[2]; + double height = camera[2]; p = northAngle; t = Angle.toDegrees(Math.atan(height / distance)) * -1+360; z = distance * Math.tan(viewAngle / 2) * 2 / viewWidth; @@ -59,6 +59,16 @@ z = new BigDecimal(z).setScale(1,BigDecimal.ROUND_HALF_UP).doubleValue();*/ return new double[]{p, t, z}; } + /** + * 鏍规嵁寮�濮嬪潗鏍囩偣锛岃搴︼紝璁$畻缁撴潫鐐瑰潗鏍� + * @param startGlobalCoordinates + * @param startAngle 鏂瑰悜锛堜互璧风偣涓轰腑蹇冿級 + * @param distance 璺濈锛堝崟浣嶏細m锛� + * @return + */ + public static GlobalCoordinates getGlobalCoordinates(GlobalCoordinates startGlobalCoordinates, double startAngle, double distance){ + return new GeodeticCalculator().calculateEndingGlobalCoordinates(Ellipsoid.WGS84, startGlobalCoordinates, startAngle, distance); + } public static void main(String[] args) { // 125.097531,46.60029, 125.124731,46.584808 -- Gitblit v1.9.3