Main Content

lasFileWriter

LAS または LAZ ファイル ライター

R2022a 以降

説明

lasFileWriter オブジェクトには、LAS または LAZ ファイルのメタデータが読み取り専用のプロパティとして格納されます。オブジェクト関数 writePointCloud は、これらのプロパティを使用して、点群データを LAS または LAZ ファイルとして書き込みます。lasFileWriter オブジェクトは LAS 1.4 仕様までをサポートしています。

lasFileWriter は、アンオーガナイズド pointCloud オブジェクトのみの書き込みをサポートしています。作成された LAS ファイルには、LAS ファイルのメタデータを含むパブリック ヘッダーがあり、その後に LiDAR 点のレコードが続きます。

LAS ファイル形式は LiDAR データを格納するための業界標準のバイナリ形式であり、米国写真測量学会 (ASPRS) によって開発、維持されています。LAZ ファイル形式は LAS ファイル形式の圧縮バージョンです。

作成

説明

lasWriter = lasFileWriter(fileName) は、指定した名前 fileName の LAS または LAZ ファイルに LiDAR 点群データを書き込むための lasFileWriter オブジェクトを既定のプロパティを使用して作成します。fileName の入力で FileName プロパティが設定されます。

lasWriter = lasFileWriter(fileName,Name=Value) は、1 つ以上の名前と値の引数を使用して、lasFileWriter オブジェクトのプロパティを指定します。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

LAS または LAZ ファイルの名前。文字ベクトルまたは string スカラーとして指定します。拡張子 .las または .laz を指定できます。ファイル拡張子を指定しない場合、既定の拡張子は .laz です。

この プロパティ は読み取り専用です。

LAS または LAZ ファイルのバージョン。"1.0""1.1""1.2""1.3"、または "1.4" として指定します。

例: LasVersion="1.4" は、LAS バージョンを 1.4 として指定します。

この プロパティ は読み取り専用です。

点データ レコード フォーマット ID。012367、または 8 として指定します。どの点データ レコード フォーマットを指定できるかは、指定した LasVersion プロパティによって異なります。

LAS または LAZ のバージョンサポートされている点データ レコード フォーマット
1.0点データ レコード フォーマット 0 および 1
1.1点データ レコード フォーマット 0 および 1
1.2点データ レコード フォーマット 0 ~ 3
1.3点データ レコード フォーマット 0 ~ 3
1.4点データ レコード フォーマット 0 ~ 3 および 6 ~ 8

メモ

011 の LAS ファイル範囲の点データ レコード フォーマット。ただし、lasFileWriter オブジェクトは、012367、または 8 形式のみをサポートします。

詳細については、点データ レコード フォーマットを参照してください。

例: PointDataFormat=2 は、点データ レコード フォーマットを 2 として指定します。

この プロパティ は読み取り専用です。

座標のスケール。"auto"、または [Xscale Yscale Zscale] という形式の 3 要素の実数値の行ベクトルとして指定します。関数 writePointCloud を呼び出すと、既定値 "auto" は、入力 pointCloud オブジェクトの XLimitsYLimits、および ZLimits プロパティを使用して XYZScale 値を計算します。詳細については、点群データの表現を参照してください。

例: XYZScale=[10 20 30] は、XY、および Z 座標のスケール係数をそれぞれ 10、20、30 として指定します。

この プロパティ は読み取り専用です。

座標のオフセット。"auto"、または [Xoffset Yoffset Zoffset] という形式の 3 要素の実数値の行ベクトルとして指定します。関数 writePointCloud を呼び出すと、既定値 "auto" は、入力 pointCloud オブジェクトの XLimitsYLimits、および ZLimits プロパティを使用して XYZOffset 値を計算します。詳細については、点群データの表現を参照してください。

例: XYZOffset=[5 3 2] は、XY、および Z 座標のオフセット値をそれぞれ 5、3、2 として指定します。

オブジェクト関数

writePointCloudLAS または LAZ ファイルへの点群データの書き込み
addVLRAdd VLR data to lasFileWriter object

すべて折りたたむ

LAZ ファイルのデータにアクセスするための lasFileReader オブジェクトを作成します。

fileName = fullfile(toolboxdir("lidar"),"lidardata","las", ...
    "aerialLidarData.laz");
lasReader = lasFileReader(fileName);

関数 readPointCloud を使用して、点群データを LAZ ファイルから読み取ります。

ptCloud = readPointCloud(lasReader,Classification=2);

点群データを LAS ファイルに格納するための lasFileWriter オブジェクトを作成します。

lasWriter = lasFileWriter("ground.las");

関数 writePointCloud を使用して、点群データを LAS ファイルに書き込みます。

writePointCloud(lasWriter,ptCloud);

アルゴリズム

点群の座標値は次のように計算されます。

x=X*Xscale+Xoffsety=Y*Yscale+Yoffsetz=Z*Zscale+Zoffset

ここで、Xscale、Yscale、および Zscale は XYZScale プロパティによって設定され、Xoffset、Yoffset、および Zoffset は XYZOffset プロパティによって設定されます。X、Y、および Z は、点群データの生の座標値です。関数 writePointCloud を使用して [X Y Z] の値を LAS または LAZ ファイルに書き込むときは、pointCloud オブジェクト内の点ごとに、これらの値を指定する必要があります。

バージョン履歴

R2022a で導入

すべて展開する