劉一飛 江文萍 馬家俊 黃欣然 夏竹君
(1.武漢大學(xué) 資源與環(huán)境科學(xué)學(xué)院, 湖北 武漢 430079; 2.中國地質(zhì)大學(xué)(武漢)地理與信息工程學(xué)院, 湖北 武漢 430074)
當(dāng)今,隨著城市化進程不斷加劇,傳統(tǒng)的平面交通道路不足以滿足急劇增多的機動車通行需求,修建越來越多的立交橋,以緩解擁堵,提高城市交通水平,立交橋?qū)τ诔鞘邪l(fā)展有重大意義[1]。隨著立交橋數(shù)量的不斷增多,其三維可視化也成為數(shù)字城市、智慧交通和三維地理信息系統(tǒng)等領(lǐng)域的重要課題。各類立體交通設(shè)施不斷發(fā)展,為了更大化地提高交通運輸效率,根據(jù)不同的地形與地理位置環(huán)境,各式各樣的立交橋被修建[2]。一些復(fù)雜立交橋甚至難以用平面圖進行表達,因此,對立交橋三維模型構(gòu)建有了更高的要求。
目前主要的立交橋三維模型構(gòu)建方法為依靠人工使用計算機輔助設(shè)計等方式手動建模[3],以及使用車載、機載等平臺搭載遙感傳感器進行數(shù)據(jù)采集并建模[4-5]。對于人工建模法,雖然能夠構(gòu)建出效果逼真、精細的立交橋模型,但建模過程需要耗費大量的人力和時間[6]。對于遙感類的建模方法,雖然能實現(xiàn)模型的高效構(gòu)建,但是需要進行額外的外業(yè)作業(yè)并投入大量的物力資源[7]。為此,亟須一種效率高、低成本的三維立交橋模型構(gòu)建方法。
相比于三維地理信息數(shù)據(jù),二維基礎(chǔ)測繪測量數(shù)據(jù)和數(shù)字表面模型(Digital Surface Model,DSM)數(shù)據(jù)較為容易獲取。因而,本文提出了一種利用立交橋中心線及相應(yīng)寬度、立交橋范圍的數(shù)字表面模型進行復(fù)雜立交橋三維模型快速構(gòu)建的算法和方案,基于三維開源圖形渲染引擎(OpenSceneGraph, OSG)實現(xiàn)立交橋面模型的自動化構(gòu)建和顯示。
立交橋形式多種多樣。通常情況下,可按相交道路是否互通分為分離式立交和互通式立交。而互通式立交又可分為完全互通式立交和部分互通式立交[8]。完全互通式立交涉及多條車道交錯,直接根據(jù)俯視圖較難對其車道走向進行直接辨識。而且多數(shù)完全互通式立交為多枝多層,利用傳統(tǒng)方法對這類立交橋建模更為困難。完全互通式立交橋按照外形劃分,其代表有苜蓿葉形、菱形、喇叭形等[9]。因此,為說明建模方案的有效性與適用性,本文選取較為復(fù)雜的苜蓿葉形與菱形立交進行建模分析。實驗數(shù)據(jù)形態(tài)(中心線)俯視如圖1所示。

圖1 立交橋俯視圖
立交橋中心線及中心線對應(yīng)的立交橋?qū)挾容^易獲取,進而采用立交橋區(qū)域位置的DSM數(shù)據(jù),處理得到含有高程信息的點要素數(shù)據(jù)[10]。因此,本文方法立交橋面建模選用的數(shù)據(jù)為帶有寬度字段的立交橋中心線Shape格式折線數(shù)據(jù),以及立交橋區(qū)域內(nèi)帶有高程字段的Shape格式離散點數(shù)據(jù),如表1所示。

表1 立交橋建模所需數(shù)據(jù)
由于互通式立交橋整體相對復(fù)雜,為更加準(zhǔn)確地說明立交橋建模流程和算法,本章節(jié)選取一段立交橋局部區(qū)域詳細說明立交橋面模型構(gòu)建。
由立交橋中心線及橋面寬度屬性可確定立交橋二維形態(tài)。為使立交橋中心線數(shù)據(jù)在三維層面延展,可根據(jù)高程點數(shù)據(jù)對其高程進行提取、計算和賦值。因為與橋面位置范圍一致的高程點所表達的高程信息為橋面的真實高程,所以首先要將上述與橋面的位置范圍一致的高程點進行篩選。
對全部高程點初篩,得到立交橋外接矩形范圍內(nèi)的高程點集P。然后,分別計算高程點集P中每個高程點Pi到每條立交橋中心線Lj的距離。因Lj是由多段折線構(gòu)成的折線段,所以需要求Pi到Lj中每一折線段的距離,并記dij為Pi到Lj中各線段距離的最小者。如圖2所示的局部區(qū)域,分別計算P1到線L1和L2中各線段的距離,用虛線表示。其中點到折線段最近距離用更深顏色的虛線標(biāo)出,并分別標(biāo)記為d11和d12。設(shè)立交橋中心線段Lj寬度的一半為wj,若dij≤wj,則認為高程點Pi為立交橋中心線段Lj的有效高程點,并將Pi與Lj互稱相關(guān)。在圖2的示例中,P1與L2相關(guān)。

圖2 橋面相關(guān)高程點的計算


圖3 高程點的吸附計算
根據(jù)求得的實際高程點,經(jīng)線性內(nèi)插法,得到立交橋的整體高程情況[11]。以每一條立交橋中心線端點作為起點,對每一條線建立道路線性參考坐標(biāo)系[12]。在線性坐標(biāo)系下,可計算出上文中求得的立交橋中心線實際高程點的線性參考坐標(biāo)值。再利用線性坐標(biāo),找到距離每一折線段節(jié)點最近,即線性坐標(biāo)差值最小的前后兩高程點進行線性內(nèi)插,得到立交橋中線各折線段節(jié)點的高程值。
以立交橋中心線為軸線,橋面寬度的一半為半徑構(gòu)造緩沖區(qū),得到中心線兩側(cè)的緩沖區(qū)邊線,即立交橋邊線。一般地,立交橋兩側(cè)邊線的折線段節(jié)點高程值應(yīng)與中心線對應(yīng)位置的折線段節(jié)點高程值一致[13]。分別對立交橋邊線折線段節(jié)點進行高程值的賦值,得到了具備三維屬性的立交橋邊線。
以立交橋兩側(cè)邊線的折線段節(jié)點作控制點,以立交橋兩側(cè)邊線作約束邊,構(gòu)建約束Delaunay三角網(wǎng)[14]。三角網(wǎng)應(yīng)分段構(gòu)建,即依次對每一段立交橋中心線對應(yīng)的邊界進行構(gòu)建。由此得到分段的立交橋面不規(guī)則空間三角網(wǎng)。
而在實際場景中,立交橋橋面各處的寬度并非一致,且立交橋中存在多段道路交匯的場景。僅通過立交橋邊線逐段構(gòu)建空間三角網(wǎng)得到的橋面在不同段道路交匯的位置會出現(xiàn)銜接異常,具體體現(xiàn)在道路變寬變窄的情況,以及多條道路交匯、匝道位置。因此,需要對立交橋交匯銜接位置進行優(yōu)化[15]。
為識別立交橋各處交匯情況,將每一座立交橋按照圖結(jié)構(gòu)進行存儲。每一立交橋中心線作為圖的邊,而立交橋中心線的端點位置作為圖結(jié)點[16]。下文對橋面寬度變化位置和匝道合并位置的三角網(wǎng)優(yōu)化進行說明。
2.2.1橋面寬度變化位置的三角網(wǎng)優(yōu)化
橋面寬度變化主要出現(xiàn)在兩條立交橋中心線的銜接處,對應(yīng)于立交橋圖結(jié)構(gòu)中結(jié)點度數(shù)為2的情況。由于不同段立交橋中心線具備不同的寬度,依據(jù)此形成的橋面空間三角網(wǎng)寬度也會不同。
對于某段待優(yōu)化的單側(cè)變窄局部立交橋面,經(jīng)橋面三角網(wǎng)生成過程,已經(jīng)得到的空間三角網(wǎng)在平面上的投影如圖4(a)所示,為了便于后文中的敘述,將圖中上側(cè)的道路稱為“較窄道路”,而下側(cè)的道路稱為“較寬道路”。首先移除較窄道路的三角網(wǎng),并將較窄道路的中心線控制點按序標(biāo)出,結(jié)果如圖4(b)所示。接著,從交匯的位置點1出發(fā),沿較窄道路立交橋中心線向上找到與其最近的控制節(jié)點2。從較窄道路的立交橋中心線控制節(jié)點集中移除節(jié)點1,將節(jié)點2作為較窄道路立交橋中心線端點,并重建較窄道路面三角網(wǎng),如圖4(c)所示。從較寬道路三角網(wǎng)中,找到節(jié)點1對應(yīng)的立交橋邊線控制節(jié)點,命名為節(jié)點A,B;從較窄道路三角網(wǎng)中,找到節(jié)點2對應(yīng)的立交橋邊線控制節(jié)點,命名為節(jié)點C,D,并將A,B,C,D組合為多邊形,如圖4(d)所示。最后,在這一多邊形內(nèi)部構(gòu)建空間三角網(wǎng),得到優(yōu)化后的交匯面,整體效果如圖4(e)所示。

圖4 橋面寬度變化位置三角網(wǎng)優(yōu)化過程
2.2.2橋面匝道合并位置的三角網(wǎng)優(yōu)化
在立交橋中,通常將相交的主要道路稱干線(主線),相交的次要道路稱支線(引線),連接干線與支線互通的線路稱為匝道[17]。它們對應(yīng)立交橋圖結(jié)構(gòu)節(jié)點度數(shù)為3的情況。其優(yōu)化過程涵蓋干線支線的識別、交匯平滑過渡、支線交匯合并、支線重組分離與連通區(qū)域構(gòu)建等工作,最終得到過度均勻并符合實際情況的匝道三角網(wǎng)。
對于某匝道交匯,經(jīng)橋面三角網(wǎng)生成過程,得到的空間三角網(wǎng)在平面上的投影(粗實線)如圖5(a)所示。記圖5(a)中上方的道路L1為干線,而下方面的兩條道路L2與L3為支線。進而,找到交匯位置處干線的兩立交橋邊線端點,即圖5(b)中的點A和B。并找到交匯位置處兩支線外側(cè)的立交橋邊線端點,即圖5(b)中的點C和D。將點C移至A處,點D移至B處,得到結(jié)果如圖5(c)所示。對兩支線橋面三角網(wǎng)的二維投影進行多邊形裁剪操作,按照區(qū)域取并處理,并將兩支線內(nèi)側(cè)邊界的交點設(shè)為點O,得到結(jié)果如圖5(d)所示。
隨后,從O點向支線的合并邊界線兩外側(cè)做垂線,分別相交于兩支線的中心線于點M,N,垂足為P,Q,如圖5(e)所示。兩支線的起始端點不變,將M,N作為兩支線的末端點重建三角網(wǎng),得到新的支線道路三角網(wǎng),如圖5(f)所示。最后,清除A,B,P,Q、O五點組成的區(qū)域內(nèi)的所有三角網(wǎng)及邊線要素,并在此區(qū)域重新進行三角網(wǎng)的構(gòu)建,得到優(yōu)化后的匝道交匯面,最終結(jié)果如圖5(g)所示。

圖5 橋面三路交會位置三角網(wǎng)優(yōu)化過程
而度數(shù)大于3的其他交匯情況與匝道的優(yōu)化基本相同,在提取一條干線和多條支線后,對支線做相似處理即可對匝道處橋面三角網(wǎng)完成優(yōu)化。
根據(jù)上述方法對立交橋?qū)挾茸兓恢眉霸训肋M行處理,實現(xiàn)橋面空間三角網(wǎng)的創(chuàng)建。
為實現(xiàn)三維立交橋面模型實現(xiàn)自動化構(gòu)建,本文在技術(shù)上采用OSG三維渲染引擎。OSG是一個專為3D計算機圖形開發(fā)而設(shè)計的高層次的可編程接口,廣泛用于虛擬仿真、動畫設(shè)計以及各種可視化程序中。OSG具備快速開發(fā)、較高的渲染性能等優(yōu)勢[18]。
每段道路構(gòu)建過程如下。首先,依據(jù)道路三角網(wǎng)、兩側(cè)道路邊線構(gòu)建出立交橋道路面,因橋面有一定的厚度,因此,還需要將道路面向z軸方向平移一定距離,創(chuàng)建立交橋底面。對于立交橋道路面,可以依據(jù)左右邊界和中線進行紋理綁定,根據(jù)不同的道路寬度及車道屬性,采用不同類別車道線紋理樣式進行可視化;對于立交橋底部,采用水泥墻面樣式紋理。而后,構(gòu)建立交橋道路兩側(cè)墻體,設(shè)置墻體面的高度為道路底面創(chuàng)建過程的平移距離,然后根據(jù)道路面的邊界線折點進行創(chuàng)建。墻體的紋理同樣采用水泥墻面樣式。由此,得到的一段三維道路面,如圖6所示。

圖6 三維道路面
為了得到完整立交橋三維模型,還需進行橋墩、橋側(cè)護欄和指示牌等立交橋附屬設(shè)施三維模型的創(chuàng)建[19]。這些附屬設(shè)施模型可根據(jù)二維基礎(chǔ)測繪數(shù)據(jù)中相應(yīng)的點要素調(diào)取模型庫中的三維模型,或人工進行標(biāo)記建模。由此,實現(xiàn)高效且便于操作的三維立交橋模型交互構(gòu)建。
根據(jù)實驗數(shù)據(jù)的苜蓿葉型與菱形立交進行立交橋模型的實例,結(jié)合本文方法進行三維橋面模型構(gòu)建。利用優(yōu)化后的空間三角網(wǎng)進行建模和貼圖,并基于OSG實現(xiàn),最終得到的整體效果和細節(jié)示意如圖7所示。

圖7 苜蓿葉形立交(左)與菱形立交模型及細節(jié)
上述整個建模過程無須人工干預(yù),僅需要將數(shù)據(jù)導(dǎo)入程序,便可以根據(jù)建模算法自動化完成。
本文提出了一種復(fù)雜立交橋三維橋面模型的構(gòu)建方法,根據(jù)這一方法,僅需通過二維基礎(chǔ)測繪測量數(shù)據(jù)中的立交橋中心線及對應(yīng)寬度、DSM數(shù)據(jù)即可自動化完成三維立交橋橋面的建模。在此基礎(chǔ)上,用戶可以通過3DsMax等軟件對生成的橋面模型進行編輯,從而高效構(gòu)建更加精細的模型。
立交橋三維模型快速構(gòu)建方法中的自動化三維橋面構(gòu)建算法總結(jié)為:首先,提取DSM中與立交橋相關(guān)的有效高程點;然后,按立交橋中心線和橋面進行緩沖區(qū)拓寬得到橋面三角網(wǎng);進而,進行橋面三角網(wǎng)交匯位置的處理。利用得到的橋面三角網(wǎng)在OSG中進行貼圖和可視化,從而完成三維立交橋橋面模型的構(gòu)建。
在我國立交橋、高架橋數(shù)量急劇增長的今天,其三維模型的快速構(gòu)建的需求更為迫切。依據(jù)本文提出的方法,可以自動化快速生成立交橋的粗模,并經(jīng)相對便捷的人工操作就可以得到立交橋的橋面精細模型,從而應(yīng)用于三維城市建模、智慧城市等多個領(lǐng)域。但是這一方法依然存在不足之處,如構(gòu)建的橋面模型在匝道交匯銜接的位置難以得到絕對真實的效果,橋面底部和側(cè)面只能以一種固定的模式呈現(xiàn),其附屬設(shè)施如橋墩及指示牌等還未能可視化呈現(xiàn)。后續(xù)的研究將針對這些不足進行完善,從而得到一個更加完備的立交橋自動化建模方法,建立更加精細的立交橋三維模型。