6
我试图用迭代产生numpy.linspace值的数组:“numpy.float64”对象不是可迭代
slX = numpy.linspace(obsvX, flightX, numSPts)
slY = np.linspace(obsvY, flightY, numSPts)
for index,point in slX:
yPoint = slY[index]
arcpy.AddMessage(yPoint)
此代码的工作我办公室的电脑上很好,但我今天早上坐了下来在家工作在不同的机器上,但此错误想出了:
File "C:\temp\gssm_arcpy.1.0.3.py", line 147, in AnalyzeSightLine
for index,point in slX:
TypeError: 'numpy.float64' object is not iterable
slX
只是float数组,而脚本有没有问题,打印的内容 - 只是通过他们显然迭代。任何建议是什么导致它打破,并可能修复?
版本相同?相同版本的Python?相同版本的Arc?最后,你需要使用float64吗? – Jzl5325
其中一个不会使用'for index指向slX:'来迭代浮点数组。这不适用于任何版本的Python和任何版本的numpy。相反,你是否真的在索引处运行了',在你的办公室计算机上运行枚举(slX):'?这似乎是你想要完成的。 –
slX应该是可迭代的吗?看起来它是以64位浮点形式返回的,这就是为什么你无法遍历它的原因。 slX是否可能作为长度为1的迭代器返回并且numpy将其解释为float? –