蘇志軍,龔振華
(1.西安測繪總站,陜西 西安 710054)
基于ArcEngine的三維城市地下管線流向分析算法研究

蘇志軍1,龔振華1
(1.西安測繪總站,陜西 西安 710054)
將ArcEngine技術和網絡流向追蹤技術應用到城市地下管線流向分析中,結合數學中的映射思想,提出基于ArcGIS網絡流向模型的三維城市地下管線流向分析算法,解決了傳統二維GIS系統流向分析效果不直觀的缺陷,為三維城市地下管網系統的建設提供技術支撐。
網絡流向模型 ; 地下管線; 流向分析; 要素
城市地下管線是城市基礎設施的重要組成部分,是城市賴以生存和發展的重要物質基礎[1],具有復雜性、隱蔽性和系統性等特征。傳統的基于二維平面地圖的城市地下管線管理方式在表達城市地下管線的這些特征時暴露出許多不足[2]。三維GIS方法將復雜空間對象以三維立體的方式展現在用戶面前,用戶可以全視角觀察對象間的空間關系,給用戶以真實世界的感受,提高了地下管線科學化管理水平,更好地服務社會。因此,利用三維GIS技術管理城市地下管網已經成為提高城市地下管線科學化水平的主要手段。
利用ArcEngine實現各種空間網絡分析功能都是在網絡數據基礎上進行的,因此在進行管線網絡空間分析前,要先建立網絡空間模型,將實際空間系統轉換為地理要素網絡系統。在與城市爆管、防洪減災等與管線流向有關的分析功能中,建立網絡流向是進行各類分析功能的基礎,只有先確定網絡的流向,才能在此基礎上進行空間分析。
ArcGIS采用幾何網絡模型和邏輯網絡模型來描述空間網絡[3]。幾何網絡模型由一系列相連的線和交匯點組成,構成幾何網絡的數據源必須是同一空間參考下的要素類,邊線和交匯點組合成流向確定的空間網絡[4],網絡模型的邊用于描述流向和長度確定的線狀要素,交匯點用于關聯邊線并傳遞資源。邏輯網絡模型由屬性表構成,表記錄描述邊線和交匯點的關聯關系。邏輯網絡的數據源是網絡邊線、交匯點等網路元素以拓撲形式連接成的集合[5],網絡元素主要用于非定向網絡中的拓撲管線建模,如地鐵系統或道路系統等線狀網絡建模。
幾何網絡和邏輯網絡一一對應,二者通過節點和邊的關聯關系進行互動。當編輯幾何網絡時,邏輯網絡隨之更新。
進行三維城市地下管線流向分析的基礎是構建三維城市GIS系統,分析功能必須在三維管網場景中實現,因此三維管網場景的建立是進行三維管線流向分析的基礎。但三維管線模型只是作為元素存在于三維場景中,不能對其進行屬性和行為的賦值,所以本文研究的三維城市地下管線流向分析實現思路是通過二維矢量管網要素類構建空間網絡,再利用ArcGIS網絡流向追蹤技術對空間網絡進行定向,通過邊線的唯一OID編號將管線要素映射成三維管線模型,根據網絡邊線流向確定三維管線流向,調用ArcGIS的Style庫中的三維箭頭符號,根據管線長度,將其適量間斷性標記在三維管線模型中,最終實現三維管線流向分析。具體流程如圖1。

圖1 三維管線流向分析實現過程圖
實現思路如下:
1)構建地下三維城市一體化平臺。地上部分可采用ArcEngine組件技術或Skyline建模軟件等方法進行建模。考慮到后續的空間分析表達,地下管線一般采用ArcEngine組件技術建模;管件模型一般采用3DS max、Shyline等專業建模軟件構建。
2)建立二維地下管線矢量要素的流向。ArcGIS網絡流向追蹤技術的實質是通過ArcToolbox工具箱中的Set flow Direction工具對幾何網絡各個邊設置流向,ArcGIS內核按照ITraceFlowSolverGEN接口對網絡進行追蹤,進而設置各個邊線的流向。可以進行4種流向設置,分別是流向與線要素數字化同向、流向與線要素數字化反向、流向按照源頭、匯點方向及流向與源頭、匯點方向反向[6]。數字化方向是管線普查的方向,地下管網一般呈樹狀或環狀,按照國家和行業相關規定,管線測量是從源點或匯點開始沿著與其相連的管線依次展開,所以管線數字化方向一般為管線流向方向或管線流向反方向。在構建幾何網絡流向時,需要明確知道所用管網數據的流向,一般可以從外業測量人員或相關總結報告處獲得,以便通過Set flow Direction工具對其設置流向。
3)管線要素映射三維模型。在三維地下管線場景中,管線和管件模型都是以元素(element)的形式表達的,元素是根據要素(IFeature)的坐標、高程等屬性值構建的具有空間位置信息的三維對象[7]。對三維管線模型定向描述的本質是對其對應的二維矢量管線作流向分析,再在三維管線模型中進行表達。這一過程的核心技術是獲取每條二維管線對應的三維模型,本文采用映射的思想解決這一問題。具體做法是:在為管線建模前,首先定義兩個類型分別為IList和IFeature的集合,每構建一個管線模型,則將管線要素存入IFeature集合中,將其三維模型存入IList集合中。這樣兩個集合中的元素都是按管線建模順序添加排列的,也是一一對應的。要獲取某一元素構建的三維對象,只需在IFeature集合中獲取該元素索引號,根據索引號在IList集合中便可獲取其構建的三維對象。
4)遍歷所有管線,確定每條管線長度,調用ArcGIS的Style符號庫中的三維箭頭符號,根據管線長度將管線分為若干段。一般而言,每一小段長度一般為管徑的4~6倍最好,這樣箭頭符號放置得不至于太密或太疏。根據管線起始點坐標及小段長度計算每一小段中間點的三維坐標,將三維箭頭符號以元素(element)的形式加入中間點處。依此類推,計算后續各小段的中間點坐標,添加箭頭符號。
三維管線流向分析的本質是獲取管線模型,根據管線長度將管線均分為若干段,計算每一小段管線模型中軸線的中間點三維坐標,將三維箭頭符號添加到每小段的中間點處,從而實現三維管線流向標定。對于任意一段單獨管線(圖2),利用ILine接口的FromPoint屬性和ToPoint屬性可以獲得管線的起終點坐標。設參數n=6r(r為管徑),以n長度對管線從起點開始分段,到終點處不足一段的另行計算,獲取起終點的高程,即可得到管線起終點的三維坐標分別為(x1、y1、h)和(x2、y2、H)。根據管線起終點三維坐標計算沿著管線從起點到終點的單位向量為:

假設參數L0=3r,則第一小分段管線中間點A的坐標為FromPoint+3*r·依此類推,(取整)為管線可劃分的整數段數,后續小段管線中間點B的坐標為FromPoint+其中依此可以計算得到各個小段管線中間點的坐標。

圖2 分段管線中間點坐標計算示意圖
管網流向分析在實際生活中具有重要作用,是許多其他類型分析的基礎,如爆管分析、連通性分析和最短路徑分析等。本文主要研究三維管線流向分析中涉及的相關方法,提出具體的實現思路及算法,解決了傳統二維分析方法表達結果不明顯的缺點,為三維管線空間分析提供了技術支撐。
[1]CJJ8-99《城市測量規范》[S].
[2]蘭小機,劉德兒,魏瑞娟,等.基于ArcObjects與C#.NET的GIS應用開發[M].北京:冶金工業出版社,2011
[3]李崇貴,陳崢,豐德恩,等.ArcGIS Engine組件式開發及應用[M].北京:科學出版社,2012
[4]嚴勇.地下管線三維可視化研究[D].武漢:武漢大學,2003
[5]劉仁義,劉南.ArcGIS開發寶典[M].北京:科學出版社,2006
[6]李培軍.基于GIS的地下管網可視化研究[D].鄭州:信息工程大學,2006
[7]唐熠.基于ArcGIS的地下管線三維虛擬仿真研究與實現[D].成都:成都理工大學,2011
P208
B
1672-4623(2017)12-0083-02
10.3969/j.issn.1672-4623.2017.12.026
2015-12-23。
蘇志軍,高級工程師,研究方向為地圖制圖。