将索引附加到laspy文件(.las)

2024-10-02 20:30:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个文件,一个是esri形状文件(.shp),另一个是点云(.las)。在

使用laspy和shapefile模块,我找到了.las文件的哪些点位于shapefile的特定多边形内。我现在要做的是添加一个索引号,以便在两个数据集之间进行标识。例如,所有在多边形231内的点都应该得到231。在

问题是,到目前为止,我无法在写.las文件时向点列表追加任何内容。我想用的代码是:

outFile1 = laspy.file.File("laswrite2.las", mode = "w",header = inFile.header)
outFile1.points = truepoints
outFile1.points.append(indexfromshp)
outFile1.close()

我现在得到的错误是:AttributeError:'努比·恩达雷“object没有属性”“append”“。”。我已经试过很多种方法包括np.追加但我真的不知道如何在las文件中添加任何内容。在

非常感谢任何帮助!在


Tags: 模块文件数据内容多边形laspointsheader
1条回答
网友
1楼 · 发布于 2024-10-02 20:30:43

有几种方法可以做到这一点。在

Las文件有分类字段,可以在这个字段中存储索引

las_file = laspy.file.File("las.las", mode="rw")
las_file.classification = indexfromshp

但是,如果Las文件的版本为<;=1.2,则“分类”字段只能存储范围为[0,35]的值,但可以使用“user_data”字段,该字段可以保存范围为[0,255]的值。在

或者,如果您需要存储大于255/的值,您需要一个单独的字段,您可以定义一个新的维度(see laspy's doc on how to add extra dimensions)。 你的代码应该接近这样的东西

^{pr2}$

相关问题 更多 >