geopy distance calculation pitfall
10 December 2007
Today I spent nearly half an hour trying to debug what was going on with my web application since I was getting this strange error:
AttributeError: 'VincentyDistance' object has no attribute '_kilometers'
To debug it I wrapped the calls to
geopy.distance.distance in various try-and-except statements to see what was going on and run these queries in a separate file. After a while I discovered that was what so special about the coordinates I fed it was that the coordinates where the same. Now my wrapping function looks like this instead:
from geopy import distance as geopy_distance def geocode_distance((x1, y1), (x2, y2), unit='km'): if (x1, y1) == (x2, y2): return 0 d = geopy_distance.distance((x1, y1), (x2, y2)) if unit == 'miles': return d.miles else: return d.kilometers