メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

lasFileReader

LAS または LAZ ファイルから点群データを読み取り

説明

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 ファイルが MATLAB® パス上にない場合は、ファイルの絶対パスを指定する必要があります。

この引数は FileName プロパティを文字ベクトルとして設定します。

データ型: char | string

プロパティ

すべて展開する

このプロパティはオブジェクトの作成後は読み取り専用になります。このプロパティを設定するには、lasFileReader 関数を呼び出すときに fileName 引数を使用します。

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

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

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

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

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

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

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

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

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

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

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

R2025a 以降

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

XYZ 座標のスケール。[Xscale Yscale Zscale] という形式の 3 要素の実数値の行ベクトルとして表されます。XscaleYscaleZscale は、それぞれ X 軸、Y 軸、Z 軸の方向のスケールを表します。

R2025a 以降

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

XYZ 座標のオフセット。[Xoffset Yoffset Zoffset] という形式の 3 要素の実数値の行ベクトルとして表されます。XoffsetYoffsetZoffset は、それぞれ X 軸、Y 軸、Z 軸の方向のオフセットを表します。

R2025a 以降

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

使用可能な属性のリスト。string 配列として表されます。このプロパティは、ファイル内にあるすべての属性を特定するために使用します。readPointCloud オブジェクト関数を使用して、使用可能なすべての属性を読み取ることもできます。

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

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

メモ

このプロパティの値はすぐには使用できません。lasFileReader オブジェクト lasReader のこのプロパティを取得するには、コマンド ウィンドウで lasReader.GPSTimeLimits を入力します。このコマンドにより、オブジェクトの NumClasses プロパティと ClassificationInfo プロパティも取り込まれます。

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

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

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

すべての点の分類値の最大数。正の整数として表されます。

メモ

このプロパティの値はすぐには使用できません。lasFileReader オブジェクト lasReader のこのプロパティを取得するには、コマンド ウィンドウで lasReader.NumClasses を入力します。このコマンドにより、オブジェクトの GPSTimeLimits プロパティと ClassificationInfo プロパティも取り込まれます。

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

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 — クラスに含まれる点の数。正の整数として表されます。

メモ

このプロパティの値はすぐには使用できません。lasFileReader オブジェクト lasReader のこのプロパティを取得するには、コマンド ウィンドウで lasReader.ClassificationInfo を入力します。このコマンドにより、オブジェクトの GPSTimeLimits プロパティと NumClasses プロパティも取り込まれます。

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

レーザー リターン情報。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 ファイルから点群データを読み取り
readCRSLAS ファイルまたは LAZ ファイルからの座標参照系データの読み取り
readVLRRead variable length record from LAS or LAZ file

すべて折りたたむ

この例では、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 で導入

すべて展開する