陳佳兵,肖 龍,夏曉亮,李京兵,張坤軍,魏榮灝
(1.浙江省水利河口研究院(浙江省海洋規(guī)劃設(shè)計研究院),浙江 杭州 310020;2.浙江省水利防災(zāi)減災(zāi)重點實驗室,浙江 杭州 310020;3.寧波市杭州灣大橋發(fā)展有限公司,浙江 寧波 315000)
隨著社會經(jīng)濟的進(jìn)步和快速發(fā)展,對地球空間信息全方位的精確認(rèn)識迫在眉睫。傳統(tǒng)測繪技術(shù)已經(jīng)不能滿足大面積高效率數(shù)據(jù)采集和處理的需求[1],基于此,激光雷達(dá)測量技術(shù)應(yīng)運而生,并在地形測繪、三維城市建模、環(huán)境監(jiān)測、災(zāi)害監(jiān)測、水利監(jiān)測等多個領(lǐng)域具有廣闊的發(fā)展和應(yīng)用前景[2]。浙江省推出的“五水共治”綜合水利工程是建設(shè)“美麗浙江”的戰(zhàn)略重點,其中河道整治工程是重中之重,利用激光雷達(dá)測量系統(tǒng)可實現(xiàn)對河道兩岸地形地物的快速高效測量。
完整的激光雷達(dá)測量系統(tǒng)由GNSS定位、慣性導(dǎo)航(IMU)和激光測量3部分組成。由激光雷達(dá)系統(tǒng)發(fā)射連續(xù)激光脈沖并實時接收返回的激光脈沖,從而得到含有目標(biāo)物三維信息的激光離散點數(shù)據(jù)[3],經(jīng)軟件處理之后,得到高精度的離散點數(shù)據(jù)信息,用于生成精確的DSM、DEM、DOM等數(shù)字化成果[4]。
起初,激光雷達(dá)生成的點云數(shù)據(jù)并沒有通用的、開放型的存儲格式,其存儲標(biāo)準(zhǔn)主要由硬件生產(chǎn)廠家及軟件供應(yīng)商提供,如利用Leica公司設(shè)備采集的點云數(shù)據(jù)采用.pts、.ptx文件格式存儲,經(jīng)TerraScan軟件處理后的數(shù)據(jù)采用.bin、.ts文件格式存儲[5]。在各軟件平臺之間進(jìn)行數(shù)據(jù)處理、轉(zhuǎn)換、共享耗費大量時間,容易增加數(shù)據(jù)損毀風(fēng)險,在數(shù)據(jù)二次利用方面也不具備擴展性。
隨著激光雷達(dá)技術(shù)在各領(lǐng)域的廣泛應(yīng)用,亟需提高各類數(shù)據(jù)間的兼容性,開發(fā)一套標(biāo)準(zhǔn)的激光雷達(dá)點云數(shù)據(jù)格式已成為業(yè)界共識。鑒于此,隸屬于美國攝影測量與遙感學(xué)會(ASPRS)的LIDAR專業(yè)委員會于2003年發(fā)布激光雷達(dá)數(shù)據(jù)的標(biāo)準(zhǔn)格式LAS;美國材料實驗協(xié)會(ASTM)也發(fā)表旨在規(guī)范3D點云數(shù)據(jù)格式的通用型E57文件格式。
本文分析LAS和E57這2種激光雷達(dá)點云數(shù)據(jù)格式結(jié)構(gòu),為點云數(shù)據(jù)處理研究提供相應(yīng)參考,同時為激光雷達(dá)技術(shù)在浙江省水利工程建設(shè)中推廣應(yīng)用提供技術(shù)支撐。
LAS文件是二進(jìn)制格式,至今已更新了5個版本,最新的版本為2019年7月發(fā)布的LAS1.4-R15(目前2.0版本的開發(fā)工作已無限期暫停)[6]。美國材料實驗協(xié)會(ASTM)制訂的E57文件格式由多家主流設(shè)備生產(chǎn)商、軟件供應(yīng)商和服務(wù)商、工業(yè)及學(xué)術(shù)研究人員共同開發(fā)制訂,具有可靠的互操作性、易用性、開放性、簡潔性和擴展性等特性[7]。
以最新的LAS1.4-R15版本為例,對LAS文件格式結(jié)構(gòu)進(jìn)行分析。LAS1.4版本可以反向兼容各歷史版本數(shù)據(jù),其與歷史版本的區(qū)別主要在以下5個方面[8]:
(1)文件結(jié)構(gòu)由32位升級至64位,數(shù)據(jù)點容量最高支持264-1個;
(2)每個輸出脈沖的返回數(shù)增加至15個;
(3)點分類字段的類型增加至256個;
(4)為支持更精細(xì)的角度分辨率,將掃描角度字段擴展為2個字節(jié);
(5)新引入點數(shù)據(jù)格式6~10,使用WKT坐標(biāo)參考系統(tǒng)格式,原先的點數(shù)據(jù)格式0~5可使用GeoTIFF或者WKT坐標(biāo)參考系統(tǒng)格式。
LAS1.4版本的文件結(jié)構(gòu)可分為4部分,包括公共頭文件區(qū)、變長記錄區(qū)、點數(shù)據(jù)記錄區(qū)和擴展變長記錄區(qū),其中擴展變長記錄區(qū)為1.3版本之后新增的文件結(jié)構(gòu)。
2.1.1 公共頭文件區(qū)
LAS1.4版本的公共頭文件區(qū)具體結(jié)構(gòu)可見文獻(xiàn)8。公共頭文件區(qū)記載數(shù)據(jù)點的數(shù)量、格式、數(shù)據(jù)范圍、變長記錄區(qū)數(shù)量等LAS文件的基本信息,所有項目需填寫數(shù)據(jù),若無數(shù)據(jù)則置零。公共頭文件區(qū)記錄LAS文件的2種生成方式,一種是激光雷達(dá)設(shè)備直接采集數(shù)據(jù)生成LAS文件,另一種是對已有點云數(shù)據(jù)進(jìn)行提取、融合、修改。公共頭文件區(qū)還記錄了用于計算點云數(shù)據(jù)真實坐標(biāo)的X、Y、Z方向的比例因子和偏移量:
式中:Xrecord、Yrecord、Zrecord為點云數(shù)據(jù)中的記錄值;Xscale、Yscale、Zscale為X、Y、Z方向的比例尺因子;Xoffset、Yoffset、Zoffset為X、Y、Z方向的偏移值。
2.1.2 變長記錄區(qū)
變長記錄區(qū)位于公共頭文件區(qū)之后,其數(shù)量記載于公共頭文件區(qū),主要記錄投影信息、元數(shù)據(jù)信息、波形數(shù)據(jù)包信息及用戶應(yīng)用數(shù)據(jù)信息,其結(jié)構(gòu)見文獻(xiàn)8。每個變長記錄區(qū)的大小為54個字節(jié),包括固定變長記錄頭域和靈活擴展域2部分,充分體現(xiàn)該結(jié)構(gòu)區(qū)可操作性強的特點。
2.1.3 點數(shù)據(jù)記錄區(qū)
點數(shù)據(jù)記錄區(qū)位于變長記錄區(qū)之后,主要用于存儲點云數(shù)據(jù),包括每個激光點的三維坐標(biāo)信息、回波強度信息等相關(guān)屬性,是LAS文件的核心。點數(shù)據(jù)格式在公共頭文件區(qū)中已經(jīng)指定,每個LAS文件只有1種點數(shù)據(jù)格式。計算激光點坐標(biāo)時,必須讀取公共頭文件區(qū)的偏移量和比例因子,采用式(1)進(jìn)行計算。原有點數(shù)據(jù)格式為0~5,在1.4版本中,新增點數(shù)據(jù)格式6~10,其中格式6為基礎(chǔ)格式, 格式7~10是在格式6的基礎(chǔ)上增加屬性進(jìn)行擴展,如格式7在格式6的基礎(chǔ)上增加了紅色、綠色、藍(lán)色波段的記錄。1.4版本中的基礎(chǔ)格式6(30 bytes)的結(jié)構(gòu)見文獻(xiàn)8。
2.1.4 擴展變長記錄區(qū)
擴展變長記錄區(qū)位于LAS文件末尾,可存儲比變長記錄區(qū)更多的數(shù)據(jù),并且更具靈活性,可以在不重寫整個LAS文件的前提下,將數(shù)據(jù)信息添加在LAS文件中。其結(jié)構(gòu)與變長記錄區(qū)相同,不同之處在于公共頭文件區(qū)后記錄長度大小為8 bytes。
為減少激光點云數(shù)據(jù)在軟硬件之間及不同軟件系統(tǒng)間存儲、轉(zhuǎn)換引起數(shù)據(jù)丟失、損毀等情況發(fā)生,ASTM制訂了通用的E57文件格式,并重點考慮其文件結(jié)構(gòu)的靈活擴展性、通用性及易解釋性等。E57文件格式為分層樹結(jié)構(gòu)(見圖1)[7]。
圖1 E57文件結(jié)構(gòu)示意圖
文件頭部分是大小為48 bytes的二進(jìn)制結(jié)構(gòu),包含版本號及XML位置等嚴(yán)格的文件級信息。為滿足大量點云數(shù)據(jù)或其它大數(shù)據(jù)塊(如圖片)的存儲需求,加入壓縮型二進(jìn)制部分,壓縮文件大小,加快文件讀取速度。文本型XML格式的應(yīng)用使E57格式具有靈活的擴展性,XML中包含E57文件的數(shù)據(jù)層次結(jié)構(gòu)。
E57文件格式具有錯誤自檢功能。1個E57文件被分為多個大小為1 024 bytes的列組,每組最后4位包含循環(huán)冗余校驗(CRC)部分,當(dāng)編碼1個列組時,會為數(shù)據(jù)計算1個CRC,在解碼這個數(shù)據(jù)時,通過存儲的CRC來驗證每列組數(shù)據(jù)的正確性[7]。這種錯誤自檢模式雖然增加了文件編碼和解碼的復(fù)雜性,但能確保在損毀文件中依然可以提取部分未損毀的有用數(shù)據(jù)。
XML部分是由1組核心構(gòu)建塊(稱為E57元素)構(gòu)成的E57數(shù)據(jù)層次結(jié)構(gòu),E57文件格式共定義8種E57元素,包括5類終端型(整型、浮點型、比例整型、字符串、二進(jìn)制大對象)和3類非終端型(結(jié)構(gòu)數(shù)組、矢量、壓縮矢量)[7],在文件中具有特殊格式。數(shù)據(jù)層次結(jié)構(gòu)的根節(jié)點被稱為E57Root[7],其中包含的2個分別存儲點云數(shù)據(jù)和圖像數(shù)據(jù)的矢量,均被要求存儲在同一個坐標(biāo)系下;E57Root中存儲文件創(chuàng)建日期和時間等部分文件頭中不存在的信息,同時包含1個可選的坐標(biāo)元數(shù)據(jù)字符串,用于編碼大地測量數(shù)據(jù)和在標(biāo)準(zhǔn)化坐標(biāo)參考系統(tǒng)中引用數(shù)據(jù)集所需的相關(guān)信息。
LAS和E57這2種數(shù)據(jù)格式是目前使用較為廣泛的激光雷達(dá)點云數(shù)據(jù)格式,兩者之間存在的區(qū)別如下:
(1)最初設(shè)計目的不同。由ASPRS制訂的LAS文件格式,最初設(shè)計目的是存儲機載激光雷達(dá)點云數(shù)據(jù),后期隨著激光雷達(dá)技術(shù)的發(fā)展,擴展了對車載激光雷達(dá)等其它非空中激光雷達(dá)點云數(shù)據(jù)的支持; E57文件格式在設(shè)計之初考慮到廣支持的需求,支持所有硬件設(shè)備采集的點云數(shù)據(jù)。
(2)2種格式實現(xiàn)相似功能的途徑不同。LAS文件格式利用固定點數(shù)據(jù)格式記錄每個激光點的信息,更新版本后,新的點數(shù)據(jù)格式將添加至已定義的點數(shù)據(jù)格式列表中,用戶根據(jù)需要選定唯一的點數(shù)據(jù)格式;E57文件格式則更具靈活性,可根據(jù)用戶需求靈活選取與激光點相關(guān)的信息以及表示這些信息的文件大小。
(3)E57文件格式支持網(wǎng)格數(shù)據(jù)和圖像數(shù)據(jù),具有錯誤自檢功能,用戶可自定義擴展模塊以實現(xiàn)需要的功能。
本文主要從文件結(jié)構(gòu)方面對LAS1.4-R15版本進(jìn)行詳細(xì)解析,并闡述最新版本相對于歷史版本在各方面的改進(jìn),同時對E57文件格式進(jìn)行簡要分析,介紹LAS與 E57這2種文件格式之間的區(qū)別,為實際工程選用合適的點云數(shù)據(jù)存儲格式提供參考,為激光雷達(dá)點云數(shù)據(jù)后處理提供理論依據(jù)和技術(shù)支撐。