python 两个经纬度点判断方位
时间: 2023-10-28 21:04:52 浏览: 89
已知2点经纬度计算相对方位及距离
5星 · 资源好评率100%
可以使用以下代码来判断两个经纬度点之间的方位:
```python
import math
def bearing(lat1, lon1, lat2, lon2):
"""
计算两个经纬度点之间的方位角度
"""
lat1 = math.radians(lat1)
lon1 = math.radians(lon1)
lat2 = math.radians(lat2)
lon2 = math.radians(lon2)
delta_lon = lon2 - lon1
y = math.sin(delta_lon) * math.cos(lat2)
x = math.cos(lat1) * math.sin(lat2) - math.sin(lat1) * math.cos(lat2) * math.cos(delta_lon)
bearing = math.atan2(y, x)
return math.degrees(bearing)
# 输入两个经纬度点
lat1 = 39.908722
lon1 = 116.397499
lat2 = 39.908722
lon2 = 116.397500
# 计算方位角度
bearing_angle = bearing(lat1, lon1, lat2, lon2)
# 判断方位
if bearing_angle >= 0 and bearing_angle < 90:
print('东北')
elif bearing_angle >= 90 and bearing_angle < 180:
print('东南')
elif bearing_angle >= 180 and bearing_angle < 270:
print('西南')
else:
print('西北')
```
其中,使用了`math`库的`radians()`函数将角度转换为弧度,然后根据经纬度计算出两个点之间的方位角度,最后根据方位角度判断方位。
阅读全文