邱俊玲
(河南工業(yè)貿(mào)易職業(yè)學院信息工程系,河南鄭州450000)
基于IDL編程語言實現(xiàn)大地坐標轉(zhuǎn)換
邱俊玲
(河南工業(yè)貿(mào)易職業(yè)學院信息工程系,河南鄭州450000)
由于實際測量時,所使用的儀器不具備自動統(tǒng)一在大地絕對坐標系的功能,采集的數(shù)據(jù)點是以測量點為中心的相對坐標,給研究帶來了不小的麻煩.為了解決這一問題,借用某礦山的三維激光掃描數(shù)據(jù),利用IDL編程語言實現(xiàn)相對坐標與大地絕對坐標的自動轉(zhuǎn)換,自動轉(zhuǎn)換程序大大節(jié)省了建模時間,并滿足實際研究需要,以供后續(xù)研究人員參考.
IDL;數(shù)據(jù)處理;坐標轉(zhuǎn)換
大地坐標系是地質(zhì)測量中以參考橢球面為基準面的坐標系,主要由大地經(jīng)度、緯度和高度構(gòu)成.目前主流的大地坐標系有北京54坐標系、西安80坐標系、WGS-80坐標系等.在進行三維激光掃描測量時,掃描儀所測量的數(shù)據(jù)是以其掃描儀作為基準點的相對三維坐標值,移動位置進行多次測量后,就會造成數(shù)據(jù)坐標的混亂.目前很多地質(zhì)軟件可以實現(xiàn)模型拼接的功能,比如Polyworks、Geomagic等[1],測得的散亂目標數(shù)據(jù)通過軟件進行模型重建、統(tǒng)一在同一坐標系下,即可呈現(xiàn)出原始模型,如同照片所投射的影像一樣,甚至更清晰.但這樣的模型并不具備任何研究價值,為了使目標物具有地質(zhì)意義,研究人員需要將模型所在相對坐標系轉(zhuǎn)換為大地絕對坐標系.現(xiàn)有的軟件要想實現(xiàn)這一功能,有的價格比較昂貴,有的功能不能滿足實際需求[2],迫切需要測量人員自己動手來實現(xiàn).
IDL(Interactive Data Language)作為第四代可視化語言,由于其面向矩陣、語法簡單等特點被廣泛用于三維數(shù)據(jù)可視化、數(shù)值計算、三維圖形建模、科學數(shù)據(jù)讀取等方面[3].IDL是美國ITT公司開發(fā)的高級計算機編程語言,主要用于進行二維及多維數(shù)據(jù)可視化表現(xiàn)、分析及應(yīng)用開發(fā).具體來說,在地球科學、圖像處理、GIS系統(tǒng)、軟件開發(fā)、大學教學等領(lǐng)域,都能看到IDL的身影.
1.1 與多種編程語言對接
在功能上,IDL與VC一樣擁有強大的菜單定制、消息傳遞、類定義等功能;對新手來說,IDL與VB一樣擁有良好的可視化界面、通俗易懂的語言等特點;從可移植性上說,IDL有與JAVA一樣的跨平臺移植性;從熟悉度來說,IDL與FORTRAN的函數(shù)、子程序的調(diào)用,語言風格等很相似;從靈活性上說,IDL與MATLAB一樣封裝了大量的數(shù)學函數(shù);從時代性上說,IDL提供了與OPENGL相媲美的二維、三維圖形圖像類.IDL,可應(yīng)用于小程序的開發(fā),又可用于大型三維圖像的處理.
1.2 易用性和易擴展性
智能工具箱的開發(fā)是IDL發(fā)展的重要一步,工具箱主要包括iPlot、iSurface、iContour、iImage、iVolume等,方便使用者通過鼠標完成數(shù)據(jù)的可視化和分析工作.
1.3 極高的運算效率
由于采用矩陣技術(shù),IDL不單具有高效的編程特點,同時可以自動支持多CPUs機制.
1.4 大數(shù)據(jù)處理
目前對大數(shù)據(jù)的處理要求越來越高,海量的數(shù)據(jù)帶給編程語言更大的挑戰(zhàn).由于IDL完全面向矩陣,因此它可以輕松解決超大數(shù)據(jù)的處理.雖然目前硬件廠商一遍遍刷新自己的容量,宣稱自己的計算機有多大的內(nèi)存,但這實際上是對內(nèi)存的管理而非一次開辟多大的矩陣,所以并不用擔心IDL在現(xiàn)有硬件上的應(yīng)用.
筆者借用某礦山的測量數(shù)據(jù)進行實驗,數(shù)據(jù)采集是通過加拿大Optech公司的ILRIS非接觸式三維激光掃描儀來完成的實景采集.其基本原理是:根據(jù)精密時鐘控制編碼器保證其同時獲取發(fā)射出去的激光光束的水平方向角度α和垂直方向角度β,由脈沖激光發(fā)射到返回所用的時間計算得到距離觀測值S,從獲取掃描反射接收的激光強度,與經(jīng)過校正的彩色相片相結(jié)合,得到對掃描點顏色灰度的匹配.對激光掃描儀而言,采樣時是一般使用儀器自定義的坐標系統(tǒng):即X軸在橫向掃描面內(nèi),Y軸在橫向掃描面內(nèi)與X軸垂直,Z軸與橫向掃描面垂直(如圖1所示)[4-5].由此可得到目標點P的坐標公式為:
圖1 掃描儀工作示意圖
由掃描儀所在的位置作為目標原點,按照機器預先設(shè)置好的精度進行數(shù)據(jù)采集,采集它所目測的區(qū)域內(nèi)物體的三維坐標值,并將坐標數(shù)據(jù)通過內(nèi)置存儲器進行存儲.每一個測量地所測區(qū)域需要有重疊部分,以方便后續(xù)進行實物重現(xiàn)時的拼接.由于該次測量是在露天礦山內(nèi)完成,實地景觀接近,在實物拼接時很難找到標志物,故采用自己制作的紙質(zhì)標靶作為人為標志(如圖2).
整個數(shù)據(jù)采集只是繁雜工作的第一步,下面就面臨大數(shù)據(jù)及數(shù)據(jù)誤差的問題,為了保證模型重建的質(zhì)量,測量者需要首先對數(shù)據(jù)進行預處理.其過程主要包括:噪聲去除、多視拼接、數(shù)據(jù)精簡等操作,在此不再贅述.
三維坐標實景數(shù)據(jù)采集后,通過標志物進行模型拼接,重現(xiàn)后的模型是統(tǒng)一在同一個相對坐標系下的礦山實景圖.然而如果只是在相對坐標下,那么與數(shù)碼相機拍照來的圖片并沒有太大區(qū)別,只有將所有坐標數(shù)據(jù)轉(zhuǎn)換到大地坐標下,才有專業(yè)研究的價值.大地坐標是大地測量中參考橢球面為基準建立的坐標系.它的位置就不再是簡單的X,Y,Z,而是有實際意義的經(jīng)度、維度和高度.在相對坐標轉(zhuǎn)大地坐標時,可以手動將所有點的坐標值進行一一修改,然而面對如此海量的數(shù)據(jù),手動修改幾乎是不可能的.那么如何將如此海量的數(shù)據(jù)自動進行坐標系的轉(zhuǎn)換,就成了研究工作的重中之重.
圖2 紙質(zhì)標靶示意圖
3.1 絕對坐標轉(zhuǎn)換的原理
絕對坐標與相對坐標間的轉(zhuǎn)換關(guān)系如下:(X,Y,Z)T=R(X',Y',Z')T+(ΔX,ΔY,ΔZ)T(1)其中,(X,Y,Z)T相當于大地坐標值,(X',Y',Z')T為相對坐標,R為待求的旋轉(zhuǎn)矩陣,(ΔX,ΔY,ΔZ)T為待求的平移矩陣.
然后將坐標標準化,計算出兩個坐標系的重心坐標:(Xg,Yg,Zg)和(X'g,Y'g,Z'g),以及公共點以重心為原點的重心化坐標:(珚X,珚Y,珚X)和(X',Y',Z').
將(2)代入(1)式可得:
根據(jù)羅德里格矩陣算法的思想,可設(shè):R=
其中,I為單位矩陣,S為反對稱矩陣.
可設(shè)為:
將(4)式、(5)式代入(3)式,即可求得旋轉(zhuǎn)坐標R.
最后代入公式(1)即可求得平移矩陣(ΔX,ΔY,ΔZ)T[6-7].
3.2 坐標轉(zhuǎn)換實例
根據(jù)這一原理,筆者通過對比,將坐標轉(zhuǎn)換的非線性問題轉(zhuǎn)化為矩陣轉(zhuǎn)換的線性問題,這也正是IDL編程語言的優(yōu)勢所在.在計算時簡化了三角函數(shù)和迭代運算,操作簡單,實用性強,且易于編程實現(xiàn).
該次轉(zhuǎn)換是建立在相對坐標系的拼接已完成的基礎(chǔ)上,而所有拼接后的原始坐標數(shù)據(jù)可通過拼接軟件導出為TXT文本格式.利用羅德里格矩陣算法的原理,通過IDL語言進行編程,將導出的文件統(tǒng)一轉(zhuǎn)換在大地坐標系下,完成坐標轉(zhuǎn)換,最后生成新的文本文件,再導入地質(zhì)軟件中即可查看每一個測量點的大地坐標,并可將轉(zhuǎn)換后的文件導入處理軟件中查看及對比坐標誤差.
利用IDL編程語言實現(xiàn)坐標轉(zhuǎn)換的算法(如圖3所示):以三個以上已知點大地坐標作為參考,輸入已知大地坐標對應(yīng)的相對坐標值,通過矩陣計算得到上面公式中的R和T,然后打開軟件導出TXT文本文件進行轉(zhuǎn)換,生成新的目標文本文件.
圖3 IDL編程算法圖示
表1 標記點坐標系轉(zhuǎn)換對比表
通過幾個已知的大地坐標點進行對比,可以看出已知點的實際坐標值與編程轉(zhuǎn)換后的理論坐標值誤差很小,基本控制在1.5m之內(nèi),完全可以滿足研究的精度需要.同時由于IDL編程入門簡單,一個小程序即可完成整個坐標系的轉(zhuǎn)換,只要稍微有一些編程基礎(chǔ)的人員即可輕松上手,可以被廣大研究人員即使是非計算機專業(yè)人員所使用.
在當今大數(shù)據(jù)時代,研究人員完成測量工作進行后期數(shù)據(jù)處理時,往往會遇到各種問題,比如該文所提到的坐標系不一致的問題等.有些問題是可以通過手動逐個解決的,有些問題手動解決費時費力,而通過其他途徑可以事半功倍.該文通過IDL編程語言實現(xiàn)的坐標轉(zhuǎn)換程序,可操作性強、高效、便捷且誤差較小,可以很好地實現(xiàn)不同大地坐標系之間的相互轉(zhuǎn)換,而并不局限于相對坐標系與大地坐標系的轉(zhuǎn)換.但是由于時間倉促、基礎(chǔ)不足,該程序處于研發(fā)初期,還需要后續(xù)更好完善才能被廣泛使用.
[1]羅大兵.逆向工程中數(shù)字化測量與點云數(shù)據(jù)處理[J].機械設(shè)計與制造,2005(9):56-58.
[2]邱俊玲.基于三維激光掃描技術(shù)的礦山地質(zhì)建模與應(yīng)用研究[D].中國地質(zhì)大學,2012.
[3]張嵐,楊斌,高德政.基于IDL的三維地質(zhì)勘查方法[J].地理空間信息,2016,14(3):64-66.
[4]劉春.三維激光掃描對構(gòu)筑物的采集和空間建模[J].工程勘察,2006(4):49-53.
[5]劉春,陳華云.激光三維遙感的數(shù)據(jù)處理與特征提?。跰].北京:科學出版社,2010:21,29,33-35.
[6]徐榮禮,張鈞.逆向工程中散亂點云數(shù)據(jù)處理關(guān)鍵技術(shù)研究[D].江南大學,2006.
[7]張鈞.利用羅德里格矩陣確定三維表面重建中的絕對定向模型[J].紅外與激光工程,1998,27(4):30-32.
TP312
A
1671-9476(2017)02-0131-03
10.13450/j.cnkij.zknu.2017.02.033
2017-02-18;
2017-03-02
邱俊玲(1987-),女,河南鄭州人,助教,碩士,研究方向:計算機應(yīng)用.