1. LiDAR点云数据
LiDAR,是Light Detection and Ranging即光探测和测距的缩写。
常见点云文件格式如下:
.las,.laz(LiDAR数据的工业标准格式,是一种二进制文件格式)
.pcd(PCL库官方指定格式)
.obj(是由Alias|Wavefront Techonologies公司从几何学上定义的3D模型文件格式,是一种文本文件)
.pcap(现在流行的Velodyne公司出品的激光雷达默认采集数据的二进制文件格式)
.ply(一种由斯坦福大学的Turk等人设计开发的多边形文件格式,因而也被成为斯坦福三角格式。文件格式有文本和二进制两种格式)
.pts(被称之为最简便的点云格式,属于文本格式。只包含点坐标信息,按X Y Z顺序存储)
.xyz,.txt(一种文本格式)
LAS是点云文件的一种,LAS文件是根据几种规格打包的二进制文件,LAS文件只要是俩部分:点云规格、点云点数据;
las格式作为点云数据的一种,常见于自动驾驶、高精地图制作的使用中。las文件旨在包含激光雷达点云数据记录。
2.las格式版本
las文件是一个二进制文件,其中定义的数据类型与C语言中数据类型一致。到目前为止,las共有6版分别是:
Superseded ASPRS LAS 1.4 Format Specification R14 March 26 2019 (PDF)
Superseded ASPRS LAS 1.4 Format Specification R13 July 15 2013 (PDF)
Superseded ASPRS LAS 1.3 Format Specification October 24 2010 (PDF)
Superseded ASPRS LAS 1.2 Format Specification September 2 2008 (PDF)
Superseded ASPRS LAS 1.1 Format Standard May 7 2005 (PDF)
Superseded ASPRS LAS 1.0 Format Standard May 9 2003 (PDF)
3. las数据类型
序号 | 数据类型 | 字节数 |
1 | char | 1 |
2 | unsigned char | 1 |
3 | short | 2 |
4 | unsigned short | 2 |
5 | long | 4 |
6 | unsigned long | 4 |
7 | double | 8 |
Python常用于解析点云数据,Python数据类型与C语言数据类型对应关系,具体可参考链接 struct解析二进制数据
Format |
C Type |
Python type |
Standard size |
Notes |
---|---|---|---|---|
|
pad byte |
no value |
||
|
char |
bytes of length 1 |
1 |
|
|
signed char |
integer |
1 |
(1), (2) |
|
unsigned char |
integer |
1 |
(2) |
|
_Bool |
bool |
1 |
(1) |
|
short |
integer |
2 |
(2) |
|
unsigned short |
integer |
2 |
(2) |
|
int |
integer |
4 |
(2) |
|
unsigned int |
integer |
4 |
(2) |
|
long |
integer |
4 |
(2) |
|
unsigned long |
integer |
4 |
(2) |
|
long long |
integer |
8 |
(2) |
|
unsigned long long |
integer |
8 |
(2) |
|
|
integer |
(3) |
|
|
|
integer |
(3) |
|
|
(6) |
float |
2 |
(4) |
|
float |
float |
4 |
(4) |
|
double |
float |
8 |
(4) |
|
char[] |
bytes |
||
|
char[] |
bytes |
||
|
void* |
integer |
(5) |
4. las格式的完整构成
序号 | las1.0~las1.2 | las1.3~las1.4 | 中文说明 |
1 | PUBLIC HEADER BLOCK | PUBLIC HEADER BLOCK | 公共头 |
2 | VARIABLE LENGTH RECORDS | VARIABLE LENGTH RECORDS(VLR) | 可变长度记录域 |
3 | POINT DATA RECORDS | POINT DATA RECORDS | 点数据记录域 |
4 | EXTENDED VARIABLE LENGTH RECORDS (EVLR) | 扩展可变长度记录域 |
5.公共头不同版本构成
以 las1.2为例列出公共头信息如下表。其它不同版本有不同程度增删,具体详见上述官方链接。
序号 | 类别 | 格式 | 字节数 | 必须 | las版本 | 备注 |
1 | File Signature (“LASF”) | char[4] | 4 | * | 1.1~1.4 | |
2 | File Source ID | unsigned short | 2 | * | ||
3 | Global Encoding | unsigned short | 2 | * | ||
4 | Project ID - GUID data 1 | unsigned long | 4 | |||
5 | Project ID - GUID data 2 | unsigned short | 2 | |||
6 | Project ID - GUID data 3 | unsigned short | 2 | |||
7 | Project ID - GUID data 4 | unsigned char[8] | 8 | |||
8 | Version Major | unsigned char | 1 | * | 1.1~1.4 | |
9 | Version Minor | unsigned char | 1 | * | 1.1~1.4 | |
10 | System Identifier | char[32] | 32 | * | ||
11 | Generating Software | char[32] | 32 | * | ||
12 | File Creation Day of Year | unsigned short | 2 | * | ||
13 | File Creation Year | unsigned short | 2 | |||
14 | Header Size | unsigned short | 2 | |||
15 | Offset to point data | unsigned long | 4 | * | ||
16 | Number of Variable Length Records | unsigned long | 4 | * | ||
17 | Point Data Format ID (0-99 for spec) | unsigned char | 1 | * | ||
18 | Point Data Record Length | unsigned short | 2 | * | ||
19 | Number of point records | unsigned long | 4 | * | ||
20 | Number of points by return | unsigned long[5] | 20 | * | ||
21 | X scale factor | double | 8 | * | 1.1~1.4 | |
22 | Y scale factor | double | 8 | * | 1.1~1.4 | |
23 | Z scale factor | double | 8 | * | 1.1~1.4 | |
24 | X offset | double | 8 | * | 1.1~1.4 | |
25 | Y offset | double | 8 | * | 1.1~1.4 | |
26 | Z offset | double | 8 | * | 1.1~1.4 | |
27 | Max X | double | 8 | * | 1.1~1.4 | |
28 | Min X | double | 8 | * | 1.1~1.4 | |
29 | Max Y | double | 8 | * | 1.1~1.4 | |
30 | Min Y | double | 8 | * | 1.1~1.4 | |
31 | Max Z | double | 8 | * | 1.1~1.4 | |
32 | Min Z | double | 8 | * | 1.1~1.4 |
6.坐标转换关系
7.点数据记录格式
在las1.0版本中定义了点数据格式0,其一共20(12+8)字节数据,在las1.0~las1.4的版本中点数据格式1到5都是在点数据格式0基础上增添字段。详见上述链接对应的官方文档。
在las1.4版本中增加了点格式6,其一共30字节数据,在las1.4版本中点格式7到10都是在点数据格式6基础上增添字段。详见上述链接对应的官方文档。
不同版本las对应的点数据格式汇总如下表。
Las Format | Point Data Record Format |
---|---|
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 |
不同版本对应的点数据记录数汇总如下:
8.点云数据常用信息
利用点云数据解析结果,用于点云分割,道路标线特征提取与矢量化等自动驾驶相关的应用场景,上述不同版本点云数据比较常用的信息如下表。其中强度值与RGB值可二取一或二者有之,两者都有时效果更佳。
序号 | 项目 | 说明 | 备注 |
1 | X | X坐标 | 必须 |
2 | Y | Y坐标 | 必须 |
3 | Z | Z坐标 | 必须 |
4 | Intensity | 反射强度 | 可选 |
5 | R | 点Red颜色通道值 | 可选 |
6 | G | 点Green颜色通道值 | 可选 |
7 | B | 点Blue颜色通道值 | 可选 |
9.解析库与可视化工具
常用的解析las点云数据的python库有laspy, plcpy文章来源:https://www.toymoban.com/news/detail-484354.html
常用的显示点云数据的软件有CloudCompare,QGIS(3.20或以上),matlab(2018a或以上)文章来源地址https://www.toymoban.com/news/detail-484354.html
到了这里,关于点云数据格式说明的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!