def spherical_distance(a, b):
lat1 = a[1]
lon1 = a[0]
lat2 = b[1]
lon2 = b[0]
R = 6371000.0
rlon1 = lon1 * math.pi / 180.0
rlon2 = lon2 * math.pi / 180.0
rlat1 = lat1 * math.pi / 180.0
rlat2 = lat2 * math.pi / 180.0
dlon = (rlon1 - rlon2) / 2.0
dlat = (rlat1 - rlat2) / 2.0
lat12 = (rlat1 + rlat2) / 2.0
sindlat = math.sin(dlat)
sindlon = math.sin(dlon)
cosdlon = math.cos(dlon)
coslat12 = math.cos(lat12)
f = sindlat * sindlat * cosdlon * cosdlon + sindlon * sindlon * coslat12 * coslat12
f = math.sqrt(f)
f = math.asin(f) * 2.0 # the angle between the points
f *= R
return f
distance_functions.py 文件源码
python
阅读 26
收藏 0
点赞 0
评论 0
评论列表
文章目录