謝 瀚,黃澤純,湯家法
(1. 西南交通大學 地球科學與環境工程學院,四川 成都 611756)
利用ArcEngine和C#實現地下管線斷面分析
謝 瀚1,黃澤純1,湯家法1
(1. 西南交通大學 地球科學與環境工程學院,四川 成都 611756)
結合城市地下管線網絡分布情況和探測采集到的管線數據,設計了斷面分析相關的數據組織結構,利用ArcEngine控件和Visual Studio 2005軟件開發平臺,實現城市地下管線橫斷面和縱斷面分析功能,為城市地下管線的科學管理提供準確的決策信息。
GIS;地下管線;橫斷面;縱斷面;剖面

城市地下管線種類繁多,是城市賴以生存和發展的“生命線”[1],與人們的生活息息相關。隨著城市的發展,城市地下管線的管理和維護也越來越繁雜[2]。隨著信息化工作的快速推進,GIS技術已被應用到城市地下管線信息系統中,其中的斷面圖可以直觀、清楚地反映地下各條管線的埋深情況和管線之間的空間位置關系,這對于各類管線的埋設、管理和維修具有重要意義。
研究使用的數據是某城市的部分地下管線探測數據,主要分為燃氣和供水管線,顧及到管線的現狀和歷史信息。管線斷面數據組織設計基于ArcGIS的Geodatabase數據模型,將每類管線又分為4個圖層,即既有管線段、既有管線點(閥門)、新增管線段(對管線維修和更新時新鋪設的管線)、新增管線點(對管線維修和更新時新增設的閥門)。每類管線的管線段和管線點的屬性表都包含了圖上點號、管線材質、管線埋深、管徑、埋設方式和地面高程、管線長度等字段,管線段地面高程和埋深字段存儲的是各條管線段起止端點的地面高程和埋深,管線數據的數據庫表結構如表1所示。

表1 管線的數據庫結構
2.1 管線斷面分析流程
橫斷面分析指用戶在任意方向畫橫斷面線確定橫斷面,橫斷面與多條管線相交,通過該斷面圖能夠分析該斷面上的地下管線分布情況,標示出管線的斷面尺寸、高程、管線的間距等屬性數據,正確地反映管線與地面間、管線與管線間的空間關系[3]。圖1為本文實現的管線斷面分析功能的流程圖,包括橫斷面和縱斷面分析。在斷面圖的繪制過程中,用戶選擇斷面分析工具,在管線視圖中繪制一條斷面線或者框選多條相連管線,系統自動判斷與斷面線相交的管線是否滿足條件。如滿足條件,系統自動計算繪制斷面圖所需數據,然后自動繪制、顯示斷面圖和斷面分析屬性表。

圖1 斷面分析
2.2 橫斷面圖的生成方法
橫斷面圖是以橫坐標軸表示管線斷點之間的間距、縱坐標軸表示管線斷點的地面高程,單位為m。其生成步驟如下:
1)繪制斷面線。
2)選擇要進行斷面分析的圖層。
3)獲取相應的斷面數據,包括斷面和管線交點的坐標、管線材質、管徑、管線類型和地面高程等信息。大部分數據可以直接從數據庫中獲取,部分數據必須通過間接計算得到。
4)利用上述斷點坐標,計算斷點之間的距離,再根據地面高程和管線埋深計算管線高程,這是繪制橫斷面圖的重要依據。
5)繪制和坐標軸標注。由于管線斷點間距、管線埋深、管線之間的高程差值的差距很大,如果在繪制橫斷面圖時縱坐標和橫坐標的單位或比例尺一致,管線之間的高程差異就很難分辨,對管線的橫斷面分析達不到預期的效果。因此,斷面圖的縱坐標和橫坐標的單位應根據高程值和斷點之間的距離進行動態標注。
6)繪制管線的橫截面。采用圓形符號表示管線的截面形狀,然后根據管線斷點之間的距離和管線斷點高程確定管線斷點在斷面圖中的位置,并根據管線的管徑確定管線截面尺寸。
7)管線屬性信息自動檢索。由于管線斷點屬性與斷點空間位置是關聯的,所以可根據管線的斷點坐標和管線屬性繪制屬性表。管線屬性表的建立有利于用戶和管理員直觀而方便地查詢管線的相關信息,并根據管線屬性表中的內容檢查斷面分析中數據的準確度。
2.3 管線縱斷面圖的生成方法
縱斷面分析流程和橫斷面大致相同,只不過縱斷面分析只分析管線的地下埋設情況、地面情況并標示管線的種類、管徑、管頂高等屬性,表示管線沿地面的走勢[3]。縱斷面圖的表示方法:橫坐標軸表示管線的水平長度,橫坐標表示地面高程,單位為m。縱斷面圖生成方法和橫斷面圖類似,只不過在橫坐標軸和圖上繪制的折線定義不同。
3.1 斷面數據的獲取
斷面數據的獲取其實就是對管線圖層和圖層要素的遍歷分析過程。以橫斷面數據獲取為例,步驟如下:
第一步,以所繪橫斷面線為基準,對所選圖層進行遍歷搜索,獲取斷面線與管線相交的所有管線段,并存儲在內存變量中;
第二步,將獲取的橫斷面線與管線的所有交點坐標(x,y)組成交點坐標序列,并對所有交點按順序進行編號以便提取;
第三步,根據已獲取的管線段,從數據庫中搜索各條管線段所對應的地面高程、管線埋深、管線材質、管線長度、管徑和管線編號等屬性信息;
第四步,將所獲斷面數據存放在自定義的數據結構中[4]:
Class clsProfileStruct{ // 橫斷面數據結構
Private string F_ID // 管線編號
Private string DH // 管線材質
Private double DMGC // 地面高程
Private double MS // 管線埋深
Private double GJ // 管線管徑
Private double GXCD // 管線長度
}
縱斷面數據獲取和橫斷面大致相同,惟一區別是縱斷面數據的選擇是多條相連的管線,而橫斷面是用橫斷面線去切割多條相鄰管線。
3.2 坐標軸的動態標注
橫斷面圖中坐標軸動態標注方法如下:橫坐標軸根據計算出的管線斷點間距分段,其中設置間距最小值20 m、最大值100 m。當管線斷點間距處于20 m和100 m之間時,按其間距按1︰1的比例分段,小于20 m按20 m分段,大于100 m按100 m分段。縱坐標軸中,根據從數據庫獲取的管線埋深信息的最值來確定等分刻度,如表2。

表2 橫坐標刻度設置表
本文利用ArcEngine控件和Visual Studio 2005軟件開發平臺,實現了城市地下管線的橫斷面和縱斷面分析功能,主要包括:
1)定位:利用Visual Studio平臺中的ComboBox工具實現管線圖層的下拉列表選擇功能;利用ArcEngine控件中IPolyLine接口實現在管線視圖上繪制斷面線,并利用相關接口獲取斷面線與管線的交點,再利用CSharp語言計算管線數據。
2)繪制剖面圖:利用GDI繪圖工具繪制管線的斷面圖和相關屬性表。具體操作為:用戶選擇需要進行斷面分析的圖層,使用設計好的橫斷面分析工具,在地下管線視圖上繪制橫斷面線,雙擊后自動生成管線的橫斷面圖(如圖2),并保存在指定的文件目錄下。

圖2 管線橫斷面圖
與管線橫斷面圖生成方法相似,選擇需要進行斷面分析的圖層,使用設計好的縱斷面分析工具,在視圖上框選多條地下管線,然后自動生成管線縱斷面圖(如圖3)。

圖3 管線縱斷面圖
本文給出的管線橫、縱斷面分析方法能直觀地反映地下管線與道路的埋深情況和管線間的空間關系,能為市鎮建設決策提供決策信息[5]。但相對于專業的GIS管線系統,筆者開發的程序在繪圖效果上有所欠缺。
[1] 連軍.基于GIS的城市地下管線綜合管理信息化研究[D].重慶:重慶大學,2005
[2] 蔡寬余,楊曉慧.城市地下管線信息管理系統的設計[J].上海地質,2005(2):37-45
[3] 楊曉麗,李萬輝. 基于GIS的城市地下管線橫縱斷面分析[J].測繪與空間地理信息,2010(3):58-62
[4] 于海龍,謝剛生,李大軍.基于GIS的城市地下管網縱橫斷面分析的設計與實現[J].工程勘察,2001(1): 52-55
[5] 林華,楊萍.城市綜合官網剖面分析模塊的設計與實現[J].城市勘測,2004(1):30-32
[6] 高鐵軍.地下管線地理信息系統中任意剖面圖的實現[J]. 測繪工程,2000(3):37-40
[7] 張書亮,姜永發,蘭小機,等.基于GIS的城市地下管網斷面可視化分析[J].南京林業大學學報:自然科學版,2004(5):86-88
P208
B
1672-4623(2014)04-0098-02
10.11709/j.issn.1672-4623.2014.04.033
謝瀚,碩士,研究方向為測繪工程。
2013-07-05。
項目來源:教育部人文社會科學研究規劃基金資助項目(12YJAZH124);中央高校基本科研業務費專項資金資助項目(A0920502051308-12)。