Ben numpy.linspace ile oluşturulan değer dizisi yineleme çalışıyorum iterable değildir: Bu kod ofisimin Bilgisayarımda sorunsuz çalıştı'numpy.float64' nesne
slX = numpy.linspace(obsvX, flightX, numSPts)
slY = np.linspace(obsvY, flightY, numSPts)
for index,point in slX:
yPoint = slY[index]
arcpy.AddMessage(yPoint)
, ama bu sabah oturdu farklı bir makinede evden çalışma ve bu hata geldi etmek:
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
sadece yüzen bir dizidir ve komut dosyası içeriğini baskı sorunu yok - sadece, görünüşte onlar aracılığıyla yineleme. Neyin kırılmasına neden olan herhangi bir öneri ve olası düzeltmeler?
aynı versiyonları İkinci boyutta iki öğelerle iki boyutlu bir dizi çeşit gerekir? Python'un aynı sürümleri? Arc'ın aynı versiyonları? Son olarak, float64'da çalışman gerekecek mi? – Jzl5325
Biri, dizin için, slX: 'ile bir dizi float üzerinde iterasyon yapmaz. Bu, Python'un herhangi bir sürümünde, numpy'nin herhangi bir sürümünde çalışmayacaktır. Bunun yerine, aslında, dizininizde, ofis bilgisayarında numaralandırmayı, numaralandırmayı (slX) işaret ettiniz mi? Bu, başarmak istediğin şey gibi görünüyor. –
slX'in yinelenebilir olması mı gerekiyor? 64 bitlik bir şamandıra olarak döndürülmüş gibi görünüyor, bu yüzden bunu yineleyemezsiniz. SlX'in bir kayan nokta olarak tekrarlanabilir ve bir şamandıra olarak yorumlanması mümkün mü? –