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をインポートしたり、シェープファイルに変換したりしたくありませんでした。
どうすればLASデータをnumpy配列にフィルタリング/読み込むことができますか?
エラーメッセージ(ある場合)とは何ですか?
—
til_b
エラーなし。フィルタリングの方法がわからず、LASを配列に入れるより良い方法があるかどうか確信がありませんでした。
—
バルバロッサ