def denomsum(test_median, data_points):
"""Provides the denominator of the weiszfeld algorithm."""
temp = 0.0
for i in range(0, len(data_points)):
try:
temp += 1 / vincenty(test_median, data_points[i]).kilometers
except ZeroDivisionError:
continue # filter points that equal the median out (otherwise no convergence)
except ValueError:
# Vincenty doesn't always converge so fall back on great circle distance which is less accurate but always converges
temp += 1 / great_circle(test_median, data_points[i]).kilometers
return temp
评论列表
文章目录