def cal_distance(s,t):
#s,t = sorted([s,t])
#if (s,t) in cdic:
# return cdic[(s,t)]
if s in cdic:
lat1,lon1 = cdic[s]
else:
lat1,lon1 = decode(s)
cdic[s] = (lat1,lon1)
if t in cdic:
lat2,lon2 = cdic[t]
else:
lat2,lon2 = decode(t)
cdic[t] = (lat2,lon2)
#lat2,lon2 = decode(t)
dx = abs(lon1 - lon2)
dy = abs(lat1 - lat2)
b = (lat1 + lat2) / 2.0
Lx = 6371004.0 * (dx / 57.2958) * cos(b / 57.2958)
Ly = 6371004.0 * (dy / 57.2958)
L = (Lx**2 + Ly**2) ** 0.5
cdic[(s,t)] = L
return L
评论列表
文章目录