我已经开始学习如何在python中处理LAS数据,并希望了解其他人如何处理LAS文件。我想阅读要点(我使用的是numpy数组),并将1类和2类(未分类和分类)过滤到单独的数组中。我有以下代码,但似乎无法过滤点。
# Import modules
from liblas import file
import numpy as np
if __name__=="__main__":
'''Read LAS file and create an array to hold X, Y, Z values'''
# Get file
las_file = r"E:\Testing\ground_filtered.las"
# Read file
f = file.File(las_file, mode='r')
# Get number of points from header
num_points = int(f.__len__())
# Create empty numpy array
PointsXYZIC = np.empty(shape=(num_points, 5))
# Load all LAS points into numpy array
counter = 0
for p in f:
newrow = [p.x, p.y, p.z, p.intensity, p.classification]
PointsXYZIC[counter] = newrow
counter += 1
我见过arcpy.da.featureClassToNumpyArray,但是我不想导入arcpy,也不必转换为shapefile。
我还能如何将LAS数据过滤/读取到numpy数组中?
错误消息是什么(如果有)?
—
til_b 2013年
没错 我只是不知道如何过滤,并且不确定是否有更好的方法将LAS放入阵列。
—
巴巴罗萨2013年