陳 新,曾 濤,曹澤寧,屈茜茜,肖 抒
(1.河南省地質(zhì)調(diào)查院,河南 鄭州 450000;2.河南省城市地質(zhì)工程技術(shù)研究中心,河南 鄭州 450000;3.鄭州大學(xué) 水利與環(huán)境學(xué)院,河南 鄭州 450000)
在數(shù)字地球的背景下,對地球時空的信息表達也日趨豐富,這些全方位的數(shù)據(jù)信息包含地上、地表和地下的多源數(shù)據(jù),結(jié)構(gòu)各異,往往體量巨大。大數(shù)據(jù)時代的來臨,使得數(shù)字地球平臺能隨時隨地查詢?nèi)蛉魏蔚胤降牡乩砜臻g信息[1]成為可能。為了更加直觀地表達這些多源信息,往往通過三維模型給予展示。模型結(jié)構(gòu)不僅是對現(xiàn)實世界形態(tài)上的模擬,而且是對地球時空專題特征的體現(xiàn)。
從數(shù)據(jù)結(jié)構(gòu)上來看,各種平臺軟件建立的三維地層模型可分為兩大類;①通過三角網(wǎng)格組成的面來表達結(jié)構(gòu),這種結(jié)構(gòu)能很好地模擬出實物的表面形態(tài),卻很難表達模型內(nèi)部的屬性特征,通常稱為面矢量模型,嚴格意義上其并不是真三維,但由于這種結(jié)構(gòu)的模型可減少冗余數(shù)據(jù),形態(tài)上對特征表面表達的精度較高,因此以往的三維模型多采用這種結(jié)構(gòu);②結(jié)構(gòu)由規(guī)則或不規(guī)則的體元組成的三維模型,稱為體元模型,這種結(jié)構(gòu)是真三維,三維模型內(nèi)部的任何地方均由體元結(jié)構(gòu)組成,能很好地表達模型內(nèi)部的相互關(guān)系,并可融入各種多源數(shù)據(jù),但早期由于數(shù)據(jù)量巨大、占用內(nèi)存空間,而并未得到太多的應(yīng)用。隨著計算機軟硬件的更新?lián)Q代,這種以體元為數(shù)據(jù)結(jié)構(gòu)的三維模型,在形態(tài)、屬性和多源數(shù)據(jù)上均可得到更好的應(yīng)用[2-3]。
為了充分發(fā)揮體元模型的優(yōu)勢,實現(xiàn)對數(shù)字地球的真三維表達,本文將面矢量三維模型轉(zhuǎn)化為基于修正球體大圓弧八叉樹剖分(SGOG)編碼的三維體元模型,并在OSG環(huán)境下實現(xiàn)了三維模型的一體化顯示。
體元模型的常見數(shù)據(jù)結(jié)構(gòu)包括四面體網(wǎng)格結(jié)構(gòu)、八叉樹結(jié)構(gòu)、三棱柱結(jié)構(gòu)、廣義三棱柱結(jié)構(gòu)等。為了建立統(tǒng)一的數(shù)字地球平臺,首先可對現(xiàn)實世界進行體元剖分,這樣體元模型就是剖分出來的現(xiàn)實世界的一部分,模型中的任何部分都可由剖分后的體元對應(yīng)起來,整個數(shù)字地球平臺可隨時定位到模型里的任意位置;再根據(jù)不同的專題需要,對模型的任意體元部分加入不同的專題屬性。
針對地球剖分網(wǎng)格(ESSG)[4]的剖分方式已有很多的研究,其原理為通過地球的統(tǒng)一定位框架對地球進行瓦片剖分,同時實現(xiàn)對空間數(shù)據(jù)的一體化管理??紤]到全球地球剖分的系統(tǒng)性,還需實現(xiàn)地上、地表、地下實體的統(tǒng)一表達,本文選用SGOG編碼。SGOG編碼屬于ESSG的一種方式,首先利用大圓弧中QTM八叉樹對地球球面進行八等分,再利用遞歸的原理對每個剖分出來的部分繼續(xù)進行八叉樹剖分,直到得出需要的體元大小,剖分結(jié)束。剖分后的網(wǎng)格相對于球心分布均勻、結(jié)構(gòu)單一、拓撲關(guān)系一致,建立模型時,既可模擬出模型表面的起伏,具備TIN的表現(xiàn)形式,又包含體元的特征結(jié)構(gòu),易于管理[5-6]。
實現(xiàn)體元模型在全球空間剖分后的定位,還需對剖分后的體元進行編碼。通過這些特定的編碼規(guī)則,既保證了任意體元的唯一性,又實現(xiàn)了與空間直角坐標系的相互轉(zhuǎn)換,更加符合以往的認知習(xí)慣,使得以傳統(tǒng)坐標系做出的工作成果得以延續(xù)。SGOG網(wǎng)格采用改進后的固定方向編碼[7]方式,由圈層碼、八分體標識碼、球面位置和徑向深度編碼4個部分組成,從而保證編碼是地球空間指定位置到空間坐標的唯一映射。編碼轉(zhuǎn)換過程中,三角網(wǎng)剖分層次為num,徑向剖分層次為Lnum,轉(zhuǎn)換算法流程如圖1所示。
圖1 修正SGOG編碼與空間直角坐標系之間的轉(zhuǎn)換算法
以編碼“1_1031012012231323_00000000000000001111”為例,地球半徑R=6 371 393.0 m,具體解碼過程為;
1)提取修正SGOG編碼,并將編碼分為3個部分,分別為1、1031012012231323和00000000000000001111。
2)讀取圈層碼“1”,轉(zhuǎn)換為十進制2,確定R內(nèi)=R,R外= 2R。
3)提取第三部分徑向碼00000000000000001111,依次逐字符提取字符,并進行數(shù)值計算,若為“0”,則R外=(R內(nèi)+R外)/2;若為“1”,則R內(nèi)=(R內(nèi)+R外)/2,直到提取結(jié)束。計算編碼對應(yīng)體元的內(nèi)外半徑;
4)提取第二部分第一位編碼為卦限碼(1),確定初始球面三角形為第二卦限,外層3個頂點的初始坐標分別為(-R外,0,0)、(0,R外,0)、(0,0,R外),內(nèi)層3個頂點的初始坐標分別為(-R內(nèi),0,0)、(0,R內(nèi),0)、(0,0,R內(nèi))。
5)提取第二部分第二位編碼至第二部分編碼結(jié)束為面源碼(031012012231323),依次逐字符讀取字符,根據(jù)面源碼計算規(guī)則,進行二分還原迭代循環(huán)。最后得到編碼對應(yīng)體元的外層頂點空間直角坐標分別為(-2 110 053,4 802 054,3 617 160)、(-2 110 079,4 801 771,3 617 520)、(-2 109 737,4 801 999,3 617 417),內(nèi)層頂點空間直角坐標分別為(-2 110 050,4 802 047,3 617 156)、(-2 110 077,4 801 765,3 617 516)、(-2 109 735,4 801 993,3 617 413)。
本文以鄭州航空港某區(qū)域為建模范圍,根據(jù)已有的鉆孔數(shù)據(jù)進行三維地層建模。模型由矢量面構(gòu)成,其表面結(jié)構(gòu)為TIN三角形。建模結(jié)果如圖2所示。
圖2 面矢量三維地層模型
由上述三維地層模型的坐標信息得到相應(yīng)位置的修正SGOG編碼,在Windows7系統(tǒng)下,利用VS2010和開源三維圖形工具包OSG搭建編譯環(huán)境,實現(xiàn)了三維體元模型的轉(zhuǎn)換(圖3)。
圖3 基于修正SGOG編碼的三維地層模型
模型的表達方式越來越趨向于多樣化,以往構(gòu)建的模型僅在某一領(lǐng)域得以應(yīng)用,或只是一種專題屬性的表現(xiàn),加上模型構(gòu)建平臺的局限性,使得模型的應(yīng)用范圍更為狹小。通過修正SGOG編碼對模型進行轉(zhuǎn)換,可使模型以體元的形式呈現(xiàn)。與轉(zhuǎn)換前的模型相比,具有兩個方面的意義;①解決了面矢量三維模型內(nèi)部結(jié)構(gòu)無法表達、非真三維的問題,利用體元結(jié)構(gòu)代替了矢量結(jié)構(gòu),通過修正SGOG編碼可隨時定位到模型里的任何位置;②擴展了以往模型的應(yīng)用范圍,不同平臺上的模型均可通過修正SGOG編碼加以轉(zhuǎn)換,使得不同專題屬性的模型可在同一平臺上實現(xiàn)數(shù)據(jù)共享,為大數(shù)據(jù)跨行業(yè)的綜合分析提供了一體化管理方式。