Laspy を使用して、LIDAR データのブロックに表示される固有のフライトラインに関する情報を取得しようとしています。
私はすでにブロック全体に対して lasInfo モジュールを実行しようとしましたが、取得したのは、必要な個々のフライトラインのリストではなく、最小値と最大値の point_source_ID 値だけです。
これは私がこれまでに試したことです:
import laspy
import glob
las_files_list = glob.glob(r'PATH\*.las')
print(las_files_list)
las_source_id_set = set()
for f in las_files_list:
las_file = laspy.file.File(f, mode='r')
las_source_id_list = las_file.pt_src_id
for i in las_source_id_list:
las_source_id_set.add(i)
las_file.close()
print(las_source_id_set,' ', f)
print(las_source_id_set)
with open('point_source_id.txt', 'w') as f:
f.write(las_source_id_set)
残念ながら、プロセス全体がかなり遅く、データセットが大きいとスタックオーバーフローエラーが発生し、最終的に「ファイルの書き込み」部分に到達しません。