나는 django와 geopy의 도움으로 한 번 본 솔루션을 많이 좋아했습니다. 그럼에도 불구하고 두 점 이상을 자유롭게 입력 할 수 있도록 코드를 약간 변경했습니다.
from django.contrib.gis.geos import Point
from geopy.distance import distance as geopy_distance
from itertools import tee, izip
def pairwise(iterable):
a, b= tee(iterable)
next(b, None)
return izip(a,b)
chicago = Point(41.50, 87.37)
san_francisco = Point(37.47, 122.26)
st_louis = Point(38.62, 90.19)
washington = Point(38.53, 77.02)
points = (washington, st_louis, chicago, san_francisco)
d = sum(geopy_distance(a,b).meters for (a,b) in pairwise(points))
distance_km = d/1000
distance_miles = distance_km*0.621371
print "Distance in kilometre: ",distance_km
print "Distance in miles: ",distance_miles