劉恩盛 李曉紅 黃玉花
摘要:本文根據(jù)吉安市的特點,從數(shù)據(jù)收集整理,數(shù)據(jù)庫建設(shè)入手,重點解決爆管分析和斷面顯示的問題,最終完善整個系統(tǒng),以利于當(dāng)?shù)亟?jīng)濟社會發(fā)展。
關(guān)鍵詞:供水管網(wǎng);數(shù)據(jù)庫;爆管分析;斷面顯示;廣度優(yōu)先
中圖分類號:TV674文獻標(biāo)識碼:A
城市供水管網(wǎng)是一個城市非常重要的基礎(chǔ)設(shè)施,擔(dān)負著幾乎所有的供水輸送工作,隨著城市的迅速擴張,城市基礎(chǔ)設(shè)施建設(shè)、科學(xué)化管理、與和諧發(fā)展的矛盾日益突出。
數(shù)據(jù)庫設(shè)計和建設(shè)
管網(wǎng)資料的科學(xué)管理與信息資源的再挖掘是實現(xiàn)供水系統(tǒng)優(yōu)化設(shè)計與優(yōu)化運行的基礎(chǔ),不僅能夠提高效率、增加管網(wǎng)運行、維護、管理的科學(xué)性,還能夠提高計算及運行的安全性和可靠性,為各種層次上的優(yōu)化管理和最佳決策提供強有力的保證,將產(chǎn)生巨大的經(jīng)濟效益與社會效益。
我市現(xiàn)有地下供水管線的資料不全,有關(guān)資料精度不高或與現(xiàn)狀不符,設(shè)備資料采用人工方式管理,管理起來極不方便。許多埋在地下的管道信息依靠工作人員的記憶,隨著人員的退離或變更,造成管線資料不同程度的缺失。在施工中時常發(fā)生破壞其它地下管線,造成突發(fā)停水停暖、自來水四溢等嚴(yán)重影響生活生產(chǎn)的事故。在這里關(guān)鍵在于處理好邏輯網(wǎng)絡(luò)與幾何網(wǎng)絡(luò)的關(guān)系,如下表所示:
表1管線數(shù)據(jù)信息收集分類處理
作業(yè)標(biāo)段標(biāo)號 79655117 ? 平面坐標(biāo)(m) 高程(m) 埋深(m)
管線點號 連接點號 管類代碼 X Y Z H
QY01 QY102 SS 30009.541 5001.845 65.31 0.75
QY02 ? SS 30089.758 5079.658 74.59 0.75
邏輯網(wǎng)絡(luò):包含了網(wǎng)絡(luò)的連通性.點QY102與管線(QY01,QY02)連接
QY102
在以上數(shù)據(jù)收集處理后,為對應(yīng)GIS的二次開發(fā)應(yīng)用系統(tǒng),采用 Geodatabase標(biāo)準(zhǔn)關(guān)系數(shù)據(jù)庫技術(shù)來表現(xiàn)管網(wǎng)信息,并通過數(shù)據(jù)庫管理系統(tǒng)(DBMS)來管理[1]。支持各種DBMS結(jié)構(gòu)和多用戶訪問,且大小可調(diào)整。它定義了在ArcGIS中可以被使用的數(shù)據(jù)類型,以及針對各類對象的顯示、訪問、存儲、管理和處理。Geodatabase能應(yīng)用復(fù)雜的規(guī)則和關(guān)系存取、處理各種類型的地理信息數(shù)據(jù)[2]。
二、系統(tǒng)設(shè)計
(一)爆管分析
如何快速準(zhǔn)確的明確爆管位置以及利用現(xiàn)有的通信手段通知管理部門和受爆管影響導(dǎo)致用水供應(yīng)存在問題的用戶是個難點。一些學(xué)者首先對管網(wǎng)圖進行簡化及轉(zhuǎn)換,其目的是為了尋求合適算法和以避免無限制循環(huán),只取管網(wǎng)中部分結(jié)點,采用深度為2的樹,即只有根結(jié)點和葉子結(jié)點的樹,構(gòu)造完之后,設(shè)計算法進行結(jié)點的遍歷[2]。此方法雖然計算效率高,數(shù)學(xué)模型簡單,但深度為2的樹與現(xiàn)實復(fù)雜的樹狀管網(wǎng)形態(tài)相去甚遠。廣度優(yōu)先算法能更為接近于現(xiàn)實狀況,但同樣遇到無限循環(huán)的問題。為此,利用有向圖原理,對部分節(jié)點進行打斷。廣度優(yōu)先搜索算法會從第一個頂點開始嘗試訪問所有可能在第一個頂點附近的頂點。其核心思路,這種搜索是逐層進行的,先檢查與第一個頂點相鄰的層,然后逐步向下檢查遠離初始頂點的層。第1步:找到一個與當(dāng)前頂點相鄰的未訪問過的一個頂點,標(biāo)記為已訪問的,并把它添加到隊列中;第2步:若找不到一個未訪問過的相鄰頂點,則從隊列中移除一個頂點,并它作為當(dāng)前頂點,接著重新開始;第3步:如果隊列為空,那么就無法返還到第2步的操作,此時結(jié)束,終止運行。其中關(guān)鍵程序有如下:while (PFeatureLayer != null)
{if (PFeatureLayer.Visible != false&(PFeatureLayer.Name.IndexOf("供水管線") >= 0))
{ int count = PFeatureLayer.FeatureClass.FeatureCount(PSF);
if (count > 0
{ pipeLineFClass = PFeatureLayer.FeatureClass; break; }
}
PFeatureLayer = PEnumLayer.Next() as IFeatureLayer; }
(二)斷面分析
對于橫斷面分析,在系統(tǒng)操作過程中,用戶只能大致的在圖上點取兩個點構(gòu)成一條線段,這條線段實際上很難與圖層上道路中心線相交。關(guān)鍵是如何以用戶所作的“垂線段”,自動獲得道路中心線的垂直線段。在獲得垂直線段后,參照所畫“垂線”,分別在道路中心線左右兩側(cè),獲取等長線段。解決這個問題首先要添加數(shù)據(jù)包括調(diào)取所要分析的管線圖層和道路中心線層,并在道路中心線左右兩側(cè)分別單擊左鍵點取兩個點(a,b),在單擊后兩點坐標(biāo)自動獲取,構(gòu)成線段ab與道路中心線相交(交點為c),此時c點坐標(biāo)即可以得到。如果兩條平行線構(gòu)成道路“面”,則在ArcToolboxData Management Tools里找到Features,再利用polygon to line將面轉(zhuǎn)化成線性要素。
而對于縱斷面分析,首先單擊左鍵確定某一條管線,該管線包括管徑、材料、生產(chǎn)廠家、埋設(shè)深度、鋪設(shè)年代或所屬管理片區(qū),程序從數(shù)據(jù)結(jié)構(gòu)表中查詢與目標(biāo)相匹配管線,接著提取出管線的起止埋深、坡度、管線在水平方向的長度、所在道路名稱和高程等字段,從而生成剖面圖。在查找管線時,系統(tǒng)訪問空間數(shù)據(jù)庫,獲取管線圖層中與目標(biāo)管線編號字段一致的管線,并在用戶操作界面上閃爍。程序只需讀一次數(shù)據(jù)庫便可生成縱斷面圖,提高了斷面圖生成的效率。
三、系統(tǒng)其他功能
一個完整的系統(tǒng)還需要有系統(tǒng)管理功能,主要滿足不同用戶使用權(quán)限;圖層操作,包括初始化背景層及讀取圖層信息,并通過循環(huán)讀取圖層中各要素信息;通過用戶操作來改變地圖的位置和顯示范圍;屬性查詢;量算功能,包括距離量算和面積量算兩個方面內(nèi)容;工具欄添加,設(shè)置一些經(jīng)常用到的工具,提高效率。
參考文獻:
[1] Zeiler, Michael,Modeling Our World: The ESRI Guide to Geodatabase Concepts,ESRI PR,2010,56.
[2] 李斌,基于MapObjects的管網(wǎng)關(guān)閥搜索算法的設(shè)計與實現(xiàn)[C].第六屆ArcGIS暨ERDAS中國用戶大全論文集(2004),北京:地震出版社,2004: 823-825.