如何求经度与纬度之间的距离
时间: 2023-09-25 08:12:45 浏览: 53
经度和纬度之间的距离可以使用地球上两点间的大圆距离公式来计算。该公式基于球面三角形的余弦定理,计算两个点之间的弧长,然后将其转换为地球上的实际距离。
以下是一个使用 Python 计算两个地球上点之间距离的示例代码:
```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)
"""
# 将十进制度数转换为弧度
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine公式
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 # 地球平均半径,单位为公里
return c * r
# 测试
print(haversine(116.429283, 39.858192, 116.427701, 39.857817))
```
在这个示例中,我们定义了一个名为 haversine 的函数来计算两个地球上点之间的距离。该函数接受四个参数:第一个点的经度和纬度,以及第二个点的经度和纬度。函数使用 haversine 公式计算这两个点之间的距离,并返回结果,单位为公里。
在测试中,我们使用北京市中心的两个坐标点来计算它们之间的距离,得到的结果约为 0.18 公里。