Python 写入laspy文件时定义新尺寸
在python中保存laspy文件(.las)时,如何将数据添加到自定义定义的维度 好的,更多详细信息:我读取了一个带有属性X,Y,Z,I的标准.las文件。然后我进行了一些计算,并希望将结果保存为带有属性X,Y,Z,I的.las文件和附加的新维度“my_dim”。只要我知道新维度的名称,就可以定义并向其中添加数据:Python 写入laspy文件时定义新尺寸,python,typeerror,laspy,Python,Typeerror,Laspy,在python中保存laspy文件(.las)时,如何将数据添加到自定义定义的维度 好的,更多详细信息:我读取了一个带有属性X,Y,Z,I的标准.las文件。然后我进行了一些计算,并希望将结果保存为带有属性X,Y,Z,I的.las文件和附加的新维度“my_dim”。只要我知道新维度的名称,就可以定义并向其中添加数据: header=laspy.header.header(点格式=2) 将laspy.file.file(FILEPATH,mode=“w”,header=header)作为f: f、
header=laspy.header.header(点格式=2)
将laspy.file.file(FILEPATH,mode=“w”,header=header)作为f:
f、 定义新维度(名称=“我的维度”,数据类型=5,描述=“我的新维度”)
f、 我的名字是。。。
...
但是,我想将保存过程封装在自己的函数中,并提供额外的维度作为参数额外维度
(作为dict列表,如[{“name”:“my\u dim”,data\u type:5,…}]
。现在,我仍然能够根据参数定义新维度,但无法添加数据。下面是代码片段:
def保存(额外dims):
标题=。。。
和拉斯比…:
对于额外dim中的dim:
f、 定义新维度(name=dim[“name”],数据类型=。。。
#分配X,Y,Z,I
...
对于添加数据f[dim[“name”]=…
不起作用(显然f.dim[“name”]
),我只得到
TypeError: 'File' object does not support item assignment
是否有人知道如何解决这个问题,即向参数中名称为“隐藏”的属性添加数据?使用Pyton内置的setattr()和getattr()属性:
...
# Assign X,Y,Z,I
setattr(f, dim["name"], your_data)