楊振杰 原瑞紅 朱澤宇 韓 松 李媛媛
(中國兵器工業(yè)北方勘察設計研究院有限公司,河北石家莊 050011)
隨著數(shù)字化城市概念的提出,我國所有行業(yè)積極跟進,其中地下管線是一個城市重要的基礎設施,它承載著信息傳遞,資源輸送等主要職能,是一個城市的神經(jīng)和血管,保證著城市的正常運轉(zhuǎn)和活力。傳統(tǒng)的二維管線成果很難反映各專業(yè)管線之間的實際空間關系,并且圖紙專業(yè)性較強,對非專業(yè)人士不夠友好。地下管網(wǎng)的三維可視化很好地解決了這些問題,對地下實際情況的還原,結合屬性、權屬等信息的顯示,更加直觀且方便快捷[1-2]。管網(wǎng)的三維可視化主要有兩種方法,一種是直接用3ds Max 進行繪制,適用于小規(guī)模簡單管線建模,附屬屬性相對較少;另一種是利用起止點位置進行繪制,徐亞軍等[3]、唐莉萍等[4]、張玉紅等[5]使用Skyline 相應接口進行管線段建模,一些單體化模型使用3ds Max 進行精細化建模,此方法適用于大范圍管網(wǎng)建模,但是針對大批量的起止管點數(shù)據(jù)獲取問題,均未提供高效準確的自動化獲取方法,僅停留在信息系統(tǒng)的整合方法研究上。管點數(shù)據(jù)的快速獲取問題極大地阻礙了管線段自動化建模的進程。針對柱形管線,本文根據(jù)第二種方法進行前期管點數(shù)據(jù)轉(zhuǎn)換方法創(chuàng)新,對大批量管點數(shù)據(jù)的快速制作方法進行研究。
Skyline 是可以實現(xiàn)從二維數(shù)據(jù)到三維真實模擬轉(zhuǎn)換的三維數(shù)字地球平臺軟件。Skyline 系列產(chǎn)品的TerraExplorer 是基于互聯(lián)網(wǎng)和本地環(huán)境的多元地形模型瀏覽、分析、編輯和發(fā)布工具,其開發(fā)接口(API)提供了一種集成TerraExplorer 和自定義應用程序的強大方式[6-7],可以為訪問外部資源創(chuàng)建擴展?;贑OM 協(xié)議的所有接口均可進行二次開發(fā)。
以外業(yè)測繪調(diào)查的二維數(shù)據(jù)為基礎,通過數(shù)據(jù)庫連接以及軟件接口,根據(jù)起始和終止位置、尺寸等主要特征參數(shù)進行圓柱或者四棱柱的自動繪制,以此立體圖形代替圓柱形管線和管溝,從而完成地下管線的可視化。由于圓柱和四棱柱兩種柱體繪制方法僅在程序代碼上存在微小差異,制作原理和過程均類似,因此本文以圓柱形管線為例進行討論??紤]到項目側重點和計算機計算壓力,選擇TerraExplorer Pro中ISGWorld701 接口,利用CreateCylinder 方法創(chuàng)建圓柱體[7],以此代替精細化圓形管線的繪制。其中以圓柱體的直徑表示圓形管線的管徑,圓柱體的“高程值+半徑”表示地下圓形管線的埋深,圓柱體的“高程值-半徑”表示架空圓形管線的凈空高,管點數(shù)據(jù)中各屬性字段可根據(jù)實際需求和調(diào)查情況進行定義,三維管線自動生成流程見圖1。
圖1 三維管線自動生成流程
通過數(shù)據(jù)庫讀取管點數(shù)據(jù),部分代碼如下:
其中:IPosition701 表示對象的位置和方向;Radius 表示圓柱體的半徑(單位:m);ObjectHeight 表示圓柱體的高度(單位:m);NumOfSegments 表示組成圓柱體的分段部分數(shù)目,數(shù)目越多,圓柱體越圓滑;LineColor 表示圓柱體線的顏色,用于指定的顏色值的顏色和透明度值。FillColor 如果透明度大于0,為圓柱體的填充色;GroupID 圓柱體在工程樹中的位置;Description 圓柱體在項目樹中的名稱。
為在實際工程中實現(xiàn)大批量圓柱形管線、四棱柱形管溝管點數(shù)據(jù)的快速制作,以及不同平臺下數(shù)據(jù)的統(tǒng)一,通過“外業(yè)調(diào)查數(shù)據(jù)-管點數(shù)據(jù)-三維可視化”過程進行整理和轉(zhuǎn)換。
已知數(shù)據(jù)為現(xiàn)場外業(yè)調(diào)查數(shù)據(jù),主要包括管線的空間位置、專業(yè)、材質(zhì)、管徑、埋深等信息。
實際管線調(diào)查中,為方便畫圖,通常增加許多輔助定位點,由于使用的管線三維可視化原理是根據(jù)管線段無縫拼接成的管網(wǎng),如果不進行處理,會增加計算機繪制壓力。而在上翻、下翻、變徑處二維圖紙中卻沒有節(jié)點的體現(xiàn),因此首先需要對二維數(shù)據(jù)進行優(yōu)化,突出第三維度(Z軸)的變化位置,具體如下:
(1)在合理的容差范圍內(nèi)去掉冗余的管線折點
刪除外業(yè)調(diào)查輔助點,使管線段盡量符合實際情況,直接減少了后期的管線段數(shù)量,從而減輕了計算機繪制壓力。將連續(xù)管線(如主線、各分支)進行多線段連接,使其成為一個整體,方便后期的路由、流向等信息的管理。
(2)在上翻、下翻、變徑處增加節(jié)點
在二維圖紙中上翻、下翻和變徑處的變化通常沒有體現(xiàn),而在三維系統(tǒng)中,由于屬性的不同,則需增加節(jié)點以掛接不同的屬性信息,從而準確地表達出現(xiàn)場實際空間位置和變化情況。
(3)刪除多余的圖層
在二維CAD 圖中,刪除不必要的圖層,僅需保留管線走向和各個野外調(diào)查的屬性圖層,使圖紙更加簡潔明了。保留管徑、埋深、材質(zhì)等屬性圖層可方便后文的管線附屬信息的制作。每種屬性對應單個圖層,可以有效避免在ArcGIS 軟件屬性掛接過程中的思維混亂,減少屬性信息圖層對應錯誤。
(4)坐標轉(zhuǎn)換
將CAD 文件通過坐標轉(zhuǎn)換轉(zhuǎn)換到指定的坐標系下,不同的工程需求也不同,如果三維可視化需要準確位置,則可以通過多個控制點進行四參數(shù)或七參數(shù)轉(zhuǎn)換到國家通用的坐標系下,比如國家2000 大地坐標系。如果需要的是相對位置,即建筑坐標則省略此步驟。此操作的目的是在ArcGIS 中進行投影定義,將CAD 文件中的投影信息與所要定義的坐標系保持一致,保證在Skyline 中位置能夠準確對應。
在CASS 或者CAD 軟件中進行管線附屬屬性的圖層制作。首先確定所需增加屬性的類別,分別新建文本圖層,然后將各個節(jié)點對應的屬性信息以文字格式與之對應,即屬性文本的插入點與該節(jié)點重合。對于上翻、下翻、變徑等位置的屬性標注后期區(qū)分是比較困難的,由于最終輸出的是每個節(jié)點的位置和各種屬性信息,而一種屬性僅在EXCEL 表格中一個單元格里呈現(xiàn),因此這些位置的空間變化無法直接表示出來。針對此問題,經(jīng)過實際工程總結驗證,在單種屬性發(fā)生變化時通過特殊字符的加入能夠有效解決問題,本研究以“AA/BB”在埋深圖層中代表上下翻變化,“/”表示此處存在上下翻情況,需增加豎直管線,該管線段Z軸的空間位置為AA 到BB。以“CC(DD)”在管徑圖層中代表變徑現(xiàn)象,后期看到“()”立馬可以識別該變化,通過前后管點的管徑確定兩個方向的管徑大小,某工程中部分管線屬性圖層制作見圖2。
圖2 增加屬性圖層
在ArcGIS 軟件中將各個屬性文本圖層掛接到節(jié)點,并最終將完成所有屬性掛接的屬性表導出為Excel 表格,某工程中電力管線信息掛接最終處理結果見圖3。
圖3 屬性掛接
(1)格式轉(zhuǎn)換
將CAD 文件添加到ArcGIS 軟件里,在Arc-GIS 軟件中管線的走向以“polyline”要素形式存在,各種屬性信息以“annotation” 要素形式存在。首先需要將線要素、備注要素分別導出為單獨的.shp 矢量文件。其中線要素直接導出即可,屬性要素可通過ArcToolbox 中“要素轉(zhuǎn)點”工具進行轉(zhuǎn)化。
(2)投影轉(zhuǎn)換
ArcGIS 軟件不能直接識別CAD 文件的空間參考信息,缺少空間參考信息不能進行投影轉(zhuǎn)換。經(jīng)過測試只要有投影信息,投影坐標或地理坐標在Skyline 軟件中都能夠正確對應。因此需要通過ArcToolbox 中“定義投影”工具對(1)格式轉(zhuǎn)換中數(shù)據(jù)的投影坐標進行正確的投影定義。如果需要地理坐標,可通過“投影”工具將投影坐標轉(zhuǎn)換為地理坐標。最終得到帶有投影信息并且以投影坐標或地理坐標呈現(xiàn)的線要素和點要素。
(2)屬性掛接
對管線走向的節(jié)點進行整理,將線要素的折點轉(zhuǎn)化為點要素,提取到所有管線的節(jié)點信息。各種屬性信息在之前步驟中已經(jīng)轉(zhuǎn)為點要素,每個點都包含了該節(jié)點的所有屬性信息,由于在二維數(shù)據(jù)整理時不同圖層對應著不同屬性,因此僅需在屬性表中“Layer”字段下根據(jù)圖層名稱進行分離,完成單個屬性的點要素制作。最后根據(jù)空間位置通過ArcToolbox 中“空間連接”工具依次完成所有單個屬性點要素與管線走向折點點要素的聯(lián)合,將管線所有屬性掛接到對應的管點上。
(3)增加平面坐標
前文投影轉(zhuǎn)換之后,Skyline 便可根據(jù)坐標對應到實際位置,因此在矢量文件屬性表里增加平面坐標字段。通過“添加X、Y坐標”工具將平面坐標X、Y字段添加到屬性表中,作為管點數(shù)據(jù)中最基礎、最重要的組成部分。
(4)屬性表轉(zhuǎn)Excel
經(jīng)過上述步驟操作,完成所有信息掛接以及平面坐標的獲取,最后通過 “表轉(zhuǎn)Excel”工具將管點數(shù)據(jù)屬性表以Excel 表格形式導出。
在導出的Excel 表中,ORIG_FID 字段值相同表示一根連續(xù)的管線,即2.1 節(jié)二維數(shù)據(jù)的整理第(1)條在合理的容差范圍內(nèi)去掉冗余的管線折點中多線段連接的操作。POINT_X、POINT_Y 字段分別表示X、Y坐標值,其他屬性字段名稱以命名為準。
由于前面步驟導出的Excel 只是每個節(jié)點對應的屬性信息,和最終入庫要求的起始和終止點位置、屬性組有差別(導出的是以單個節(jié)點為單位,入庫需要的是以管線段為單位),不能夠直接使用,因此需要以最終入庫表格式為標準,利用Excel 函數(shù)公式、宏命令來進行快速的批量處理。首先根據(jù)ORIG_FID字段下相同的數(shù)字對管點數(shù)據(jù)進行錯位復制、粘貼,完成初步的管線段制作。其次在上下翻、變徑處進行重點處理,按照2.2 節(jié)管線附屬信息圖層的制作中定義的規(guī)則進行上下翻垂直方向管線段的補充和變徑前后管線段管徑的修改。最后以入庫表定義的規(guī)則為準對數(shù)據(jù)進行對照整理,從而完成最終的管點數(shù)據(jù)入庫表制作,某工程管點數(shù)據(jù)入庫表設計如表1所示。
表1 管點數(shù)據(jù)入庫表
通過數(shù)據(jù)庫的連接和對應接口代碼的運行,在Skyline 平臺下自動繪制所有入庫表中的圓柱體,以此來代替圓形管線。某工程中局部地區(qū)管線可視化效果見圖4。
圖4 管線三維可視化
管網(wǎng)附屬設施包括閥門、電表、消火栓、控制器、雨水篦子、檢修井、井蓋等,與管線的可視化相比較,區(qū)別在于管線是利用ISGWorld701 接口下CreateCylinder 方法進行圓柱體的自動繪制,而附屬設施則是利用ISGWorld701 接口下CreateModel 方法進行模型的重復加載定位。可視化過程中同樣需要在數(shù)據(jù)庫中進行Position、FileName、Scale 等必要參數(shù)與模型的對應管理。對于差別較小的模型,可以使用同一個模型數(shù)據(jù),無法歸類劃分的則需進行多個模型的構建。而主要的平面坐標、高程數(shù)據(jù)、朝向、旋轉(zhuǎn)角度等屬性參數(shù)與管點數(shù)據(jù)整理方法類似,某工程中部分附屬設施的可視化效果見圖5-圖8。
圖5 閥門可視化
圖6 消火栓可視化
圖7 檢修井可視化
圖8 雨水篦子可視化
在根據(jù)起止位置繪制管線的方法上,從管點數(shù)據(jù)角度切入,整理總結了一套快速靈活的批量化處理流程。該方法在二維數(shù)據(jù)的基礎上進行信息優(yōu)化,通過多軟件協(xié)助作業(yè)完成屬性信息的掛接轉(zhuǎn)換,最后利用Skyline 平臺接口進行數(shù)據(jù)庫連接并完成三維管線的快速繪制和可視化。此方法在某工程中得到了較好的驗證,其主要優(yōu)勢在于:
(1)整理速度快,可合理有效地縮短工期、節(jié)約成本;
(2)在大量管點數(shù)據(jù)的空間對應上,更直觀,更易進行增刪改查;
(3)管線模型更加輕量化,減輕了計算機計算壓力,提升了用戶體驗;
(4)后期維護更加方便。
本方法能夠為管網(wǎng)系統(tǒng)中圓柱和管溝形狀的管線三維可視化提供思路,為快速、輕量化地推動數(shù)字化城市建設提供有力支持。未來可對管塊和隧道等復雜情況進行進一步分析。