首页 > 编程语言 >算法:获取雷达的目标经纬度信息

算法:获取雷达的目标经纬度信息

时间:2024-09-24 13:01:02浏览次数:9  
标签:direction 经纬度 double radarLat 算法 雷达 northAngleRad radarLon Math

    @Test
    public void test() {

        // 雷达信息
        double radarLon = 120.283664;
        double radarLat = 29.892702;
        double northAngle = 26.5;

        // 目标信息
        float x = -13.7f * 0.1f;
        float y = 234.7f * 0.1f;
        float v = -1.3f;

        calculateTarget(radarLon, radarLat, northAngle, x, y, v);
    }


    public RadarTarget calculateTarget(double radarLon, double radarLat, double northAngle,
                                       double x, double y, double v) {
        // 1. 计算距离
        double distance = Math.sqrt(x * x + y * y);
        // 2. 计算方位角(弧度)
        double theta = Math.atan2(y, x);
        double bearing = Math.toRadians(26.5) + theta;
        // 3. 计算运动方向(相对于正北顺时针的角度)
        double direction = Math.toDegrees(bearing);
        if (direction < 0) {
            direction += 360;
        }

        // 4. 计算目标经纬度
        double northAngleRad = Math.toRadians(northAngle);
        double deltaX = x * Math.cos(northAngleRad) - y * Math.sin(northAngleRad);
        double deltaY = x * Math.sin(northAngleRad) + y * Math.cos(northAngleRad);

        System.out.println(deltaY);
        // 转换为经纬度 - 1度纬度对应的米数
        double deltaLon = deltaX / (111320 * Math.cos(Math.toRadians(radarLat)));
        double deltaLat = deltaY / 111320;

        double targetLon = radarLon + deltaLon;
        double targetLat = radarLat + deltaLat;

        return new RadarTarget(distance, targetLon, targetLat, direction, v);
    }

 

标签:direction,经纬度,double,radarLat,算法,雷达,northAngleRad,radarLon,Math
From: https://www.cnblogs.com/fangts/p/18428933

相关文章

  • 数据结构算法题
    目录轮转数组原地移除数组中所有元素val删除有序数组中的重复项合并两个有序数组轮转数组思路1:1.利用循环将最后一位数据放到临时变量(n)中2.利用第二层循环将数据往后移一位3.将变量(n)的数据放到数组第一位时间复杂度:O(N^2)空间复杂度:O(1)思路2:1.创建一个空间......
  • 基于AFM注意因子分解机的推荐算法
    1.项目简介项目A033基于AFM(AttentionFactorizationMachine)的推荐算法,旨在通过引入注意力机制提升推荐系统的性能。推荐系统的核心是帮助用户在海量信息中找到符合个人需求的内容,而传统的因子分解机(FM)模型虽然能够捕捉特征间的线性关系,却无法有效利用复杂的高阶特征交互......
  • uniapp微信小程序 [AI算法识别] camera拍摄 实时帧的实现
    <template> <viewclass="con"> <camera device-position="back" frame-size="small" resolution="high" @initdone="startListener" @stop="endListener" @error="er......
  • 代码随想录算法训练营Day13 | 递归遍历、迭代遍历、层序遍历
    目录递归遍历和迭代遍历:144.二叉树的前序遍历94.二叉树的中序遍历145.二叉树的后序遍历层序遍历:102.二叉树的层序遍历107.二叉树的层序遍历Ⅱ199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧......
  • N个utils(加密解密-算法初窥)
    MD5+SHA1publicstaticStringsignature(StringappKey,StringappSecret,longclientTime,Stringversion)throwsException{StringpathString="appKey="+appKey+"&clientTime="+clientTime+"&version="+version......
  • 【算法】递归
    【ps】本篇有5 道 leetcode OJ。 目录一、算法简介二、相关例题1)汉诺塔问题.1-题目解析.2-代码编写2)合并两个有序链表.1-题目解析.2-代码编写3)反转链表.1-题目解析.2-代码编写4)两两交换链表中的节点.1-题目解析.2-代码编写5)Pow(x,n).1-题目......
  • 【数据结构和算法实践-排序-归并排序】
    数据结构和算法实践-排序-归并排序题目MyThought代码示例JAVA-8题目排序MyThought然后再进行递归,递归要注意两个方面:一、自我调用二、终止条件:即函数边界注意点:树、递归*代码示例JAVA-8publicclassMergeSort{publicstaticvoidmergeSor......
  • 25赛季算法(视觉)组培训计划
    1.第一阶段(通识认识和环境配置)9.27-10.7注:第一阶段采用线上直播模式视觉算法组通识认识,如何查找资料Ubuntu环境介绍和系统安装,和基本命令C++介绍,程序的编译链接简介,cmake的简单使用,程序编辑器的安装第一次作业:在ubuntu下配置一个完整的cmake编译环境。并完成自己的第......
  • Day 23 贪心算法part01| LeetCode 455.分发饼干,376.摆动序列,53.最大子序和
    455.分发饼干455.分发饼干classSolution{publicintfindContentChildren(int[]g,int[]s){Arrays.sort(g);Arrays.sort(s);intindex=s.length-1;intcount=0;for(inti=g.le......
  • Springboot基于协同过滤算法的电影推荐系统56rs8程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统功能:用户,电影类型,电影信息,网站资讯,资讯类型开题报告内容一、研究背景与意义随着互联网技术的飞速发展,电影资源日益丰富,用户面临的选择也愈发多样化。......