经纬度求子午线长 弧长python
时间: 2023-07-01 19:24:55 浏览: 251
meridian.rar_meridian_子午线弧长_平线圈弧长_椭球_椭球体
如果要计算任意两个经纬度点之间的距离,可以使用 haversine 公式来计算两点之间的弧长,然后再乘以地球半径,即可得到两点之间的直线距离。haversine 公式的计算公式如下:
a = sin²(Δlat/2) + cos(lat1) * cos(lat2) * sin²(Δlon/2)
c = 2 * atan2( √a, √(1−a) )
d = R * c
其中,lat1, lon1 和 lat2, lon2 分别为两个经纬度点的纬度和经度,Δlat 和 Δlon 分别为两个点之间的纬度和经度差,R 为地球半径。
下面是一个示例代码:
```python
import math
R = 6378137 # 地球半径
lat1 = 39.9 # 起点纬度(单位为度)
lon1 = 116.3 # 起点经度(单位为度)
lat2 = 31.2 # 终点纬度(单位为度)
lon2 = 121.5 # 终点经度(单位为度)
dLat = math.radians(lat2 - lat1)
dLon = math.radians(lon2 - lon1)
a = math.sin(dLat/2) * math.sin(dLat/2) + math.cos(math.radians(lat1)) \
* math.cos(math.radians(lat2)) * math.sin(dLon/2) * math.sin(dLon/2)
c = 2 * math.atan2(math.sqrt(a), math.sqrt(1-a))
distance = R * c
print(distance)
```
这段代码计算了从北京 (39.9, 116.3) 到上海 (31.2, 121.5) 之间的距离,并输出结果。
阅读全文