私はジャンゴとジオピーの助けを借りて一度見たソリューションがとても好きでした。それでも、2つ以上のポイントを入力できるようにするために、コードを少し変更しました。
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