メインコンテンツ

blockedPointCloud

離散ブロックから作成された点群

R2022a 以降

    説明

    blockedPointCloud オブジェクトは、離散ブロックから作成された点群です。ブロック化された点群は、点群が大きすぎてメモリに収まらない場合に使用します。ブロック化された点群を使用すると、メモリ不足に陥ることなく処理を実行できます。

    作成

    説明

    bpc = blockedPointCloud(source,blockSize) は、指定されたソース source から、指定されたブロック サイズ blockSize をもつ読み取り専用の blockedPointCloud オブジェクトを作成します。ソースに指定できるのは、pointCloud オブジェクト、または点群データを含むファイルまたはフォルダーの名前です。

    bpcs = blockedPointCloud(sources,blockSize) は、複数のソース sources から、指定されたブロック サイズ blockSize をもつ blockedPointCloud オブジェクトの配列を作成します。bpcs の長さは sources のソースの数と等しくなります。

    bpc = blockedPointCloud(___,Name=Value) は、1 つ以上の名前と値の引数を使用して、Adapter プロパティと AlternateFileSystemRoots プロパティを指定します。

    入力引数

    すべて展開する

    点群データのソース。pointCloud オブジェクトとして指定するか、ファイルまたはフォルダーの名前を指定する文字ベクトルまたは string スカラーとして指定します。

    blockedPointCloud 関数は次の source 形式をサポートします。

    • 単一の LAS または LAZ ファイル。

    • pointCloud オブジェクト。

    • 点群データを含むファイルまたはフォルダーの名前。

    点群データのソース。文字ベクトルの cell 配列、string 配列、または FileSet オブジェクトとして指定します。blockedPointCloud 関数は blockedPointCloud オブジェクトの配列を作成します。

    ブロックのサイズ。スカラー、2 要素の行ベクトル、または 3 要素の行ベクトルとして指定します。指定した値によって、関数が点群をブロック化する際の次元が決まります。

    • スカラー — 関数は、X 軸に沿って点群をブロック化します。

    • 2 要素の行ベクトル — 関数は、X 軸と Y 軸に沿って点群をブロック化します。

    • 3 要素の行ベクトル — 関数は、X 軸、Y 軸、Z 軸に沿って点群をブロック化します。

    プロパティ

    すべて展開する

    ブロック化された点群オブジェクトの読み取りおよび書き込みインターフェイス。次のいずれかのアダプター オブジェクトとして指定します。

    点群データのソースアダプター説明

    • 単一の LAS/LAZ ファイル

    • LAS/LAZ ファイルを含む FileSet オブジェクト

    LASブロックを単一の LAS ファイルに保存

    • pointCloud オブジェクト。

    InMemoryブロックをメイン メモリ内の変数に保存
    LASBlocks アダプターを使用して保存される、apply 関数または write 関数の出力であるフォルダーの名前。LASBlocks各ブロックを LAS ファイルとしてフォルダーに保存
    MATBlocks アダプターを使用して保存される、apply 関数または write 関数の出力であるフォルダーの名前。MATBlocks各ブロックを MAT ファイルとしてフォルダーに保存

    lidar.blocked.Adapter クラスを使用して独自のアダプターを作成することもできます。

    このプロパティを設定するには、オブジェクトの作成時に指定する必要があります。

    例: Adapter=lidar.blocked.LAS

    ソースで指定されているファイルの代替ファイル システムのパス。1 つ以上の行を含む string 配列、文字ベクトル、または文字ベクトルの cell 配列として指定します。各行は等価なルート パスのセットを指定します。

    例: AlternateFileSystemRoots=["Z:\datasets", "/mynetwork/datasets"]

    データ型: char | string | cell

    ブロックのサイズ。スカラー、2 要素の行ベクトル、または 3 要素の行ベクトルとして指定します。指定した値によって、関数が点群をブロック化する際の次元が決まります。

    • スカラー — 関数は、X 軸に沿って点群をブロック化します。

    • 2 要素の行ベクトル — 関数は、X 軸と Y 軸に沿って点群をブロック化します。

    • 3 要素の行ベクトル — 関数は、X 軸、Y 軸、Z 軸に沿って点群をブロック化します。

    データ型: double

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

    基になるソースのクラス。string スカラーとして格納されます。

    データ型: string

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

    点群に含まれる点の数。正の整数として格納されます。

    データ型: double

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

    ブロック数として表されるサイズ。正の整数の 3 要素の行ベクトルとして指定します。ベクトルの要素は、それぞれ X 軸、Y 軸、Z 軸のブロック数を指定します。このプロパティは BlockSize プロパティに依存します。値には部分ブロックが含まれます。

    データ型: integer

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

    点群データのソース。pointCloud オブジェクトとして指定するか、ファイルまたはフォルダーの名前を指定する文字ベクトルまたは string スカラーとして指定します。

    データ型: char | string

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

    X 軸方向の座標の範囲。2 要素の行ベクトルとして指定します。最初と 2 番目の要素はそれぞれ、X 軸方向の点群の座標の最小値と最大値を表します。

    データ型: double

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

    Y 軸方向の座標の範囲。2 要素の行ベクトルとして指定します。最初と 2 番目の要素はそれぞれ、Y 軸方向の点群の座標の最小値と最大値を表します。

    データ型: double

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

    Z 軸方向の座標の範囲。2 要素の行ベクトルとして指定します。最初と 2 番目の要素はそれぞれ、Z 軸方向の点群の座標の最小値と最大値を表します。

    データ型: double

    オブジェクト関数

    applyProcess blocks of blocked point cloud
    blocksub2roiConvert block subscripts to ROI limits
    gatherCollect blocks of blocked point cloud into workspace
    getBlockRead specific block of blocked point cloud
    getRegionRead arbitrary region of blocked point cloud
    roi2blocksubConvert ROI to block subscripts
    writeWrite blocked point cloud data to new destination

    すべて折りたたむ

    ブロック化された点群を LAZ ファイルから作成します。

    pcfile = fullfile(toolboxdir("lidar"),"lidardata", ...
                            "las","aerialLidarData.laz");
     
    bpc = blockedPointCloud(pcfile,[50 50]);

    ブロック化された点群の詳細を表示します。

    disp(bpc)
      blockedPointCloud with properties:
    
       Read-only properties.
                 Source: "/mathworks/devel/bat/filer/batfs2566-0/Bdoc25b.2988451/build/runnable/matlab/toolbox/lidar/lidardata/las/aerialLidarData.laz"
                Adapter: [1×1 lidar.blocked.LAS]
           SizeInBlocks: [9 6 1]
                XLimits: [4.2975e+05 4.3015e+05]
                YLimits: [3.6798e+06 3.6801e+06]
                ZLimits: [72.7900 125.8200]
        ClassUnderlying: "pointCloud"
    
       Settable properties
              BlockSize: [50 50 53.0300]
    

    バージョン履歴

    R2022a で導入