Main Content

lasFileReader

LAS または LAZ ファイル リーダー

R2020b 以降

説明

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

LAS ファイルには、LiDAR メタデータを含むパブリック ヘッダーがあり、その後に LiDAR 点のレコードが続きます。それぞれの点のレコードに 3 次元座標、強度、GPS タイムスタンプなどの属性が格納されています。

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

作成

説明

lasReader = lasFileReader(fileName) は、LAS または LAZ ファイル fileName に含まれるメタデータを読み取ることでプロパティが設定される lasFileReader オブジェクトを作成します。fileName の入力で FileName プロパティが設定されます。

プロパティ

すべて展開する

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

LAS または LAZ ファイルの名前。文字ベクトルまたは string スカラーとして指定します。

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

ファイル内の使用可能な点のレコードの数。正の整数として指定します。

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

LAS または LAZ ファイルのバージョン。文字ベクトルとして指定します。

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

x 軸方向の座標の範囲。2 要素の実数値の行ベクトルとして指定します。

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

y 軸方向の座標の範囲。2 要素の実数値の行ベクトルとして指定します。

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

z 軸方向の座標の範囲。2 要素の実数値の行ベクトルとして指定します。

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

GPS タイムスタンプ読み取り値の範囲。1 行 2 列の duration ベクトルとして指定します。

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

すべての点のレーザー リターンの最大数。正の整数として指定します。

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

すべての点の分類値の最大数。正の整数として指定します。

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

LAS ファイルを生成したハードウェア センサー システム識別子の名前。string スカラーとして指定します。

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

生成ソフトウェアの名前。string スカラーとして指定します。このプロパティは、LAS ファイルの作成時に使用された生成ソフトウェア パッケージを示します。

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

ファイル作成日。datetime オブジェクトとして指定します。

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

LAS ファイル ソース識別子。非負の整数として指定します。値の範囲は 0 ~ 65535 です。これは、このファイルが元のフライト ラインから作成されたものである場合にフライト ライン番号を定義します。値 0 は ID が割り当てられていないことを示します。LAS ファイル内の各点を一意に識別するには、ProjectID プロパティと FileSourceID プロパティを使用します。

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

プロジェクト ID。string スカラーとして指定します。この値はグローバル一意識別子 (GUID) です。LAS ファイル内の各点を一意に識別するには、ProjectID プロパティと FileSourceID プロパティを使用します。

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

点データ レコード フォーマット ID。非負の整数として指定します。値の範囲は 0 ~ 10 です。詳細については、点データ レコード フォーマットを参照してください。

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

分類情報。table として指定します。点のクラスについて記述した次の情報が table の各行に格納されます。

  • Classification Value — クラスの一意の分類 ID 番号。正の整数として指定します。

  • Class Name — クラスに関連付けられたラベル。string スカラーとして指定します。

  • Number of Points by Class — クラスに含まれる点の数。正の整数として指定します。

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

レーザー リターン情報。table として指定します。レーザー リターンについて記述した次の情報が table の各行に格納されます。

  • Laser Return Number — レーザー リターン番号。正の整数として指定します。

  • Number of Points by Return — レーザー リターンあたりの点の数。正の整数として指定します。

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

可変長レコード (VLR) または拡張 VLR の情報。table として指定します。レコードについて記述した次の情報が table の各行に格納されます。

  • Record ID — レコード識別番号。正の整数として指定します。

  • User ID — レコード ID に関連付けられたユーザー ID。string スカラーとして指定します。

  • Description — レコードの説明。string スカラーとして指定します。

オブジェクト関数

readPointCloudLAS または LAZ ファイルから点群データを読み取り
readCRSRead coordinate reference system data from LAS or LAZ file
readVLRRead variable length record from LAS or LAZ file
hasCRSDataCheck if LAS or LAZ file has CRS data
hasGPSDataCheck if LAS or LAZ file has GPS data
hasWaveformDataCheck if LAS or LAZ file has waveform data
hasNearIRDataCheck if LAS or LAZ file has near IR data

すべて折りたたむ

この例では、LAS/LAZ ファイルから点群データを読み取って可視化する方法を示します。

LAZ ファイル用の lasFileReader オブジェクトを作成します。その後、関数 readPointCloud を使用して点群データを LAZ ファイルから読み取り、pointCloud オブジェクトを生成します。

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

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

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

ptCloud = readPointCloud(lasReader);

点群を可視化します。

figure
pcshow(ptCloud.Location)

Figure contains an axes object. The axes object contains an object of type scatter.

LAZ ファイルの点群データを分類データに基づいて分けて可視化します。

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

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

関数 readPointCloud を使用して、点群データとそれに関連する点の分類属性を LAZ ファイルから読み取ります。

[ptCloud,pointAttributes] = readPointCloud(lasReader,"Attributes","Classification");

それぞれの点に分類属性に基づいて色を付けます。ラベル イメージの形状を点群の形状に変更します。

labels = label2rgb(pointAttributes.Classification);
colorData = reshape(labels,[],3);

色分けされた点群を可視化します。

figure
pcshow(ptCloud.Location,colorData)

Figure contains an axes object. The axes object contains an object of type scatter.

詳細

すべて展開する

バージョン履歴

R2020b で導入

すべて展開する