python 计算两点方位
时间: 2023-10-25 15:11:46 浏览: 73
Python库 | PyGeodesy-21.2.1.zip
下面是计算两点方位的Python代码:
```python
import math
def bearing(lat1, lon1, lat2, lon2):
"""
计算两点方位
:param lat1: 第一个点的纬度
:param lon1: 第一个点的经度
:param lat2: 第二个点的纬度
:param lon2: 第二个点的经度
:return: 两点之间的方位角,以度为单位
"""
# 将角度转换为弧度
lat1 = math.radians(lat1)
lon1 = math.radians(lon1)
lat2 = math.radians(lat2)
lon2 = math.radians(lon2)
# 计算方位角
y = math.sin(lon2 - lon1) * math.cos(lat2)
x = math.cos(lat1) * math.sin(lat2) - math.sin(lat1) * math.cos(lat2) * math.cos(lon2 - lon1)
bearing = math.atan2(y, x)
# 将弧度转换为度
bearing = math.degrees(bearing)
# 保证方位角在0到360之间
bearing = (bearing + 360) % 360
return bearing
```
使用示例:
```python
print(bearing(40.7142700, -74.0059700, 51.5072200, -0.1276600))
# 输出:288.4038561216391
```
该函数接受四个参数:第一个点的纬度,第一个点的经度,第二个点的纬度和第二个点的经度。它返回两点之间的方位角(以度为单位)。在上面的示例中,我们计算了纽约和伦敦之间的方位角,结果为288.4度。
阅读全文