【lidR】lasデータの中身を書き換え

メモ代わり。
LASデータのデータに属性(クラスタリングの結果)を付与したかった。

library(lidR)
file <- "path
las <- readLAS(file)
las@data

で中身をdata.tableとして取り出すことができる。個別の属性を取り出す場合は

las@data[["X"]] #"X"は大文字

で取り出せる。こうすることでtidyverse等で任意の処理が行いやすくなる。

自分が行ったことは、XYZを取り出してクラスタリング処理を行い、最終的にXYZとそれらをクラスタリングした後のIDが付与された4列のdata.table(xyz_clusterid)を作成した。その内容でlasの中身を書き換えるには

las@data <- xyz_clusterid

でシンプルにできた。

注意点

data.tableの列名はlasデータの中身と同様であるべき。最初"xyz+clusterid"という名前を付けた4列のdata.tableを作成、lasファイルの中身を書き換えたが、エラーがでた。その理由はlasのファイル構成と一致しない列名だったためで、"XYZ+UserData"と名前を改めることできちんと読み込み、表示が可能だった。




この記事が気に入ったらサポートをしてみませんか?