zhangjian
2023-06-27 c194bfe56895e5271a13ef173f4d57f578f8131a
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