码迷,mamicode.com
首页 > 移动开发 > 详细

iOS 根据经纬度计算与地理北极夹角

时间:2016-01-19 19:19:55      阅读:492      评论:0      收藏:0      [点我收藏+]

标签:

#define toDeg(X) (X*180.0/M_PI)

 1 /**
 2  * @method 根据两点经纬度,计算与真北方夹角
 3  *
 4  * @param longitude1
 5  * @param latitude1
 6  * @param longitude2
 7  * @param latitude2
 8  */
 9 - (void)getAngle:(double)longitude1 latitude1:(double)latitude1 longitude2:(double)longitude2 latitude2:(double)latitude2 {
10     double cos_c = cos(90 - latitude2)*cos(90 - latitude1) + sin(90 - latitude2)*sin(90 - latitude1)*cos(longitude2-longitude1);
11     
12     double sin_c = sqrt(1 - pow(cos_c, 2));
13     
14     double z = asin(sin(90 - latitude2)*sin(longitude2 - longitude1)/sin_c);
15     z = toDeg(z);
16 }

 

此处设定求B相对于A的方位角,即A为当前位置,B为目标位置

Aj:A点经度

Aw:A点纬度

Bj:B点经度

Bw:B点纬度

北纬为正,南纬为负;东经为正,西经为负

经纬度使用度,DDD.DDDDDD°,非度分或度分秒。

度数未加说明均采用角度制

R:地球平均半径

Azimuth:方位角,以真北为0度起点,由东向南向西顺时针旋转360度

技术分享

技术分享

 

iOS 根据经纬度计算与地理北极夹角

标签:

原文地址:http://www.cnblogs.com/lihaibo-Leao/p/5142890.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!