田紅霞
(中煤浙江測繪地理信息有限公司,浙江 杭州 310021)
城市地下管線具有復雜性、隱蔽性、系統(tǒng)性的特點。相比于傳統(tǒng)的二維平面地圖,構(gòu)建地下管線的三維立體模型,則能夠更加清晰、準確、直觀地表達各類地下管線的空間關(guān)系,這就為城市地下管線的敷設(shè)、維護、檢修等工作開展提供了技術(shù)支持。Arc GIS 軟件是現(xiàn)階段三維建模中常用的軟件之一,在城市地下管線的三維建模中,使用GIS 建模技術(shù)不僅能夠構(gòu)建出各種形式的管件模型,而且還能通過計算、分析,讓不同的管件、管線段無縫銜接,從而提高了地下管網(wǎng)的密封性和整體性。
城市地下管線系統(tǒng)由管線段和管件兩部分組成。在模型構(gòu)建時,管線段的形狀規(guī)則、結(jié)構(gòu)簡單,建模相對容易;而管件的形式多樣、結(jié)構(gòu)復雜,是建模的重點和難點。本研究選擇Arc GIS Engine 軟件設(shè)計管件模型,考慮到許多地下管件埋藏較深,獲取其紋理數(shù)據(jù)有一定難度,因此在模型設(shè)計時,首先從Arc GIS Engine 軟件自帶的標準幾何體資源庫中選擇管件模型的組成部分,然后再運用拉伸、拼接等方式,將標準集合體組裝成管件,最后將管件三維模型以3ds 文件保存[1]。以城市地下管線中最為常見的三通管件為例,在構(gòu)建模型時先選擇3 根空心圓柱,然后經(jīng)過拼接、擠壓處理后,即可得到三通管件模型。另外,在設(shè)計管件三維模型時,還要考慮管件模型的尺寸、位置、數(shù)量等相關(guān)因素。例如,在管線相交的位置,如果有3 條管線相交,那么需要對應選擇三通管件模型,分別連接管線;如果要調(diào)整管線的走向,則調(diào)用閥門模型。
為了提高建模效率,理順管線和管點之間的關(guān)系,必須要對城市地下管網(wǎng)模型進行簡化處理。簡化管網(wǎng)模型主要有兩種思路:第一種是簡化管線,即建模時刪除或合并城市地下管網(wǎng)中次要的支線管線,只保留主要管線;第二種是抽象管線,將整個城市地下管網(wǎng)抽象成只有管線和管點組合的模型。以污水管線、燃氣管線為例,均屬于圓柱狀管線。在簡化模型處理的基礎(chǔ)上,可以不考慮這些管線的壁厚,將管線的內(nèi)外徑統(tǒng)一為管線外徑,從而將直管抽象成為圓柱體,極大的減輕了管網(wǎng)建模的工作量。
本研究使用Arc GIS 軟件自帶的Engine 組件構(gòu)建直管三維模型。在建模前,需要借助于市政部門提供的管線資料,或者是通過實地探測的方式,得到地下管線的真實數(shù)據(jù),包括管線的直徑、連接方式、具體走向等。然后將所得數(shù)據(jù)轉(zhuǎn)化成Shapefile 格式的二維管線矢量數(shù)據(jù),并新建文件保存[2]。運行ArcGIS 軟件,并調(diào)用Multipath 數(shù)據(jù)模型,從菜單欄中依次選擇“新建模型”、“導入數(shù)據(jù)”,選擇對應的文件將二維管線矢量數(shù)據(jù)導入后,即可得到直管模型。這里以圓柱狀管線(見圖1)為例,簡要概述基于Multipath 數(shù)據(jù)模型的構(gòu)建流程:
圖1 圓形管構(gòu)造
步驟1:系統(tǒng)讀取所有的管線要素數(shù)據(jù),并從中收集每條管線的屬性數(shù)據(jù),包括管線的起始點坐標、管線的直徑與長度,以及埋設(shè)方式等。
步驟2:選擇接口Vector3D,利用該接口下的Construct Difference 方法,建立一個從A(管線起點)到B(管線終點)的向量;按照同樣的操作,選擇該接口下的Construct Vector3D 方法,求得向量的垂直向量,然后把管徑長度值賦給,即可根據(jù)A 點坐標求得A1點的坐標。
步驟3:測得圖1 中∠A1AA2的值,并使用Transform3D 接口下的Rotate Vector3D 方法,使向量沿著向量的方向旋轉(zhuǎn)45°,然后得到∠A1AA2中A2點的坐標。重復該步驟,依次獲得A3~A10的坐標,這樣就得到了正十邊形各個頂點的坐標。
步驟4:將上圖正十邊形底面上相鄰的2 個節(jié)點(如A1和A2)和頂面距離最短的1 個節(jié)點(B1)連接,可以得到一個平面三角形,即△A1A2B1。重復該步驟,依次得到△A2A3B2等10 個平面三角形。這些三角形分別處于不同的平面,整個圓柱可以看成是一個由多個三角平面首尾相連組成的三角條帶。
步驟5:結(jié)合前期調(diào)查結(jié)果,基于每一條管線的類型、埋深等基本信息,對構(gòu)建的管線三維模型進行渲染,使其呈現(xiàn)出不同的顏色,以便于在城市地下管線模型中加以區(qū)分。最后將管線模型(Feature)轉(zhuǎn)化為幾何對象(Geometry),并添加到三維場景中[3]。在添加時,還需要注意根據(jù)現(xiàn)場環(huán)境,靈活調(diào)節(jié)模型的大小、角度,保證三維直管模型與其他管線段或管件能夠適配。
兩條或多條直徑相同的管線銜接時,建模難度較低。這里以城市地下管線中比較常見的“圓管——圓球——圓管”銜接結(jié)構(gòu)(見圖2)為例,對等徑管線的建模方法進行簡要概述。
圖2 等徑管線銜接建模示意
如圖2,當2 條直徑相同的管線相交于一處時,進行銜接建模。首先確定2 條管線的中軸線,延伸并使其相交于一點,該交點即為銜接圓球的圓心,以管線的直徑作為銜接圓球的直徑。確定了圓心、直徑后,即可建立等徑管線銜接圓球的模型。然后從2 條管線向圓球方向繪制等徑圓管,保證圓管與圓球表面精緊密貼合,最終得到等徑管線銜接模型。在等徑管線的銜接建模中,不需要使用彎管,而是用圓球代替,這樣就極大的減少了運算量。
對于2 條直徑不相同的管線,要想將兩者銜接起來,無法像上文一樣使用規(guī)則的圓球,而是要選用1 條不規(guī)則的彎管。彎管一頭開口較小,連接2 條管線中直徑稍小的一條;另一頭開口較大,連接2 條管線中直徑稍大的一條,見圖3。
圖3 異徑管線銜接建模示意
在三維建模時,彎管通常為圓環(huán)體樣式,基于彎管的異徑管線銜接建模流程如下:首先確定圓環(huán)的基本參數(shù),如圓形坐標、直徑,以及圓環(huán)與直管的夾角等,根據(jù)上述參數(shù)確定圓環(huán)的空間位置。然后如圖3 所示分解圓環(huán)體,使其成為多個大小不等的圓環(huán)體。按照上文所述的“正十邊形”方法,在圓環(huán)體內(nèi)畫出正十邊形,并保證正十邊形的10 個頂點均位于圓環(huán)體的底邊上[4]。做分片處理,求得每個平面三角形的頂點坐標。使用多片頂點坐標構(gòu)建Multipath 對象,可以得到圓柱體的模型。最后將多個直徑不同的圓柱體按照大小順序依次組合,即可得到一個漸變的組合彎管(見圖3)。
3.3.1 圓環(huán)圓心坐標與半徑等參數(shù)的計算 在異徑管線銜接建模時,采用抽象管線處理方法,將2 條在T3處相交的異徑管線簡化成圖4 所示的模型。
圖4 圓弧圓心角計算
在構(gòu)建T1L1和T2L2兩條直管的銜接模型時,第一步要尋找管線銜接處彎管圓環(huán)的中心坐標(O),以及該圓環(huán)的半徑(R)和直管夾角(θ)。根據(jù)這3 項參數(shù)可以確定圓環(huán)的空間位置,具體計算流程如下:
步驟1:將兩條直管分別延長,直到出現(xiàn)交點T3。求出T3的坐標
計算交點T3與T1之間最短距離(S)
步驟2:以向量形式表示三維空間中T3與T1的距離
按照同樣的方法,以向量形式表示三維空間中T3與T2的距離
步驟3:分別用T1和T2的三維單位向量,表示圓環(huán)在三維空間中所處平面的法向量
步驟4:分別選擇2 條抽象管線T1T3和T2T3作為參照,求出垂直于T1T3管線并且指向圓環(huán)圓心O 的向量,表示為
同理,可求得垂直于T2T3管線并且指向圓環(huán)圓心O的向量,表示為
步驟5:根據(jù)圖4,易得圓環(huán)與直管相切處(L1和L2)到兩條直管相交點T3之間的距離S,據(jù)此可以求出這2個切點的空間坐標,分別表示為
根據(jù)向量T1和T2的位置關(guān)系,可以測出兩者之間的夾角θ,求出余弦值
步驟6:根據(jù)夾角θ 求出圓弧中心線所在圓弧的半徑r
步驟7:利用上述計算式求得的各項參數(shù),帶入到彎管圓環(huán)圓形坐標的計算公式中
至此,可以得到圓環(huán)的圓形坐標、半徑等參數(shù),為異徑管線的精確建模提供了數(shù)據(jù)支持,保證彎管無縫銜接2 條直徑不同的直線管。
3.3.2 首個圓柱體頂點坐標的計算 在異徑管線的模型構(gòu)建中,除了通過上文計算求得圓環(huán)的圓心等參數(shù)外,還要進一步繪制圓環(huán)的外表面,達到提高模型精度、保證直管與彎管無縫對接的效果。但是本研究使用的城市地下管線三維模型構(gòu)建軟件Arc GIS Engine 并未提供直接用于繪制圓環(huán)的相關(guān)功能?;诖?,本研究提供了另一種思路:采用不斷分割的方式,將一個固定的圓弧分解成多個圓柱體;隨著分解出來的圓柱體數(shù)量不斷增加,可以將每個圓柱體看作一個正圓柱體[5]。由于這些圓柱體的直徑并不相等,因此仍然按照上文提供的圓管分解方法,將圓柱體表面分解成若干個四邊形,并且保證四邊形的4 個頂點均位于圓柱體上。求出各個頂點的坐標后,繼續(xù)將四邊形分解成三角形,再將三角形按照順序排列,得到三角條帶,在此基礎(chǔ)上可以建立起彎管三維模型。
這里以第一個圓柱體為例,其立體圖和截面剖分圖見圖5。
圖5 圓柱體的立體圖和截面剖分圖
該圓柱體頂點坐標的計算方法如下:根據(jù)上文計算方法,分別求得L1、L2和O 點的坐標后,將3 個點連接起來,即可得到平面三角形L1L2O。在該三角形中使用余弦定理,可以計算出圓環(huán)的圓心角α,其表達式為
根據(jù)圓心角的大小,將圓環(huán)等分成m 段圓柱,則每一段圓柱的圓心角(Φ)可表示為
然后計算圓柱體上4 個頂點的具體坐標;把圓柱體的截面劃分成n 個等份,每一部分圓弧對應的圓心角(ε)可表示為
假設(shè)首個圓柱是位于2 條直管中較細的直管處,那么在圓環(huán)與細管銜接的位置,圓環(huán)的半徑r0就是細管半徑,根據(jù)這一等式可以在兩者的銜接處建立起坐標系。另外,把圓環(huán)的圓心O 作為圓柱體所在坐標系的原點,設(shè)圓環(huán)圓心與銜接處細管頂面圓心的連線方向為x 軸,那么與x 軸垂直、指向圓環(huán)方向的直線即為y 軸,與x-y形成的平面垂直的平面軸線即為z 軸。在該三維坐標系中,假設(shè)原點O的坐標表示為O(x0、y0、z0),那么任意一個頂點A的坐標可表示為A(x1、y1、z1),其中x1、y1、z1的值分別由以下等式求得
在求出頂點A 的三維坐標后,可按照上述方法繼續(xù)求得其他3 個頂點B、C、D 的三維坐標,這樣就可以確定圓柱上所有頂點坐標。
3.3.3 后續(xù)圓柱體頂點坐標的計算 在計算得到首個圓柱的頂點坐標后,后續(xù)其他圓柱的頂點坐標計算方法與此類似。需要注意的是,后面的圓柱半徑呈現(xiàn)出遞增趨勢,因此在實際計算時還應考慮半徑變化對頂點坐標計算帶來的影響。這里簡要概述后續(xù)圓柱的頂點坐標計算流程:
步驟1:分別獲取2 條直管的半徑,設(shè)較細的直管半徑為r1,較粗的直管半徑為R1。按照上文提供方法,對該圓環(huán)進行劃分,將其分解成n 段。則每一段圓柱半徑的增加量?r 的計算公式為
步驟2:假設(shè)當前已經(jīng)完成繪制的圓柱體個數(shù)為p,則當前的圓柱半徑(rm+1)可用下式求出
在求出rm+1的值后,可以根據(jù)上文提供的方法計算出該圓柱4 個頂點的具體坐標。在計算頂點坐標時要注意,公式中的α 不是圓柱的圓心角,而是當前圓柱之前所有圓柱圓心角的和。例如,在求解第3 個圓柱體的頂點坐標時,公式中α 為第1 個和第2 個圓柱的圓心角之和。
按照上述方法求出彎管處全部圓柱的頂點坐標后,繼續(xù)將4 個頂點構(gòu)成的四邊形做拆除處理,得到2 個三角形。然后把所有的三角形按照順序連接,即可得到三角形帶。利用三角形帶建立Triangle Strip 結(jié)構(gòu)的Multipath 對象,即可繪制最終的彎管模型。根據(jù)上述計算方法可以發(fā)現(xiàn),異徑管線銜接建模中使用到的彎管,其精細程度主要取決于兩個因素,即劃分出來的圓柱個數(shù)、圓柱表面劃分的四邊形個數(shù)。彎管精細程度與這兩個因素呈正相關(guān),建模時要想得到足夠精確的彎管模型,必須要盡可能的劃分多個圓柱,并在每個圓柱上盡可能多的劃分四邊形,才能保證彎管與2 條異徑直管無縫銜接。當然,彎管越精細,意味著計算量越大,建模效率相應降低,因此在實際建模中需要根據(jù)建模需求合理確定圓柱個數(shù)和四邊形個數(shù),在建模精度與建模效率上達到統(tǒng)籌兼顧。
城市地下管線在投入運行以后,由于管材老化或外力破壞等因素的影響,可能會出現(xiàn)爆管情況。這時需要精確鎖定爆管位置,然后及時采取修復措施,將管線介質(zhì)泄漏帶來的負面影響降至最低。基于ArcGIS 建模的三維爆管分析技術(shù),通過建立幾何網(wǎng)絡模型的方式,用若干的點和線來表示地下管線的長度、流向。基于ArcGIS建模的爆管位置尋找流程為:
首先在建立起來的幾何網(wǎng)絡中設(shè)置一個網(wǎng)絡標記,該標記包含了多種特征元素,例如特征ID、特征Sub 等,因此每個網(wǎng)絡標記可對應唯一確定的爆管位置。然后利用沿線百分比參數(shù),找出爆管點所屬的爆管線,并標記該爆管線的起止點。在幾何網(wǎng)絡模型中,管線可以顯示內(nèi)部介質(zhì)的流向,這樣就可以利用ArcGIS 提供的網(wǎng)絡流量追蹤接口,沿相反的方向查詢距離最近的節(jié)點。這樣一來,維修人員就可以及時關(guān)閉節(jié)點閥門,一方面是及時控制管線介質(zhì)泄漏,減少資源損失;另一方面也能為后續(xù)的管線維修作業(yè)創(chuàng)造有利條件。由此可見,基于ArcGIS 建模的三維爆管技術(shù),可以快速、準確找到爆管位置,在城市地下管線的日常檢修和故障維修中發(fā)揮了重要作用。
基于GIS 技術(shù)構(gòu)建城市地下管線的三維模型,可以使各類管線的空間關(guān)系變得更加清晰,保證管線段與管件之間的更加適配,從而為下一步城市地下管線的施工提供重要依據(jù),本研究選擇Arc GIS Engine 軟件進行了城市地下管網(wǎng)三維模型的構(gòu)建,并重點介紹了等徑管線和異徑管線的銜接建模方法。從實踐來看,在等徑管線的建模中,可以使用圓球銜接,需要保證圓球直徑與兩端管線直徑保持一致;在異徑管線的建模中,則需要使用彎管銜接。本研究提出了一種劃分圓柱,并在圓柱表面劃分四邊形的分解方法構(gòu)建彎管模型,通過計算合理確定圓柱及四邊形的個數(shù),使彎管精度達到建模要求,實現(xiàn)了異徑管線的順利銜接。