擅长:python、mysql、java
<p>我在arcmap工作,应该这么说。Python2.7不支持inf。我将您的答案应用到了可用的函数中,它可以工作</p>
<pre><code>while len(pointDict) > 1:
shape = pointDict[startOid]
pointDict.pop(startOid)
X = shape.centroid.X
Y = shape.centroid.Y
Z = shape.centroid.Z
nextOid = None
distances={}
#minSquaredDist = math.inf
for otherOid, otherShape in pointDict.items():
X2 = otherShape.centroid.X
Y2 = otherShape.centroid.Y
Z2 = otherShape.centroid.Z
squaredDist = sqrt((X-X2)**2+(Y-Y2)**2)
distances[otherOid]=squaredDist
minSearch=(min(distances.items(), key=lambda x:x[1]))
print minSearch, minSearch[0]
startOid = minSearch[0]
</code></pre>