osg 根据两个点的经纬度计算方位角
已知 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 根据两个点的经纬度计算方位角相关推荐
- 两点经纬度计算方位角,以正北为0度
//根据两点经纬度计算方位角,以正北为0度public static double computeAzimuth(Double lat1,Double lon1, Double lat2,Double ...
- android 两个经纬度计算方位角和距离(Java版本)
之前被同事紧急问起,location出来的经纬度怎么自已算出来方位角和距离.如果是自已算的话,一般来说是前后两秒经纬度进行计算.我在android 系统源码也看到计算方式.在这里进行贴出来,记录一下. ...
- android根据两点经纬度计算方位角
/** * 根据两点计算方向角度 * @param startx * @param starty * @param endx * @param endy * @return */ private fl ...
- 地理坐标系之间的转换及经纬度、方位角、距离之间的计算!
在定位与地图构建领域,有时候会需要进行各种地理坐标系之间的转换,以及如何计算各种地理信息!下面是我使用python来实现的计算方法,各位适当参考! 参考资料: https://www.movable- ...
- matlab如何测两点的角度_根据2点经纬度,计算方位角,以及计算2条线的夹角
以真北为0度起点,由东向南向西顺时针旋转360度,主要是用于控制象限. 根据2点经纬度,计算方位角 [csharp] /// /// 给定2点,获得经纬度 /// /// 起点经纬度,都是以度为单位 ...
- 根据2点经纬度,计算方位角,以及计算2条线的夹角
项目场景1:根据2点经纬度,计算方位角 以真北为0度起点,由北向东向南向西顺时针旋转360度,主要是用于控制象限. 提示:这里简述项目相关背景: [csharp] <summary> // ...
- Geodesic.WGS84.Inverse通过两点经纬度计算两点间的方位角
两个经纬度查距离等叫反向 Geodesic.WGS84.Inverse(-41.32, 120.733523, 40.96, -5.50) 出发地经纬度加方位角和距离,查目的地经纬度叫正向 Geode ...
- 根据两个位置的经纬度,来计算两地的距离(单位为KM)
上代码 /*** 根据两个位置的经纬度,来计算两地的距离(单位为KM)* 参数为double类型* long1 位置1经度* lat1 位置1纬度* long2 位置2经度* lat2 位置2纬度*/ ...
- IOS根据两个经纬度计算相距距离
//第一种苹果自带的 CLLocation *orig=[[[CLLocation alloc] initWithLatitude:[mainDelegate.latitude_self double ...
最新文章
- vue - 响应式原理梳理(一)
- Eclipse SQLExplorer插件的安装和使用
- Android 优秀博客汇总
- php数组指定键名,查找数组中指定键名的值_PHP教程
- 工作308:控制change
- Linux学习:第三章-Linux常用命令-2
- LeetCode 1214. 查找两棵二叉搜索树之和(二叉树迭代器+双指针)
- 操蛋!新来的同事竟然不会在javaee项目中使用WebSocket~
- 23种设计模式(0)——概述
- EdrawMax安装方法步骤
- comsol频域模拟
- Unity3D开发之画墙、地面分割(户型绘制)
- 论文阅读>污垢检测:Vision-Based Dirt Detection and Adaptive Tiling Scheme for Selective Area Coverage
- 2 最长上升子序列及其衍生
- Mac电脑网速慢的问题之一(硬件:MTU)
- R语言—90分钟从入门到精通
- 7、osg中响应键盘鼠标事件以及鼠标和键盘编码表
- 谷歌的云计算是什么样子的?
- 华清远见第一周学习体会
- 微信小程序实战_商城1
热门文章
- Single Channel Speech Enhancement Using Temporal Convolutional Recurrent Neural Networks
- 管廊复杂网格参数化算法及其大数据在线渲染
- linux下上传系统中文件到gitHub
- 五一游天坛,体验超震撼的大像素全景
- Skywalking全部
- Mac删除多余的输入输出设备,删除EasyConnectAudio
- 使用matplotlib绘制3D图像时插入图片
- python吃显卡还是内存不足_解决Pytorch 训练与测试时爆显存(out of memory)的问题
- HTMLCSS 【三】-- TABLES, DIVS, AND SPANS
- Python pptx模块