Python 属性错误浮点对象没有属性';追加';
我试图让这段代码打开LAS文件进行更改,然后将结果保存在一个新的LAS文件中。las文件包含具有坐标(X和Y)和值(如Z表示高程)的点。不幸的是,如果我没有将保存部分放入代码中,代码就可以工作,但是当我执行下面的操作时,我得到了以下错误:Python 属性错误浮点对象没有属性';追加';,python,numpy,lidar,Python,Numpy,Lidar,我试图让这段代码打开LAS文件进行更改,然后将结果保存在一个新的LAS文件中。las文件包含具有坐标(X和Y)和值(如Z表示高程)的点。不幸的是,如果我没有将保存部分放入代码中,代码就可以工作,但是当我执行下面的操作时,我得到了以下错误: Traceback (most recent call last): File "C:\Users\Geri\Desktop\Sync\pythonlas\envisecond.py", line 33, in <module> lis
Traceback (most recent call last):
File "C:\Users\Geri\Desktop\Sync\pythonlas\envisecond.py", line 33, in <module>
listx1=p.append(listx1, float[newx])
AttributeError: 'float' object has no attribute 'append'
enter code here
回溯(最近一次呼叫最后一次):
文件“C:\Users\Geri\Desktop\Sync\pythonlas\envisond.py”,第33行,在
listx1=p.append(listx1,float[newx])
AttributeError:“float”对象没有属性“append”
在这里输入代码
到目前为止,我知道我需要一个数组来将值保存到代码末尾的las文件中:
import laspy
import laspy.file
import numpy as p
header = laspy.header.Header()
inFile2 = laspy.file.File("C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperclip\\2clip.las", mode = "r")
inFile3 = laspy.file.File("C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperclip\\3clip.las", mode = "r")
point_records = inFile2.points
point_records = inFile3.points
t=0
listx1=p.array([], dtype=float)
listy1=p.array([], dtype=float)
listz1=p.array([], dtype=float)
while t < 415:
z=0
q=0
p=0.1
while z==0:
xmin=inFile3.x[t]-p
ymin=inFile3.y[t]-p
xmax=inFile3.x[t]+p
ymax=inFile3.y[t]+p
n=0
for points in inFile2.points:
ax=inFile2.x[n]
ay=inFile2.y[n]
if ax > xmin and ax < xmax and ay < ymax and ay > ymin:
newx = [inFile3.x[t]-((inFile3.x[t]-inFile2.x[n])/2)]
newy = [inFile3.y[t]-((inFile3.y[t]-inFile2.y[n])/2)]
newz = [inFile3.z[t]-((inFile3.z[t]-inFile2.z[n])/2)]
listx1=p.append(listx1, float[newx])
listy1=p.append(listy1, float[newy])
listz1=p.append(listz1, float[newz])
print listx1
print n
n+=1
q+=1
t+=1
else:
n+=1
if q>0:
z+=1
else:
p+=0.1
outfile = laspy.file.File("C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperclip\\output2.las", mode="w", header=header)
outfile.X = [listx1]
outfile.Y = [listy1]
outfile.Z = [listz1]
outfile.close()
导入laspy
导入laspy.xml文件
将numpy作为p导入
header=laspy.header.header()
inFile2=laspy.file.file(“C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperlip\\2clip.las”,mode=“r”)
inFile3=laspy.file.file(“C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperlip\\3clip.las”,mode=“r”)
点\记录=填充2.点
点\记录=填充3.点
t=0
listx1=p.array([],dtype=float)
listy1=p.array([],dtype=float)
listz1=p.array([],dtype=float)
当t<415时:
z=0
q=0
p=0.1
当z==0时:
xmin=inFile3.x[t]-p
ymin=inFile3.y[t]-p
xmax=inFile3.x[t]+p
ymax=inFile3.y[t]+p
n=0
对于inFile2.points中的点:
ax=inFile2.x[n]
ay=inFile2.y[n]
如果ax>xmin和axymin:
newx=[inFile3.x[t]((inFile3.x[t]-inFile2.x[n])/2)]
newy=[inFile3.y[t]((inFile3.y[t]-inFile2.y[n])/2)]
newz=[inFile3.z[t]((inFile3.z[t]-inFile2.z[n])/2)]
listx1=p.append(listx1,float[newx])
listy1=p.append(listy1,float[newy])
listz1=p.append(listz1,float[newz])
打印列表X1
印刷品
n+=1
q+=1
t+=1
其他:
n+=1
如果q>0:
z+=1
其他:
p+=0.1
outfile=laspy.file.file(“C:\\Users\\Geri\\Desktop\\Sync\\pythonlas\\mapperlip\\output2.las”,mode=“w”,header=header)
outfile.X=[listx1]
outfile.Y=[listy1]
outfile.Z=[listz1]
outfile.close()
在外部循环开始时,您将p
设置为浮动
,而循环:
p=0.1
它屏蔽了顶部的numpy
导入:
import numpy as p
因此,在中,虽然循环p
不再是模块,但它是float
对象,调用p.append()
调用将失败
为模块或float
值使用不同的名称。您在外部循环开始时将p
设置为float
,而循环:
p=0.1
它屏蔽了顶部的numpy
导入:
import numpy as p
因此,在中,虽然循环p
不再是模块,但它是float
对象,调用p.append()
调用将失败
为模块或浮点值使用不同的名称。你是对的,我太傻了。。。不幸的是,我遇到了一个新错误:Traceback(最近一次调用last):文件“C:\Users\Geri\Desktop\Sync\pythonlas\envisond.py”,第33行,在listx1=np.append(listx1,float[newx])TypeError:“type”对象没有属性“getitem'>>>@Gary-这是因为您试图用float[newx]
索引float类型。使用float(newx)
代替。我取出了float类型,只是这样使用:listx1=np。append(listx1,(newx))代码运行,只有在到达保存部分时才会停止。我将提出另一个问题。谢谢你说得对,我太傻了。。。不幸的是,我遇到了一个新错误:Traceback(最近一次调用last):文件“C:\Users\Geri\Desktop\Sync\pythonlas\envisond.py”,第33行,在listx1=np.append(listx1,float[newx])TypeError:“type”对象没有属性“getitem'>>>@Gary-这是因为您试图用float[newx]
索引float类型。使用float(newx)
代替。我取出了float类型,只是这样使用:listx1=np。append(listx1,(newx))代码运行,只有在到达保存部分时才会停止。我将提出另一个问题。感谢您像大多数其他人一样使用import numpy as np
。像大多数其他人一样使用import numpy as np
。