LIDAR数据类似于带有激光的RADAR,是光检测和测距的缩写。
laspy库提供了python API,用于读取,写入和操作一种流行的用来存储LIDAR数据的(.LAS文件)。 LAS文件是根据几种规格打包的二进制文件。
- Las: 二进制格式;是点云lidar数据的一种典型格式。
las文件是根据多种las规格打包而成的二进制文件。
- Las 规格
las1.0支持las1.0~1.2,对格式1.3,1.4提供了初步支持。
las规格 |
文档 |
1.0 |
http://www.asprs.org/a/society/committees/standards/asprs_las_format_v10.pdf |
1.1 |
http://www.asprs.org/a/society/committees/standards/asprs_las_format_v11.pdf |
1.2 |
http://www.asprs.org/a/society/committees/standards/asprs_las_format_v12.pdf |
1.3 |
http://www.asprs.org/a/society/committees/standards/LAS_1_3_r11.pdf |
1.4 |
http://www.asprs.org/a/society/committees/standards/LAS_1_4_r11.pdf |
las1.0~las1.2 |
las1.3~las1.4 |
头文件区 |
头文件区 |
变长记录区 |
变长记录区 |
点数据区 |
点数据区 |
|
波形数据记录区、扩展变长记录区 |
蓝色:las1.3新增头文件区
红色:las1.4新增头文件区
属性名 |
laspy缩写 |
文件格式(长度) |
File Signature |
file_signature |
char[4] (4) |
File Source Id |
file_source_id |
unsigned short[1] (2) |
(Reserved or Global Encoding) |
global_encoding |
unsigned short[1] (2) |
Gps Time Type |
gps_time_type |
Part of Global Encoding |
Project Id (4 combined fields) |
guid |
ulong+ushort+ushort+char[8] (16) |
Verion Major |
version_major |
unsigned char[1] (1) |
Version Minor |
version_minor |
unsigned char[1] (1) |
Version Major + Minor |
version |
(see above) |
System Identifier |
system_id |
char[32] (32) |
Generating Software |
software_id |
char[32] (32) |
File Creation Day of Year |
(handled internally) |
unsigned short[1] (2) |
File Creation Year |
(handled internally) |
unsigned short[1] (2) |
Creation Day + Year |
date |
(see above) |
Header Size |
header_size |
unsigned short[1] (2) |
Offset to Point Data |
data_offset |
unsigned long[1] 4 |
Number of Variable Length Recs |
(handled internally) |
unsigned long[1] 4 |
Point Data Format Id |
data_format_id |
unsigned char[1] (1) |
Data Record Length |
data_record_length |
unsigned short[1] (2) |
Number of point records |
records_count |
unsigned long[1] (4) |
Number of Points by Return Ct. |
point_return_count |
unsigned long[5 or 7] (20 or 28) |
Scale Factor (X, Y, Z) |
scale |
double[3] (24) |
Offset (X, Y, Z) |
offset |
double[3] (24) |
Max (X, Y, Z) |
max |
double[3] (24) |
Min (X, Y, Z) |
min |
double[3] (24) |
Start of waveform data record |
start_waveform_data_rec |
unsigned long long[1] (8) |
Start of first EVLR |
start_first_evlr |
unsigned long long[1] (8) |
Number of EVLRs |
(handled internally) |
unsigned long[1] (4) |
Number of point records |
point_records_count |
unsigned long long[1] (8) |
Number of points by return ct. |
point_return_count |
unsigned long long[15] (120) |
LAS Format |
Point Formats Supported |
1.0,1.1 |
0, 1 |
1.2 |
0, 1, 2, 3 |
1.3 |
0, 1, 2, 3, 4, 5 |
1.4 |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
LAS规格 |
支持的点数据格式 |
1.0,1.1 |
0,1(x、y、z、intensity、flag_type、raw_classification、user_data、pt_src_id,1新增gps_time) |
1.2 |
0, 1, 2, 3(2减少gpsTime,3新增red、green、blue) |
1.3 |
0, 1, 2, 3, 4, 5,新增wavefm_packet_desc_index、byte_offset_to_waveform_data等; |
1.4 |
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 |
点格式:
Field Name |
laspy简写 |
File Format[number] (length) |
备注 |
X |
X (x for scaled) |
long[1] (4) |
|
Y |
Y (y for scaled) |
long[1] (4) |
|
Z |
Z (z for scaled) |
long[1] (4) |
|
Intensity |
intensity |
unsigned short[1] (2) |
|
(Flag Byte) |
flag_byte |
unsigned byte[1] (1) |
|
(Classification Byte) |
raw_classification |
unsigned byte[1] (1) |
|
User Data |
user_data |
unsigned char[1] (1) |
|
Point Source Id |
pt_src_id |
unsigned short[1] (2) |
|
GPS Time |
gps_time |
double[1] (8) |
1新增 |
Red |
red |
unsigned short[1] (2) |
2新增 |
Green |
green |
unsigned short[1] (2) |
2 新增 |
Blue |
blue |
unsigned short[1] (2) |
2 新增 |