■ 趙亮亮 盧文淵
鐵路三維地形及仿真場景快速建立技術(shù)研究
■ 趙亮亮 盧文淵
通過四叉樹空間索引原理計算地形和影像金字塔,實(shí)現(xiàn)三維地形的快速建立和瀏覽,同時根據(jù)既有鐵路三維線位,提出鐵路中線分段投影、三維模型自動匹配等方法,可快速搭建鐵路沿線三維仿真場景。
金字塔;三維地形;分段投影;自動匹配;仿真
當(dāng)前鐵路勘察設(shè)計、施工建設(shè)、后期運(yùn)營均通過二維圖紙的方式進(jìn)行,不能全面參考各方因素,如地形(地物、地貌)、水文、地質(zhì)、交通量、工程投資、運(yùn)營費(fèi)用及環(huán)境和社會等,難以滿足鐵路建設(shè)需求。三維仿真系統(tǒng)直觀性強(qiáng),具有海量數(shù)量的管理能力,能夠以逼真方式查看鐵路沿線地形地貌和設(shè)施設(shè)備狀況,可有效解決上述問題。通過三維方式資料利用率高,參考信息全,因此建設(shè)可用于鐵路規(guī)劃、設(shè)計、施工和運(yùn)營管理全生命周期的鐵路信息可視化仿真場景是發(fā)展所需、時代所趨。
地形數(shù)據(jù)包括DEM和DOM數(shù)據(jù),即數(shù)字高程模型和正射影像。在客戶端展示時,若將海量地形數(shù)據(jù)同時展現(xiàn),客戶端無法同時承受如此大數(shù)據(jù)量的壓力。因此需要對地形數(shù)據(jù)進(jìn)行特殊處理,主要采用基于四叉樹空間索引的方式建立層次格網(wǎng)(金字塔)[1]。高程數(shù)據(jù)和影像數(shù)據(jù)切片方式一樣,此處介紹影像數(shù)據(jù)的切片建立方法。
1.1 基本概念
四叉樹索引基本思想是將地理空間遞歸劃分為不同層次樹結(jié)構(gòu)。將已知范圍空間等分成4個相等子空間,如此遞歸下去,直至樹的層次達(dá)到一定深度或滿足某種要求后停止分割。此方法在空間數(shù)據(jù)對象分布較均勻時,具有較高的空間數(shù)據(jù)插入和查詢效率。
1.2 建立影像數(shù)據(jù)金字塔
影像金字塔指在同一空間參照下,根據(jù)用戶需要,以不同分辨率進(jìn)行存儲與顯示,形成分辨率由粗到細(xì)、數(shù)據(jù)量由小到大的金字塔結(jié)構(gòu)。影像金字塔結(jié)構(gòu)用于圖像編碼和漸進(jìn)式圖像傳輸,是一種基于四叉樹空間索引的分層數(shù)據(jù)結(jié)構(gòu)形式,適合于柵格數(shù)據(jù)和影像數(shù)據(jù)的多分辨率組織(見圖1)。
圖1 金字塔結(jié)構(gòu)及數(shù)據(jù)切片
金字塔建立完成后,為改善客戶端瀏覽效果,需將各層金字塔進(jìn)行切片,大小為256×256。
在鐵路三維地形建立過程中,經(jīng)常需要將鐵路沿線高分辨率航測數(shù)據(jù)和低分辨率衛(wèi)星遙感數(shù)據(jù)進(jìn)行展示。因此在進(jìn)行切片時需要特別注意多分辨率影像結(jié)合展示及接邊問題,處理方法如下:
(1)針對多分辨率影像建立統(tǒng)一切片網(wǎng)格。在影像切片過程中,若多分辨率影像分開切片,則可能造成在同一分辨率切片級別下格網(wǎng)錯位或同一級別切片數(shù)據(jù)的分辨率不同(見圖2)。
圖2 切片錯位
因此,為了保證調(diào)度時后期每層數(shù)據(jù)統(tǒng)一規(guī)范,需要對多分辨率數(shù)據(jù)進(jìn)行統(tǒng)一切片,流程如下:
①切片范圍計算,一般為所有影像的最大外包范圍。
②根據(jù)最大分辨率影像進(jìn)行切片級數(shù)計算最大分辨率影像切片級數(shù)Lmax。一般來說,影像分辨率越高級數(shù)切得越多,其對應(yīng)關(guān)系見表1。但在一般計算過程中,其影像分辨率可能不一定正好為相應(yīng)級數(shù)的分辨率,如分辨率為0.35 m,在表格中找不到相應(yīng)級數(shù),則其切片級數(shù)為大于該分辨率的最近級數(shù),計算公式如下:
式中:δmax為最高影像的分辨率;L為切片級數(shù);min為的最小差值。
表1 切片級別與分辨率對應(yīng)關(guān)系
③按照式(1)的算法,分別計算每張影像的切片級數(shù)。
④根據(jù)Lmax和各影像相應(yīng)影像切片級數(shù)Ln計算各影像區(qū)域的切片格網(wǎng)。當(dāng)相應(yīng)切片級數(shù)還沒有達(dá)到其切片范圍內(nèi)最高分辨率級數(shù)時,則繼續(xù)劃分切片。
(2)切片數(shù)據(jù)計算。計算切片數(shù)據(jù)時,需要顧及高低分辨率結(jié)合展示和接邊問題。處理方法如下:當(dāng)Tn(n表示金字塔層級,Tn為第n層的切片)只位于A影像內(nèi)時,其像素值取A影像;當(dāng)Tn位于A和B影像內(nèi)時,取較大影像分辨率的像素;當(dāng)Tn位于A、B影像交匯處時,相應(yīng)位置像素值取較高分辨率影像像素值(見圖3、圖4)。
圖3 切片劃分計算示意圖
圖4 像素取值
1.3 鐵路沿線三維地形實(shí)時分級顯示
每層的影像和高程金字塔都有其分辨率,計算出進(jìn)行放大(無論是拉框放大、還是固定比例放大)、縮小、漫游(此操作不涉及分辨率的改變)等操作后所需的影像分辨率及在當(dāng)前視圖范圍內(nèi)會顯示的地理坐標(biāo)范圍,然后根據(jù)該分辨率和已經(jīng)建好的影像金字塔分辨率匹配,搜索出最接近的影像金字塔層和地形金字塔層進(jìn)行顯示,并根據(jù)操作后當(dāng)前視圖應(yīng)該顯示的范圍求取在該層影像和高程金字塔上對應(yīng)的切片,然后取出進(jìn)行繪制[2](見圖5)。
圖5 三維地形繪制
2.1 鐵路三維線位恢復(fù)
鐵路是一個空間三維的工程結(jié)構(gòu)物。它的中線是一條空間曲線,其中線在水平面的投影就是平面線形。在線路方向發(fā)生改變的轉(zhuǎn)折處,為了滿足行車要求,需要用適當(dāng)?shù)那€把前、后直線連接起來,這種曲線稱為平曲線[3]。平曲線包括圓曲線和緩和曲線。道路平面線形是由直線、圓曲線、緩和曲線三要素組成。圓曲線是具有一定曲率半徑的圓弧。緩和曲線是在直線與圓曲線之間或兩個不同半徑的圓曲線之間設(shè)置的曲率連續(xù)變化的曲線。在鐵路的縱坡變換處,為了行車平穩(wěn)、改善行車視距,一般采用圓曲線將兩段直線進(jìn)行連接,這種在豎直面內(nèi)設(shè)置的圓曲線稱為豎曲線[4]。豎曲線又有凹形和凸形兩種形式,頂點(diǎn)在曲線之上的為凸形豎曲線,頂點(diǎn)在曲線之下的為凹形豎曲線,其計算方法如下(其中,JD、ZH、HZ、HY、YH為交點(diǎn)、直緩點(diǎn)、緩直點(diǎn)、緩圓點(diǎn)、圓緩點(diǎn)):
(1)從線路數(shù)據(jù)中依次讀取線路起始里程、起點(diǎn)、交點(diǎn)、終點(diǎn)的E坐標(biāo)和N坐標(biāo)、圓曲線半徑、前緩和曲線長、后緩和曲線長,以及變坡點(diǎn)里程和設(shè)計高程、豎曲線半徑和長度;
(2)從起點(diǎn)后的第一個JD開始;
(3)計算ZH、HY、YH、HZ的里程、轉(zhuǎn)角、轉(zhuǎn)角符號(正負(fù))、方位角;
(4)計算JD的曲線長、前切線長、后切線長、外距、切曲,若前后緩和曲線相等則用對稱緩和曲線坐標(biāo)公式計算,不等則用非對稱緩和曲線公式計算;
(5)計算JD的主點(diǎn)HY、YH、HZ的x坐標(biāo)、y坐標(biāo)、z坐標(biāo),里程、切線方位角;
(6)若沒有到達(dá)終點(diǎn),則從下一個交點(diǎn)開始跳至第(3)步。
2.2 鐵路線路坐標(biāo)轉(zhuǎn)換
由于鐵路線路數(shù)據(jù)可能涉及不同坐標(biāo)系,為了在三維系統(tǒng)中正確顯示,需要將這些不同坐標(biāo)系轉(zhuǎn)換到統(tǒng)一坐標(biāo)系下。根據(jù)數(shù)據(jù)情況,有兩種解決方式:
(1)如果原橢球和目標(biāo)橢球都是WGS84橢球,則用高斯反算實(shí)現(xiàn)轉(zhuǎn)換[5]。
(2)如果原橢球不是WGS84橢球,目標(biāo)橢球是WGS84橢球,首先將獨(dú)立坐標(biāo)轉(zhuǎn)換為標(biāo)準(zhǔn)分帶,再轉(zhuǎn)換為WGS84標(biāo)準(zhǔn)分帶,然后按(1)中同樣方法進(jìn)行高斯反算即可[6]。
2.3 三維模型自動匹配
鐵路沿線部分構(gòu)筑物和設(shè)施設(shè)備的模型大都一樣(道砟、軌道板、信號機(jī)、扣件等),因此可針對此類型數(shù)據(jù)建立鐵路模型數(shù)據(jù)庫[7],然后通過其設(shè)計坐標(biāo)快速匹配到三維場景中進(jìn)行展示。其中也存在一些不可復(fù)用的模型,此類模型可將相關(guān)專業(yè)的三維設(shè)計成果導(dǎo)出為統(tǒng)一三維仿真平臺格式,然后再融入三維場景中[8],思路如下:
(1)根據(jù)鐵路三維線位生成可復(fù)用模型(道砟、軌道板、信號機(jī)、扣件)的數(shù)據(jù)索引,包括位置、姿態(tài)和比例尺。
(2)對于不可復(fù)用模型,根據(jù)各專業(yè)三維設(shè)計成果,將其轉(zhuǎn)換為三維仿真場景數(shù)據(jù)格式,并生成坐標(biāo)索引文件[9](見表2)。
表2 索引文件
鐵路各種設(shè)施設(shè)備是設(shè)計人員根據(jù)相應(yīng)地形、地貌、地質(zhì)條件等其他相關(guān)影響因素綜合考慮進(jìn)行設(shè)計的,因此鐵路三維仿真場景的搭建僅根據(jù)模型庫進(jìn)行建設(shè)并不符合實(shí)際。需要集合各專業(yè)三維設(shè)計成果來實(shí)現(xiàn),但各設(shè)計軟件中的模型并不能直接導(dǎo)入仿真系統(tǒng),需要相應(yīng)的二次開發(fā)才能完成。
圖6 Revit模型集成到仿真系統(tǒng)模型示意圖
以Revit軟件為例,分析Revit模型轉(zhuǎn)換為仿真系統(tǒng)格式的思路(其他軟件設(shè)計成果導(dǎo)出可參照此方法進(jìn)行)。RVT格式為Revit系列軟件的存儲格式。RVT格式并不開源,不能直接讀取RVT文件,需要通過對Revit進(jìn)行二次開發(fā)。二次開發(fā)可通過C#、VB.NET、Managed C++語言進(jìn)行,并要引用RevitAPI.DLL和RevitAPIUI.dll[10]。Revit所有類型對象都是從Elememt類派生而來,主要包括模型元素(Model Elements)、基準(zhǔn)元素(Datum Elements)、查看的具體元素(View-specific Elements)三大類。將RVT數(shù)據(jù)轉(zhuǎn)換為三維仿真場景的數(shù)據(jù)格式,由幾何信息轉(zhuǎn)換、材質(zhì)信息轉(zhuǎn)換兩步組成,轉(zhuǎn)換流程如下:
①幾何信息轉(zhuǎn)換。首先,在Revit中遍歷出所有Revit模型構(gòu)件,通過ElementCollector針對每類進(jìn)行過濾;其次,遍歷所有模型,若其Solid不為空,則通過Triangulate函數(shù)進(jìn)行三角分割,可直接獲得頂點(diǎn)坐標(biāo)和三角面片,若為空,則判斷GeometryInstance是否為空,如果不為空則將其變量SymbolGeometry作為GeometryElement重復(fù)上面循環(huán);最后,將幾何信息提取出備用。
②材質(zhì)信息讀?。和ㄟ^Material類,構(gòu)件相應(yīng)過濾器,得到相應(yīng)材質(zhì)元素。
Revit模型集成到仿真系統(tǒng)模型示意見圖6。
(3)根據(jù)索引文件,將各類設(shè)施設(shè)備三維模型導(dǎo)入三維軟件平臺并自動定位。
(4)在三維軟件平臺中對模型微調(diào),完成設(shè)計成果的集成展示(見圖7)。
模型集成到三維場景后,部分涵洞模型或隧道模型可能出現(xiàn)地形淹沒模型的情況,因此需要將地形與模型進(jìn)行融合,完成三維仿真場景的最終建立,實(shí)現(xiàn)流程如下:
第一步:地形三角網(wǎng)建立。
在三維仿真場景中,可采集任意區(qū)域的高程點(diǎn)數(shù)據(jù),根據(jù)該高程點(diǎn)數(shù)據(jù)可建立該區(qū)域的地形三角網(wǎng)模型(TIN)。TIN是一個典型矢量數(shù)據(jù)結(jié)構(gòu),主要通過節(jié)點(diǎn)(地表采樣點(diǎn))、三角形邊和三角形面間的關(guān)系來顯式或隱式表達(dá)底細(xì)功能散點(diǎn)的拓?fù)潢P(guān)系。
第二步:地形三角網(wǎng)與模型三維網(wǎng)求交。
地形三角網(wǎng)與模型三角網(wǎng)求交的目的是將交線求出,并在三維GIS平臺中對地形進(jìn)行開挖。主要通過布爾運(yùn)算進(jìn)行,布爾運(yùn)算是數(shù)字符號化的邏輯推演法,包括聯(lián)合、相交、相減。在圖形處理操作中引用這種邏輯運(yùn)算方法使簡單基本圖形組合產(chǎn)生新的形體(主要采用第三方開源庫(OpenCascad)通過求交實(shí)現(xiàn))。
圖7 模型在3D GIS平臺中展示
模型與地形融合效果示意見圖8。
圖8 模型與地形融合效果示意圖
首先提出一種基于四叉樹空間索引原理,實(shí)現(xiàn)了基于多尺度、多分辨率影像和高程數(shù)據(jù)的三維地形自動生成方法,同時有效避免了切面數(shù)據(jù)錯位和分辨率不統(tǒng)一的問題。其次通過建立鐵路設(shè)施設(shè)備模型庫,根據(jù)鐵路三維線位和相應(yīng)三維設(shè)計軟件的二次開發(fā),生成鐵路模型三維索引文件,將設(shè)計成果快速批量集成到仿真場景。最后通過建立地形三角網(wǎng)和模型三角網(wǎng)并進(jìn)行求交,完成鐵路三維仿真場景的快速搭建。將上述方法應(yīng)用到成昆鐵路、海南東環(huán)高鐵、滬昆鐵路等線路的三維仿真場景建立,結(jié)果表明,采用的研究思路和技術(shù)方案先進(jìn)易用、切實(shí)可行,為鐵路信息化和科學(xué)化管理開辟了新途徑,同時有助于推動鐵路的建設(shè)發(fā)展。
[1] 韓飛.面向虛擬環(huán)境的三維地形生成方法[J].計算機(jī)工程,2010,36(19):261-262.
[2] 佘江峰,陳景廣,程亮,等.三維地形場景并行渲染技術(shù)進(jìn)展[J].武漢大學(xué)學(xué)報(信息科學(xué)版),2012,37(4):463-467.
[3] 石少華.鐵路線路三維可視化建模研究[D].蘭州:蘭州交通大學(xué),2014.
[4] 王金委,曾學(xué)貴,李家穩(wěn),等.鐵路線路設(shè)計中三維可視化輔助設(shè)計系統(tǒng)研究[J].鐵路航測,2002(3):11-14.
[5] 趙長勝.高斯投影坐標(biāo)反算的迭代算法[J].測繪通報,2004(3):16-17.
[6] 鄧興升,湯仲安,花向紅,等.橢球變換后的高斯投影正反算法[J].大地測量與地球動力學(xué),2010,30(2):49-52.
[7] 何莉,易思蓉.鐵路線路視景仿真中構(gòu)造物三維模型庫的研究[J].鐵道勘察,2006(6):25-27.
[8] 張恒,朱軍,徐柱,等.面向高速鐵路的三維模型數(shù)據(jù)庫管理與建模服務(wù)[J].計算機(jī)應(yīng)用研究,2015(9):2 708-2 711.
[9] 朱穎,閔世平,代強(qiáng)玲.面向鐵路行業(yè)三維場景快速構(gòu)建一體化技術(shù)研究[J].鐵道工程學(xué)報,2011(12):4-10.
[10] 張藝晶,杜守軍,趙坤,等.Revit軟件二次開發(fā)和項目上的應(yīng)用研究[J].河北企業(yè),2015(11):121-123.
趙亮亮:中國中鐵二院工程集團(tuán)有限責(zé)任公司,工程師,四川 成都,610031
盧文淵:四川省第二測繪地理信息工程院,助理工程師,四川 成都,610031
責(zé)任編輯 高紅義
TP39
A
1672-061X(2016)03-0065-05