利用python求解知道一点经纬度和距离另一点经度,求纬度
时间: 2024-05-10 16:15:19 浏览: 96
python依据经纬坐标计算两点距离并求图像横纵分辨率(csdn)————程序.pdf
5星 · 资源好评率100%
可以使用haversine公式来计算出两点之间的距离,该公式需要知道两点的经纬度坐标。然后,可以使用以下代码来计算出另一点的纬度:
```python
from math import radians, cos, sin, asin, sqrt
def haversine(lon1, lat1, lon2, lat2):
"""
Calculate the great circle distance between two points
on the earth (specified in decimal degrees)
"""
# convert decimal degrees to radians
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine formula
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
r = 6371 # Radius of earth in kilometers. Use 3956 for miles
return c * r
# 例子
lat1, lon1 = 39.9042, 116.4074 # 北京的经纬度
distance = 100 # 100km的距离
bearing = 90 # 朝东方向
R = 6371 # 地球半径
# 计算出另一点的经度
lon2 = lon1 + (distance / (R * cos(radians(lat1)))) * cos(radians(bearing))
# 计算出另一点的纬度
lat2 = lat1 + (distance / R) * sin(radians(bearing))
```
其中,`lat1`和`lon1`是已知的经纬度坐标,`distance`是已知的距离,`bearing`是朝向,`R`是地球半径。该代码将返回另一点的纬度 `lat2`。
阅读全文