Main Content

lasFileReader

LAS 파일 또는 LAZ 파일 리더

R2020b 이후

설명

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 파일 버전으로, 문자형 벡터로 지정됩니다.

읽기 전용 속성입니다.

x축상의 좌표 범위로, 요소를 2개 가진 실수 값 행 벡터로 지정됩니다.

읽기 전용 속성입니다.

y축상의 좌표 범위로, 요소를 2개 가진 실수 값 행 벡터로 지정됩니다.

읽기 전용 속성입니다.

z축상의 좌표 범위로, 요소를 2개 가진 실수 값 행 벡터로 지정됩니다.

읽기 전용 속성입니다.

GPS 타임스탬프 측정값의 범위로, 1×2 duration 벡터로 지정됩니다.

읽기 전용 속성입니다.

모든 점 레이저 반환의 최대 개수로, 양의 정수로 지정됩니다.

읽기 전용 속성입니다.

모든 점 분류 값의 최대 개수로, 양의 정수로 지정됩니다.

읽기 전용 속성입니다.

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 — 클래스에 있는 점의 개수로, 양의 정수로 지정됩니다.

읽기 전용 속성입니다.

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

  • 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
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에 개발됨

모두 확장