已知 A 点的经度和纬度,B 点的经度和纬度,计算 B 点相对于 A 点的方位角。

  • A 点的经度为 ax, 纬度为 ay;
  • B 点的经度为 bx, 纬度为 by;
  • 求 B 点相对于 A 点的方位角

求方位角示例

以下为求方位角源码,复制便可以直接运行。

注意:经纬度都是以小数格式计算,不是度分秒格式。

double getAngleByLatLon(double ax, double ay, double bx, double by)
{ax = ax * osg::PI / 180;ay = ay * osg::PI / 180;    bx = bx * osg::PI / 180;by = by * osg::PI / 180;double temValue = 0;// 经纬度相同或则纬度相同if(ax == bx || ay == by){// 经度形同if(ax == bx){if(by >= ay){return 0;}else{return 180;}}// 纬度相同else{if(bx >= ax){return 90;}else{return 270;}}}tmpValue = sin(ay) * sin(by) + cos(ay) * cos(by) * cos(bx - ax);tmpValue = sqrt(1 - tmpValue * tmpValue);tmpValue = cos(by) * sin(bx - ax) / tmpValue;double angle = abs(asin(tmpValue) * 180 / osg::PI);if(bx > ax){if(by > ay){// 第一象限return angle;}else{// 第二象限return 180 - angle;}}else{if(by >= ay){// 第四象限return 360 - angle;}else{// 第三象限return 180 + angle;}}
}

osg 根据两个点的经纬度计算方位角相关推荐

  1. 两点经纬度计算方位角,以正北为0度

    //根据两点经纬度计算方位角,以正北为0度public static double computeAzimuth(Double lat1,Double lon1, Double lat2,Double ...

  2. android 两个经纬度计算方位角和距离(Java版本)

    之前被同事紧急问起,location出来的经纬度怎么自已算出来方位角和距离.如果是自已算的话,一般来说是前后两秒经纬度进行计算.我在android 系统源码也看到计算方式.在这里进行贴出来,记录一下. ...

  3. android根据两点经纬度计算方位角

    /** * 根据两点计算方向角度 * @param startx * @param starty * @param endx * @param endy * @return */ private fl ...

  4. 地理坐标系之间的转换及经纬度、方位角、距离之间的计算!

    在定位与地图构建领域,有时候会需要进行各种地理坐标系之间的转换,以及如何计算各种地理信息!下面是我使用python来实现的计算方法,各位适当参考! 参考资料: https://www.movable- ...

  5. matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角

    以真北为0度起点,由东向南向西顺时针旋转360度,主要是用于控制象限. 根据2点经纬度,计算方位角 [csharp] /// /// 给定2点,获得经纬度 /// /// 起点经纬度,都是以度为单位 ...

  6. 根据2点经纬度,计算方位角,以及计算2条线的夹角

    项目场景1:根据2点经纬度,计算方位角 以真北为0度起点,由北向东向南向西顺时针旋转360度,主要是用于控制象限. 提示:这里简述项目相关背景: [csharp] <summary> // ...

  7. Geodesic.WGS84.Inverse通过两点经纬度计算两点间的方位角

    两个经纬度查距离等叫反向 Geodesic.WGS84.Inverse(-41.32, 120.733523, 40.96, -5.50) 出发地经纬度加方位角和距离,查目的地经纬度叫正向 Geode ...

  8. 根据两个位置的经纬度,来计算两地的距离(单位为KM)

    上代码 /*** 根据两个位置的经纬度,来计算两地的距离(单位为KM)* 参数为double类型* long1 位置1经度* lat1 位置1纬度* long2 位置2经度* lat2 位置2纬度*/ ...

  9. IOS根据两个经纬度计算相距距离

    //第一种苹果自带的 CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self double ...

最新文章

  1. vue - 响应式原理梳理(一)
  2. Eclipse SQLExplorer插件的安装和使用
  3. Android 优秀博客汇总
  4. php数组指定键名,查找数组中指定键名的值_PHP教程
  5. 工作308:控制change
  6. Linux学习:第三章-Linux常用命令-2
  7. LeetCode 1214. 查找两棵二叉搜索树之和(二叉树迭代器+双指针)
  8. 操蛋!新来的同事竟然不会在javaee项目中使用WebSocket~
  9. 23种设计模式(0)——概述
  10. EdrawMax安装方法步骤
  11. comsol频域模拟
  12. Unity3D开发之画墙、地面分割(户型绘制)
  13. 论文阅读>污垢检测:Vision-Based Dirt Detection and Adaptive Tiling Scheme for Selective Area Coverage
  14. 2 最长上升子序列及其衍生
  15. Mac电脑网速慢的问题之一(硬件:MTU)
  16. R语言—90分钟从入门到精通
  17. 7、osg中响应键盘鼠标事件以及鼠标和键盘编码表
  18. 谷歌的云计算是什么样子的?
  19. 华清远见第一周学习体会
  20. 微信小程序实战_商城1

热门文章

  1. Single Channel Speech Enhancement Using Temporal Convolutional Recurrent Neural Networks
  2. 管廊复杂网格参数化算法及其大数据在线渲染
  3. linux下上传系统中文件到gitHub
  4. 五一游天坛,体验超震撼的大像素全景
  5. Skywalking全部
  6. Mac删除多余的输入输出设备,删除EasyConnectAudio
  7. 使用matplotlib绘制3D图像时插入图片
  8. python吃显卡还是内存不足_解决Pytorch 训练与测试时爆显存(out of memory)的问题
  9. HTMLCSS 【三】-- TABLES, DIVS, AND SPANS
  10. Python pptx模块