经纬度计算距离
时间: 2023-07-23 13:11:53 浏览: 147
经纬度计算距离 1.0.1.rar
5星 · 资源好评率100%
计算两个经纬度坐标之间的距离可以使用 Haversine 公式,公式如下:
```
a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlong/2)
c = 2 * atan2( √a, √(1−a) )
d = R * c
```
其中,`lat1` 和 `long1` 是第一个点的纬度和经度,`lat2` 和 `long2` 是第二个点的纬度和经度,`Δlat` 和 `Δlong` 是它们之间的差值,`R` 是地球的半径(单位为米)。
以下是一个 Python 示例代码:
```python
import math
def distance(lat1, long1, lat2, long2):
R = 6371000 # 地球半径(米)
phi1 = math.radians(lat1)
phi2 = math.radians(lat2)
delta_phi = math.radians(lat2 - lat1)
delta_lambda = math.radians(long2 - long1)
a = math.sin(delta_phi / 2)**2 + \
math.cos(phi1) * math.cos(phi2) * math.sin(delta_lambda / 2)**2
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))
d = R * c
return d
```
其中 `lat1`、`long1`、`lat2`、`long2` 分别为两个点的经纬度坐标。函数返回的单位为米。
阅读全文