주요 콘텐츠

blockedPointCloud

R2026b

포인트 클라우드를 개별 블록 단위로 저장하기 위한 객체

R2022a 이후

    설명

    blockedPointCloud 객체는 개별 블록들로 구성된 포인트 클라우드입니다. 포인트 클라우드의 크기가 너무 커서 메모리에 모두 들어가지 않을 때는 블록 단위로 분할된 포인트 클라우드를 사용하십시오. 블록 단위로 분할된 포인트 클라우드를 사용하면 메모리 부족 현상 없이 처리를 수행할 수 있습니다.

    생성

    설명

    bpc = blockedPointCloud(source,blockSize)는 지정된 소스 source를 사용하여 지정된 블록 크기 blockSize로 읽기 전용 blockedPointCloud 객체를 생성합니다. 소스는 pointCloud 객체이거나, 포인트 클라우드 데이터가 포함된 파일 또는 폴더의 이름일 수 있습니다.

    예제

    bpcs = blockedPointCloud(sources,blockSize)는 지정된 블록 크기 blockSize를 사용하여 여러 소스 sources로부터 blockedPointCloud 객체의 배열을 생성합니다. bpcs의 길이는 sources에 포함된 소스의 개수와 같습니다.

    bpc = blockedPointCloud(___,Name=Value)는 하나 이상의 이름-값 인수를 사용하여 Adapter 및 AlternateFileSystemRoots 속성을 지정합니다.

    입력 인수

    모두 확장

    포인트 클라우드 데이터의 소스로, pointCloud 객체로 지정되거나, 파일 또는 폴더 이름을 지정하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

    blockedPointCloud 함수는 다음과 같은 source 형식을 지원합니다.

    • 단일 LAS 또는 LAZ 파일.

    • pointCloud 객체.

    • 포인트 클라우드 데이터가 포함된 파일 또는 폴더의 이름.

    포인트 클라우드 데이터의 소스로, 문자형 벡터로 구성된 셀형 배열, string형 배열 또는 FileSet 객체로 지정됩니다. blockedPointCloud 함수는 blockedPointCloud 객체로 구성된 배열을 생성합니다.

    블록의 크기로, 스칼라, 두 요소로 구성된 행 벡터 또는 세 요소로 구성된 행 벡터로 지정됩니다. 지정한 값에 따라 함수가 포인트 클라우드를 어떤 차원을 따라 블록화할지 결정됩니다.

    • 스칼라 — 함수가 X-축을 따라 포인트 클라우드를 블록화합니다.

    • 2요소 행 벡터 — 함수가 X-축 및 Y-축을 따라 포인트 클라우드를 블록화합니다.

    • 3요소 행 벡터 — 함수가 X-축, Y-축 및 Z-축을 따라 포인트 클라우드를 블록화합니다.

    속성

    모두 확장

    블록 단위로 분할된 포인트 클라우드 객체에 대한 읽기 및 쓰기 인터페이스로 다음 어댑터 객체 중 하나로 지정됩니다.

    포인트 클라우드 데이터의 소스어댑터설명

    • 단일 LAS/LAZ 파일

    • LAS/LAZ 파일이 포함된 FileSet 객체

    LAS블록을 단일 LAS 파일에 저장

    • pointCloud 객체.

    InMemory블록을 주 메모리의 변수에 저장
    apply 또는 write 함수의 출력 결과인 폴더의 이름으로, LASBlocks 어댑터를 사용하여 저장됩니다.LASBlocks각 블록을 LAS 파일로 변환하여 폴더에 저장
    apply 또는 write 함수의 출력 결과인 폴더의 이름으로, MATBlocks 어댑터를 사용하여 저장됩니다.MATBlocks각 블록을 폴더 내에 MAT 파일로 저장

    또한 lidar.blocked.Adapter 클래스를 사용하여 직접 어댑터를 만들 수도 있습니다.

    이 속성을 설정하려면 객체 생성 시에 이를 지정해야 합니다.

    예: Adapter=lidar.blocked.LAS

    소스에 지정된 파일들에 대한 대체 파일 시스템 경로로, 하나 이상의 행을 포함하는 string형 배열, 문자형 벡터 또는 문자형 벡터로 구성된 셀형 배열로 지정됩니다. 각 행은 일련의 동등한 루트 경로를 지정합니다.

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

    데이터형: char | string | cell

    블록의 크기로, 스칼라, 두 요소로 구성된 행 벡터 또는 세 요소로 구성된 행 벡터로 지정됩니다. 지정한 값에 따라 함수가 포인트 클라우드를 어떤 차원을 따라 블록화할지 결정됩니다.

    • 스칼라 — 함수가 X-축을 따라 포인트 클라우드를 블록화합니다.

    • 2요소 행 벡터 — 함수가 X-축 및 Y-축을 따라 포인트 클라우드를 블록화합니다.

    • 3요소 행 벡터 — 함수가 X-축, Y-축 및 Z-축을 따라 포인트 클라우드를 블록화합니다.

    데이터형: double

    읽기 전용 속성입니다.

    기본 소스의 클래스로, string형 스칼라로 저장됩니다.

    데이터형: string

    읽기 전용 속성입니다.

    포인트 클라우드에 있는 점의 개수로, 양의 정수로 저장됩니다.

    데이터형: double

    읽기 전용 속성입니다.

    블록의 개수로 표현되는 크기로, 양의 정수로 구성된 요소를 3개 가진 행 벡터로 지정됩니다. 벡터의 각 요소는 각각 X-축, Y-축 및 Z-축 방향의 블록 개수를 나타냅니다. 이 속성은 BlockSize 속성에 종속됩니다. 이 값에는 부분 블록이 포함됩니다.

    데이터형: integer

    읽기 전용 속성입니다.

    포인트 클라우드 데이터의 소스로, pointCloud 객체로 지정되거나, 파일 또는 폴더 이름을 지정하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

    데이터형: char | string

    읽기 전용 속성입니다.

    X-축 상의 좌표 범위로, 요소를 2개 가진 행 벡터로 지정됩니다. 첫 번째와 두 번째 요소는 각각 X-축 상의 포인트 클라우드 좌표의 최소값과 최대값을 나타냅니다.

    데이터형: double

    읽기 전용 속성입니다.

    Y 축 상의 좌표 범위로, 요소를 2개 가진 행 벡터로 지정됩니다. 첫 번째와 두 번째 요소는 각각 Y-축 상의 포인트 클라우드 좌표의 최소값과 최대값을 나타냅니다.

    데이터형: double

    읽기 전용 속성입니다.

    Z-축 상의 좌표 범위로 요소를 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("pointcloud"),"pcdata", ...
                            "las","aerialLidarData.laz");
     
    bpc = blockedPointCloud(pcfile,[50 50]);

    분할된 포인트 클라우드의 세부 정보를 표시합니다.

    disp(bpc)
      blockedPointCloud with properties:
    
       Read-only properties.
                 Source: "/mathworks/devel/bat/filer/batfs2566-0/Bdoc26b.3351752/build/runnable/matlab/toolbox/pointcloud/pcdata/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에 개발됨