点云数据格式说明
1. LiDAR點云數(shù)據(jù)
LiDAR,是Light Detection and Ranging即光探測和測距的縮寫。
常見點云文件格式如下:
.las,.laz(LiDAR數(shù)據(jù)的工業(yè)標準格式,是一種二進制文件格式)
.pcd(PCL庫官方指定格式)
.obj(是由Alias|Wavefront Techonologies公司從幾何學上定義的3D模型文件格式,是一種文本文件)
.pcap(現(xiàn)在流行的Velodyne公司出品的激光雷達默認采集數(shù)據(jù)的二進制文件格式)
.ply(一種由斯坦福大學的Turk等人設(shè)計開發(fā)的多邊形文件格式,因而也被成為斯坦福三角格式。文件格式有文本和二進制兩種格式)
.pts(被稱之為最簡便的點云格式,屬于文本格式。只包含點坐標信息,按X Y Z順序存儲)
.xyz,.txt(一種文本格式)
LAS是點云文件的一種,LAS文件是根據(jù)幾種規(guī)格打包的二進制文件,LAS文件只要是倆部分:點云規(guī)格、點云點數(shù)據(jù);
las格式作為點云數(shù)據(jù)的一種,常見于自動駕駛、高精地圖制作的使用中。las文件旨在包含激光雷達點云數(shù)據(jù)記錄。
2.las格式版本
las文件是一個二進制文件,其中定義的數(shù)據(jù)類型與C語言中數(shù)據(jù)類型一致。到目前為止,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數(shù)據(jù)類型
| 序號 | 數(shù)據(jù)類型 | 字節(jié)數(shù) |
| 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常用于解析點云數(shù)據(jù),Python數(shù)據(jù)類型與C語言數(shù)據(jù)類型對應關(guān)系,具體可參考鏈接?struct解析二進制數(shù)據(jù)
| x | pad byte | no value | ||
| c | char | bytes of length 1 | 1 | |
| b | signed char | integer | 1 | (1), (2) |
| B | unsigned char | integer | 1 | (2) |
| ? | _Bool | bool | 1 | (1) |
| h | short | integer | 2 | (2) |
| H | unsigned short | integer | 2 | (2) |
| i | int | integer | 4 | (2) |
| I | unsigned int | integer | 4 | (2) |
| l | long | integer | 4 | (2) |
| L | unsigned long | integer | 4 | (2) |
| q | long long | integer | 8 | (2) |
| Q | unsigned long long | integer | 8 | (2) |
| n | ssize_t | integer | (3) | |
| N | size_t | integer | (3) | |
| e | (6) | float | 2 | (4) |
| f | float | float | 4 | (4) |
| d | double | float | 8 | (4) |
| s | char[] | bytes | ||
| p | char[] | bytes | ||
| P | void* | integer | (5) |
4. las格式的完整構(gòu)成
| 序號 | 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 | 點數(shù)據(jù)記錄域 |
| 4 | EXTENDED VARIABLE LENGTH RECORDS (EVLR) | 擴展可變長度記錄域 |
5.公共頭不同版本構(gòu)成
以 las1.2為例列出公共頭信息如下表。其它不同版本有不同程度增刪,具體詳見上述官方鏈接。
| 序號 | 類別 | 格式 | 字節(jié)數(shù) | 必須 | 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.坐標轉(zhuǎn)換關(guān)系
7.點數(shù)據(jù)記錄格式?
在las1.0版本中定義了點數(shù)據(jù)格式0,其一共20(12+8)字節(jié)數(shù)據(jù),在las1.0~las1.4的版本中點數(shù)據(jù)格式1到5都是在點數(shù)據(jù)格式0基礎(chǔ)上增添字段。詳見上述鏈接對應的官方文檔。
在las1.4版本中增加了點格式6,其一共30字節(jié)數(shù)據(jù),在las1.4版本中點格式7到10都是在點數(shù)據(jù)格式6基礎(chǔ)上增添字段。詳見上述鏈接對應的官方文檔。
不同版本las對應的點數(shù)據(jù)格式匯總?cè)缦卤怼?/p>
| 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 |
不同版本對應的點數(shù)據(jù)記錄數(shù)匯總?cè)缦?#xff1a;
?
?
?
8.點云數(shù)據(jù)常用信息
利用點云數(shù)據(jù)解析結(jié)果,用于點云分割,道路標線特征提取與矢量化等自動駕駛相關(guān)的應用場景,上述不同版本點云數(shù)據(jù)比較常用的信息如下表。其中強度值與RGB值可二取一或二者有之,兩者都有時效果更佳。
| 序號 | 項目 | 說明 | 備注 |
| 1 | X | X坐標 | 必須 |
| 2 | Y | Y坐標 | 必須 |
| 3 | Z | Z坐標 | 必須 |
| 4 | Intensity | 反射強度 | 可選 |
| 5 | R | 點Red顏色通道值 | 可選 |
| 6 | G | 點Green顏色通道值 | 可選 |
| 7 | B | 點Blue顏色通道值 | 可選 |
9.解析庫與可視化工具
常用的解析las點云數(shù)據(jù)的python庫有l(wèi)aspy,?plcpy
常用的顯示點云數(shù)據(jù)的軟件有CloudCompare,QGIS(3.20或以上),matlab(2018a或以上)
總結(jié)
- 上一篇: #define typedef 区别
- 下一篇: 【struts2】预定义拦截器