주요 콘텐츠

lasFileReader

LAS 파일 또는 LAZ 파일에서 포인트 클라우드 데이터 읽어오기

설명

lasFileReader 객체는 LAS 파일 또는 LAZ 파일에 존재하는 메타데이터를 읽기 전용 속성으로 저장합니다. 객체 함수 readPointCloud는 이러한 속성을 사용하여 파일에서 포인트 클라우드 데이터를 읽어옵니다. lasFileReader 객체는 LAS 1.4 사양까지 지원합니다.

LAS 파일은 공개 헤더를 포함합니다. 공개 헤더에는 라이다 메타데이터가 있으며 그 뒤에 라이다 점 레코드가 이어집니다. 각 점 레코드는 3차원 좌표, 강도, GPS 타임스탬프와 같은 특성을 포함합니다.

LAS 파일 형식은 ASPRS(American Society for Photogrammetry and Remote Sensing)에서 개발하고 관리하는 라이다 데이터 저장용 산업 표준 이진 형식입니다. 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개 가진 실수 값 행 벡터로 나타냅니다. Xscale, Yscale, Zscale은 각각 X축, Y축, Z축 상의 스케일을 나타냅니다.

R2025a 이후

읽기 전용 속성입니다.

XYZ 좌표의 오프셋으로, [Xoffset Yoffset Zoffset] 형식의 요소를 3개 가진 실수 값 행 벡터로 나타냅니다. Xoffset, Yoffset, Zoffset은 각각 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가 할당되지 않았음을 지정합니다. ProjectID 속성과 FileSourceID 속성을 사용하여 LAS 파일에서 각 점을 고유하게 식별합니다.

읽기 전용 속성입니다.

프로젝트 ID로, string형 스칼라로 나타냅니다. 이 값은 GUID(전역 고유 식별자)입니다. ProjectID 속성과 FileSourceID 속성을 사용하여 LAS 파일에서 각 점을 고유하게 식별합니다.

읽기 전용 속성입니다.

PDRF(Point Data Record Format) ID로, 음이 아닌 정수로 나타냅니다. 값은 범위 0~10 내에 있어야 합니다. 자세한 내용은 PDRF(Point Data Record Format) 항목을 참조하십시오.

읽기 전용 속성입니다.

분류 정보로, 테이블로 나타냅니다. 테이블의 각 행은 점 클래스를 설명하는 다음 정보를 포함합니다.

  • Classification Value — 클래스에 대한 고유한 분류 ID 번호로, 양의 정수로 나타냅니다.

  • Class Name — 클래스와 연결된 레이블로, string형 스칼라로 나타냅니다.

  • Number of Points by Class — 클래스에 있는 점의 개수로, 양의 정수로 나타냅니다.

참고

이 속성의 값은 즉시 사용 가능하지 않습니다. lasFileReader 객체인 lasReader에 대해 이 속성을 가져오려면 명령 창에 lasReader.ClassificationInfo를 입력하십시오. 이 명령은 또한 이 객체의 GPSTimeLimits 속성과 NumClasses 속성을 채웁니다.

읽기 전용 속성입니다.

레이저 반환 정보로, 테이블로 나타냅니다. 테이블의 각 행은 레이저 반환을 설명하는 다음 정보를 포함합니다.

  • Laser Return Number — 레이저 반환 번호로, 양의 정수로 나타냅니다.

  • Number of Points by Return — 레이저 반환당 점의 개수로, 양의 정수로 나타냅니다.

읽기 전용 속성입니다.

VLR(가변 길이 레코드) 정보 또는 확장된 VLR 정보로, 테이블로 나타냅니다. 테이블의 각 행은 레코드를 설명하는 다음 정보를 포함합니다.

  • Record ID — 레코드 식별 번호로, 양의 정수로 나타냅니다.

  • User ID — 레코드 ID와 연결된 사용자 ID로, string형 스칼라로 나타냅니다.

  • Description — 레코드 설명으로, string형 스칼라로 나타냅니다.

객체 함수

readPointCloudRead point cloud data from LAS or LAZ file
readCRSRead coordinate reference system data from LAS or LAZ file
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에 개발됨

모두 확장