如何解决轴承计算方法之间的差异
我希望能够使用python确定两个地理位置之间的角度。为了实现这一目标,我考虑了movable-type网站。当在此网站上查找point1(42.386391,-71.019037)和point2(42.387728,-71.016153)时,我得到了57度,这在Google地图中也完全有意义。
因此,我将网站上共享的公式转换为python。 这是网站上的公式:
这是我的pthon代码:
def bearing1(lat1,long1,lat2,long2):
cal = math.atan2(np.sin(long2-long1)*np.cos(lat2),np.cos(lat1)*np.sin(lat2)-np.sin(lat1)*np.cos(lat2)*np.cos(long2-long1))
bearing = np.degrees(cal)
return (360+bearing) % 360
但是当我运行此功能时,我得到的角度为357度。
如果您认为红色点是point1,而粉色点是point2,则57度的角度比357度的角度要有意义得多。 (绿色的X是我要学习的天使。)
此外,我尝试在this website上使用相同的值,这也是59度,这还不错。显然我的代码中缺少某些内容。那么,您认为我在做什么错?应该更改什么?
解决方法
我要特别注意np.sin(long2-long1)=-np.sin(long1-long2)可能会在使用np.atan2(x ,y)
不确定您的问题是否出在这里。
不确定我是否真正理解了问题!您想通过笔直向前(例如在地下)来计算沿朝向另一个点的方向上某个点与地球的切线之间的夹角?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。