国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于VTK的機載LiDAR點云數(shù)據(jù)的可視化

2013-06-26 07:39張震張碩馬召恒
城市勘測 2013年3期
關(guān)鍵詞:類庫激光測距數(shù)據(jù)格式

張震 ,張碩,馬召恒

(1.山東科技大學(xué)測繪科學(xué)與技術(shù)學(xué)院,山東 青島 266510; 2.河南省地礦局第二地質(zhì)勘察院,河南 許昌 461000)

1 引 言

進入新世紀以來,隨著“數(shù)字地球”、“數(shù)字城市”的不斷發(fā)展,傳統(tǒng)的攝影測量技術(shù)由于其生產(chǎn)周期長、費用高、效率低等缺點,已經(jīng)不能滿足信息發(fā)展的需要。LiDAR 作為測繪領(lǐng)域一項具有革命性的成就之一,通過幾十年的發(fā)展,如今的LiDAR 技術(shù)日趨完善,它正廣泛應(yīng)用于測繪領(lǐng)域的各個方面。相對于歐美國家成熟的LiDAR 技術(shù)來說,我國目前在這方面的研究和應(yīng)用還處于剛剛起步的階段,相關(guān)的數(shù)據(jù)處理方法還處于技術(shù)探索和發(fā)展的階段。

為了能有一個同一的標準,2003年美國攝影測量與遙感(ASPRS)協(xié)會下的LiDAR 委員會發(fā)布了主要面向機載LiDAR 數(shù)據(jù)的標準格式LAS??梢暬ぞ甙?Visualization Toolkit,VTK)是一個面向?qū)ο蟮目梢暬悗?,由于其功能強大、方便使用以及源代碼開放等特點,它被廣泛用于可視化工具的開發(fā)領(lǐng)域中。本文以2009年發(fā)布的LAS 1.3 為基礎(chǔ),通過對其數(shù)據(jù)格式的解析與分析,在挪威TrollTech 公司開發(fā)的Qt 平臺上,結(jié)合VTK 技術(shù),以C++為開發(fā)工具,實現(xiàn)了對LAS文件中的點云數(shù)據(jù)的快速讀取顯示,為后期對LiDAR數(shù)據(jù)處理奠定了初步的基礎(chǔ)。

2 機載LiDAR 技術(shù)概述

2.1 機載LiDAR 系統(tǒng)組成

機載LiDAR 系統(tǒng)是一個集多種電子設(shè)備于一身的集成系統(tǒng)。其主要組成包括:①激光測距儀,發(fā)生激光脈沖并接受回波;②動態(tài)差分GPS,用于確定掃描中心的空間位置;③慣性測量單元IMU,確定掃描儀的姿態(tài);④高分辨率的數(shù)碼相機,與激光掃描儀同步獲取航空影像。

2.2 機載LiDAR 技術(shù)工作原理

(1)激光測距原理

激光測距的基本原理是利用光在空氣中的傳播速度已知這一特性,測定光波在被測距離上往返傳播的時間來求得距離值。它主要采用兩種測距原理,即脈沖激光測距和連續(xù)波激光測距。由于連續(xù)波激光測距雷達的平均發(fā)射功率較低,測距能力比相應(yīng)的脈沖激光雷達測距差很多,所以當前大多數(shù)雷達系統(tǒng)都采用脈沖激光測距來測量距離。

(2)機載LiDAR 技術(shù)對地定位原理

假設(shè)地理空間中一點O 的三維坐標(X0,Y0,Z0)已知,求出這一已知點到待定點A(XA,YA,ZA)的向量P(模,方向余弦),則A 點的坐標可以根據(jù)O 點坐標與向量P 求出,如圖1所示。

圖1 機載LiDAR 技術(shù)對地定位原理

XA=X0+△X

YA=Y0+△Y

ZA=Z0+△Z

其中:

△X=FX(Φ,ω,Κ,θ,S)

△Y=FY(Φ,ω,Κ,θ,S)

△Z=FZ(Φ,ω,Κ,θ,S)

已知點O 的三維坐標(X0,Y0,Z0)由GPS 提供;方向余弦由觀測平臺的法線的俯仰角Φ、側(cè)滾角ω、航偏角K 及觀測方向與法線間夾角θ 組成的矢量矩陣求出,觀測平臺法線的Φ,ω,K 由姿態(tài)裝置給出;矢量的模S 由激光測距儀給出,上述X0,Y0,Z0,Φ,ω,K,θ,S已知,那么任意測定點A 的三維坐標(XA,YA,ZA)即可求出。

3 機載LiDAR 數(shù)據(jù)格式及特點

3.1 機載LiDAR 數(shù)據(jù)格式

機載LiDAR 數(shù)據(jù)一般有兩種格式:一種是ASCII格式,這種格式的數(shù)據(jù)便于讀取,但是它沒有壓縮,Li-DAR 數(shù)據(jù)通常都是海量數(shù)據(jù),存儲和處理起來占用的內(nèi)存較大;另一種是目前國際上通用的機載LiDAR 數(shù)據(jù)的標準格式LAS,LAS 數(shù)據(jù)格式文件采用的是二進制格式,包含更多的信息,占用的內(nèi)存空間相對較小,LAS 標準格式是由美國攝影測量與遙感協(xié)會2003年開始發(fā)布的,經(jīng)過改進,目前已有5 種版本,分別是LAS1.0,1.1,1.2,1.3,2.0,其中LAS1.3 版本是最常見到的數(shù)據(jù)格式。

3.2 LAS1.3 數(shù)據(jù)格式特點

LAS1.3 數(shù)據(jù)格式由二進制數(shù)據(jù)組成,包含一個頭文件區(qū),變長記錄區(qū)和點記錄區(qū)。頭文件區(qū)包含一個公共區(qū),后面緊接著變長記錄。公共區(qū)塊包含一些描述數(shù)據(jù)整體情況的記錄,比如點記錄數(shù),坐標邊界。變長記錄包含一些變長類型數(shù)據(jù),有投影信息,元數(shù)據(jù),波形數(shù)據(jù)包信息和用戶應(yīng)用數(shù)據(jù)。如果包含波形數(shù)據(jù)包的話,那么它位于所有點數(shù)據(jù)記錄的末尾。它被放置在該處以方便對它的分離或?qū)嶓w化。該記錄是一個擴展變長記錄(EVLR)。EVLR 的存儲格式為無符號超長整型,允許存儲比一個變長記錄更多的信息。

4 可視化工具包VTK

VTK 是一個用于3D 計算機圖形學(xué)、計算機圖像處理以及可視化應(yīng)用程序的設(shè)計與開發(fā),同時可以免費獲取,開放源代碼的獨立類庫。它包括兩個基本的子系統(tǒng):一個是已經(jīng)編譯好的C++類庫;另一個接口層,提供了支持Java,Tcl 和Python 等解釋性語言的接口。VTK 支持多線程,分布式運算,可支持多種用戶交互方式,支持事件/觀察者(Command/Observer)用戶事件處理模式并提供包括點(Point),線(Lines)和三角網(wǎng)(Triangle Strips)等多種基本繪制圖元,它可以在Windows,Linux 和Unix 等平臺下的多種編程調(diào)用,所以它被廣泛用于可視化工具的開發(fā)領(lǐng)域中。

4.1 VTK 的功能分類

由于VTK 的類庫特別龐大,所以根據(jù)各個類在類庫中的作用,將類庫中的類分成如下幾部分:公共部分(Common)、圖形處理部分(Graphics)、圖像處理部分(Imaging)、文件讀寫部分(IO)、繪制部分(Rendering)、數(shù)據(jù)轉(zhuǎn)換部分(Filtering)等,每部分被編譯成相應(yīng)的動態(tài)連接庫。各部分在類庫中的層次如圖2所示。

圖2 VTK 類庫中的層次

4.2 VTK 可視化管道

VTK 是在OpenGL 函數(shù)庫的基礎(chǔ)之上,采用面向?qū)ο蟮姆椒òl(fā)展起來的,它有兩種不同的方式:圖形模型(Graphics Models)和可視化模型(Visualization Models)。圖形模型是三維圖形的抽象,側(cè)重于對圖像、圖形的操作和處理;可視化模型是可視化過程中數(shù)據(jù)流程的模型,側(cè)重于在可視化過程中的數(shù)據(jù)流。VTK 可視化管道圖如圖3所示。

圖3 VTK 可視化管道圖

5 機載LiDAR 點云數(shù)據(jù)的可視化

Qt 是由奇趣科技開發(fā)的跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架。它既可以開發(fā)GUI 程式,也可用于開發(fā)非GUI 程式。Qt 的良好封裝機制使得Qt 的模塊化程度非常高,可重用性較好,同時它支持2D/3D 圖形渲染和OpenGL,這對于用戶開發(fā)來說是非常方便的。現(xiàn)有2010年獲取的位于焦作市西北約30 km 處的太行山區(qū)部分機載LiDAR 點云數(shù)據(jù)作為實驗數(shù)據(jù),其數(shù)據(jù)格式為LAS 1.3。在Qt 平臺上,結(jié)合VTK 技術(shù),以C++為開發(fā)工具,即可實現(xiàn)這片區(qū)域點云數(shù)據(jù)的可視化(如圖4所示)。其主要可視化程序設(shè)計過程如下:

圖4 太行山區(qū)部分LiDAR 點云數(shù)據(jù)的可視化

(1)獲取點云數(shù)據(jù)

vtkPoints* pPoint=vtkPoints::New( ) ;

vtkPolyData* pdata=vtkPolyData::New( ) ;

pdata->SetPoints( pPoint) ;

(2)設(shè)置顏色表中的顏色

vtkLookupTable* pColorTable=vtkLookupTable::New( ) ;

pColorTable->SetHueRange(0,1) ;

pColorTable->SetNumberOfColors(225) ;

pColorTable->Build( ) ;

(3)創(chuàng)建映射器mapper 及演員actor

vtkPolyDataMapper* mapper=vtkPolyDataMapper::New( ) ;

vtkActor* actor=vtkActor::New( ) ;

mapper->SetInput( pdata) ;

actor->SetMapper( mapper) ;

(4)創(chuàng)建渲染器ren 及顯示窗口renwin

vtkRenderer* ren=vtkRenderer::New( ) ;

vtkRenderWindow* renwin=vtkRenderWindow::New( ) ;

ren->AddViewProp( actor) ;

renwin->AddRenderer( ren) ;

renwin->SetSize(800,800) ;

(5)創(chuàng)建交互窗口inter 及點云數(shù)據(jù)可視化顯示

vtkRenderWindowInteractor* inter = vtkRenderWindowInteractor::New( ) ;

inter->SetRenderWindow( renwin) ;

inter->Initialize( ) ;

inter->Start( ) ;

6 結(jié) 論

機載LiDAR 作為一種新興的現(xiàn)代化測量技術(shù)手段,它可以快速獲取地面地物的三維數(shù)據(jù),得到點云數(shù)據(jù)。由于點云數(shù)據(jù)處理起來相對比較麻煩,筆者通過對機載LiDAR 點云數(shù)據(jù)標準格式的研究,基于VTK 技術(shù)編程實現(xiàn)了點云數(shù)據(jù)的快速讀取顯示,有助于后期生成DEM,三維建模等進一步的研究。

[1]楊洋,張永生.基于LiDAR 數(shù)據(jù)的建筑物輪廓提?。跩].測繪科學(xué),2010,35(3) :203 ~205.

[2]陳松堯,程新文.機載LiDAR 系統(tǒng)原理及應(yīng)用綜述[J].測繪工程,2007,16(2) :27 ~31.

[3]張靖,高偉.LAS 格式解析及其擴展域的應(yīng)用[J].測繪科學(xué),2008,33(3) :154 ~155.

[4]常君明,邱磊,鄒早建.基于VTK 的CFD 可視化系統(tǒng)開發(fā)和應(yīng)用[J].武漢理工大學(xué)學(xué)報,2004,26(4) :83 ~85.

[5]劉玉芳,王潤懷,宋金星.基于VTK 的三維地層可視化探討[J].河南理工大學(xué)學(xué)報,2009,28(3) :303 ~306.

[6]李清泉,李必軍,陳靜.激光雷達測量技術(shù)及其應(yīng)用研究[J].武漢測繪科技大學(xué)學(xué)報,2000,25(5) :387 ~392.

猜你喜歡
類庫激光測距數(shù)據(jù)格式
用Java編寫客戶機/服務(wù)器端應(yīng)用程序
Python在數(shù)據(jù)可視化中的應(yīng)用
基于LabVIEW的偏振調(diào)制激光測距測量控制系統(tǒng)
基于高壓架空線路激光測距的無人機鎖定導(dǎo)線巡航研究
數(shù)據(jù)結(jié)構(gòu)課程教學(xué)改革方案和應(yīng)用效果
數(shù)據(jù)結(jié)構(gòu)可視化類庫的設(shè)計與實現(xiàn)
基于回波強度的激光測距誤差補償算法研究
世界首個可記錄物體內(nèi)部結(jié)構(gòu)等復(fù)雜信息的3D打印數(shù)據(jù)格式問世
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
自增益電路在激光測距中的應(yīng)用
崇阳县| 吉林市| 高密市| 夏邑县| 鄂伦春自治旗| 怀集县| 兰坪| 祁东县| 伊金霍洛旗| 盐津县| 天镇县| 丹棱县| 海淀区| 桐乡市| 江陵县| 清涧县| 兰坪| 乐都县| 红河县| 邵阳县| 绥滨县| 家居| 安康市| 伊宁县| 潼关县| 汉川市| 丹阳市| 舒城县| 米林县| 通州市| 宁强县| 鲁山县| 图片| 德清县| 黄龙县| 兴化市| 十堰市| 南江县| 乌鲁木齐县| 东海县| 嫩江县|