我发现了一个相对快速的解决方案是使用函数cdistfromscipy.spatial.distance公司在
欧几里德从它的每两个点的组合计算距离。虽然它不计算以米为单位的距离,但以度为单位,我仍然可以将米的要求转换为度。在
所以我目前的解决方案如下:from scipy.spatial.distance import cdist
l1 = [ (33.5779, -111.925),
(33.5738, -111.906),
(33.5556, -111.899),
...
(33.5646, -111.915),
(33.5733, -111.863)]
l2 = [ (33.4318, -111.938),
(33.5228, -111.9),
(33.5387, -111.885),
...
(33.5264, -111.925),
(33.538, -111.888)]
distanceRequired = 0.02 #arbitrary number in degrees
matrixOfDistances = cdist(l1,l2)
for index1,value1 in enumerate(matrixOfDistances):
isABusinessOpportunity = True
for index2,value2 in enumerate(value1):
if value2 <= distanceRequired:
isABusinessOpportunity = False
break
if isABusinessOpportunity:
print "The combination is:" + str(index1) + str(index2)