劉云鶴,張 哲
(西北大學(xué) 城市與環(huán)境學(xué)院,陜西 西安710127)
隨著GIS的普及,城市管線、交通、地下管道等行業(yè)開(kāi)始采用GIS技術(shù)作用有效的管理手段。可是隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市規(guī)模不斷擴(kuò)大,城市交通系統(tǒng)日趨復(fù)雜,由此所產(chǎn)生的交通問(wèn)題也日益尖銳[1]。傳統(tǒng)的方式主要通過(guò)CAD之類的制圖軟件來(lái)管理數(shù)據(jù),主要是對(duì)地理要素圖形的管理,而其屬性信息往往被忽略。而對(duì)于管線、道路和地下管道這類線性要素,傳統(tǒng)的平面直角坐標(biāo)已無(wú)法實(shí)現(xiàn)其相關(guān)業(yè)務(wù)的需求。本文基于GIS技術(shù)的發(fā)展日漸成熟,地下管道數(shù)據(jù)庫(kù)不失時(shí)機(jī)地引入了 GIS,即出現(xiàn)了管道GIS[2]。由于城市道路的線性特征和線性參考技術(shù)處理線性要素帶來(lái)的便利,于是,將線性參考系統(tǒng)引入地下管道GIS中,探討地下管道GIS的設(shè)計(jì)及實(shí)現(xiàn)。
道路、地下管道等是現(xiàn)實(shí)生活中線性物體的抽象,常規(guī)方法是根據(jù)線性物體上一些已知點(diǎn)的坐標(biāo)以及沿線性物體的相對(duì)距離和沿線性物體的走向來(lái)推算未知點(diǎn)的平面x、y坐標(biāo)。這種方法雖然理論上可行,但在實(shí)際操作中存在計(jì)算復(fù)雜、計(jì)算量大且定位不準(zhǔn)確的問(wèn)題。因?yàn)榫€性物體并不是單純的直線,而是不規(guī)則的曲線,所以沿曲線的相對(duì)距離只能由曲線上各節(jié)點(diǎn)之間的直線距離累計(jì)而成,不僅計(jì)算繁瑣,而且當(dāng)累計(jì)到一定程度時(shí),會(huì)出現(xiàn)較大的誤差。解決問(wèn)題的關(guān)鍵是如果能夠建立一套線性參考系統(tǒng),使得線性物體上每一點(diǎn)的位置都能直接由該線性物體的測(cè)量值來(lái)表示而不用轉(zhuǎn)化成平面x、y坐標(biāo)。因此,這類線性物體往往用沿線性物體的相對(duì)距離來(lái)定義線性物體上每一個(gè)離散點(diǎn)的位置。針對(duì)各個(gè)城市地下管網(wǎng)狀況不佳,我們可以使用線性參考系統(tǒng)對(duì)城市的地下管道GIS進(jìn)行設(shè)計(jì)與開(kāi)發(fā),從而有利實(shí)現(xiàn)地下管道數(shù)據(jù)管理的系統(tǒng)化、規(guī)范化和系統(tǒng)數(shù)據(jù)的更新。
根據(jù)本系統(tǒng)的需求分析,綜合考慮軟件性能,本系統(tǒng)采用C/S(客戶端/服務(wù)器)的三層體系結(jié)構(gòu)。數(shù)據(jù)層,采用一般的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)實(shí)現(xiàn)對(duì)整個(gè)系統(tǒng)數(shù)據(jù)的管理;中間層,采用空間數(shù)據(jù)引擎協(xié)同管理空間數(shù)據(jù)庫(kù);應(yīng)用層,用戶直接接觸的部分。對(duì)解決類似線性物體定位的問(wèn)題,可以先在數(shù)據(jù)層,完成線性物體的輸入、建立圖層、數(shù)字化、校準(zhǔn)等;在中間層利用ArcSED進(jìn)行空間數(shù)據(jù)庫(kù)管理;在應(yīng)用層方面主要是在ArcGIS當(dāng)中建立線性參考系統(tǒng),利用AE提供的訪問(wèn)線性參考系統(tǒng)的方法進(jìn)行系統(tǒng)開(kāi)發(fā)和運(yùn)用,既可以減少開(kāi)發(fā)步驟,使問(wèn)題簡(jiǎn)單化,又可以避免坐標(biāo)轉(zhuǎn)換中的誤差,提高定位準(zhǔn)確度。
根據(jù)系統(tǒng)總體設(shè)計(jì)原則、系統(tǒng)所要求開(kāi)發(fā)的內(nèi)容及用戶需求,利于動(dòng)態(tài)查詢等特點(diǎn),將系統(tǒng)主要的劃分為地圖操作、信息查詢等子系統(tǒng)。地圖操作子系統(tǒng)主要為用戶提供友好的可視化界面,為用戶出行和部門布置輸油管道選址提供方便;信息查詢子系統(tǒng)主要提供查詢功能。
1.3.1 管理模塊
管理模塊分為用戶管理模塊和數(shù)據(jù)管理模塊。前者主要功能是對(duì)用戶和管理員登錄的身份驗(yàn)證,對(duì)于一般用戶要注冊(cè)后才可登錄到本系統(tǒng),管理員主要完成對(duì)該系統(tǒng)及其數(shù)據(jù)的更新工作,需要對(duì)其進(jìn)行身份識(shí)別。后者主要功能就是進(jìn)行線性等數(shù)據(jù)儲(chǔ)存;對(duì)線性要素棧,閥室,管道等數(shù)據(jù)分析;對(duì)一般數(shù)據(jù)和線性數(shù)據(jù)查詢;對(duì)整個(gè)管道數(shù)據(jù)的輸出等。
1.3.2 定位查詢模塊
查詢模塊可分為定位查詢和范圍查詢,前者是當(dāng)用戶在地圖上點(diǎn)擊時(shí),查詢出在該點(diǎn)周圍一定范圍內(nèi)的所有站點(diǎn),棧、閥室等的信息。后者主要是圓形區(qū)域查詢、矩形區(qū)域查詢、任重多邊形區(qū)域查詢,通過(guò)以上查詢出當(dāng)前管道要素的結(jié)果地圖,以便用戶進(jìn)行其他操作。
1.3.3 輸入查詢和結(jié)果輸出模塊
該模塊的功能就是當(dāng)用戶選擇輸入查詢時(shí),從列表框中選擇或輸入要查詢的站點(diǎn)、棧、閥室等點(diǎn)事件或線事件的名稱后,查詢到的物體的位置會(huì)在地圖上閃爍。而結(jié)果輸出主要實(shí)現(xiàn):一是把查詢結(jié)果寫入文本文件中;二是輸出當(dāng)前查詢結(jié)果后的地圖,以便用戶進(jìn)行其他操作。系統(tǒng)總體設(shè)計(jì)結(jié)構(gòu)圖如圖1所示:
為使本系統(tǒng)與其它相關(guān)線性信息系統(tǒng)實(shí)現(xiàn)數(shù)據(jù)共享與功能互補(bǔ),給使用者提供完整統(tǒng)一的地下管道信息管理工具。本文采用基于 ArcGIS的二次開(kāi)發(fā)組件——ArcEngine(AE),AE憑借其強(qiáng)大的功能及獨(dú)立性使它成為許多GIS開(kāi)發(fā)人員首選的二次開(kāi)發(fā)組件。采用簡(jiǎn)單易用的C#開(kāi)發(fā)語(yǔ)言進(jìn)行開(kāi)發(fā)。首先要做的工作就是在VS2008集成環(huán)境中引入AE對(duì)象庫(kù),接下來(lái)的工作就是在程序中利用ArcEngine對(duì)象庫(kù)提供的接口實(shí)現(xiàn)系統(tǒng)功能。
2.1.1 概述
線性參考(LR,Linear Referencing)是指根據(jù)已存在的線性要素位置的相關(guān)性來(lái)存儲(chǔ)地理數(shù)據(jù)的一種方法[3]。未知要素的位置信息可由已知線性要素的位置信息與其相對(duì)位置關(guān)系加以表示或量測(cè)。它一般包括三個(gè)部分:線性參考方法,線性網(wǎng)絡(luò)和線性分布事件[4]。
2.1.2 數(shù)據(jù)組織
地理基礎(chǔ)數(shù)據(jù)的地下管道要素包括管道、站場(chǎng)、閥室等,因此要對(duì)這些地理數(shù)據(jù)做好充分的準(zhǔn)備。首先,進(jìn)行數(shù)據(jù)的預(yù)處理,掃描紙質(zhì)秦皇島輸油氣分公司管道所經(jīng)過(guò)的地區(qū)圖:使用25萬(wàn)基礎(chǔ)地形圖和各個(gè)站場(chǎng)的影像截圖;利用ESRI公司的ArcGIS9.3和管道部門軟件對(duì)掃描后的地圖采用WGS_1984投影進(jìn)行配準(zhǔn)。其次,數(shù)據(jù)采集,使用GPS320對(duì)秦皇島輸油氣分公司管道上的要素:管道、站場(chǎng)、閥室等進(jìn)行實(shí)地定位,測(cè)得它們的經(jīng)緯度坐標(biāo)。然后,進(jìn)行空間數(shù)據(jù)的輸入和編輯,主要通過(guò)ArcGIS9.3對(duì)以上兩步的結(jié)果進(jìn)行處理:對(duì)配準(zhǔn)后的地圖進(jìn)行數(shù)字化處理;把從GPS得到的坐標(biāo)輸入到ArcGIS中,生成點(diǎn)圖層。管道周邊的輔助要素是根據(jù)航片矢量化得出的,而管道上的要素是根據(jù)坐標(biāo)點(diǎn)入庫(kù)的。最后,進(jìn)行屬性數(shù)據(jù)的輸入,本系統(tǒng)的數(shù)據(jù)主要有ArcGIS的屬性表進(jìn)行管理,在數(shù)字化的同時(shí),也將各個(gè)事件的屬性信息輸入到相應(yīng)的表格中。
系統(tǒng)的各個(gè)功能模塊的實(shí)現(xiàn)根據(jù)具體的要求和內(nèi)容進(jìn)行,下面重點(diǎn)介紹系統(tǒng)的幾個(gè)主要模塊的實(shí)現(xiàn)。
2.2.1 地圖操作的實(shí)現(xiàn)
對(duì)于系統(tǒng)的數(shù)據(jù)加載顯示,空間數(shù)據(jù)的加載由axTOCControl和axMapControl控件實(shí)現(xiàn),MapControl控件的方法實(shí)現(xiàn)了圖層的加載、刪除、顯示等功能,如AddLayer方法可以加載一個(gè)圖層,DeleteLayer方法可以刪除一個(gè)圖層。通過(guò)IWorkspaceFactory類連接數(shù)據(jù)庫(kù),通過(guò)IFeatureWorkspace接口打開(kāi)數(shù)據(jù)庫(kù)的圖層;加載打開(kāi)的圖層。
系統(tǒng)的地圖查詢?yōu)g覽模塊提供了地圖數(shù)據(jù)查詢?yōu)g覽功能,可以加入ArcGIS放大、縮小,漫游等工具條,也可以自定義工具條。進(jìn)入地圖瀏覽功能,用戶可對(duì)地圖管道上的棧、站點(diǎn)、閥室等要素及管道周圍的居民地、鐵路等基礎(chǔ)地理數(shù)據(jù)進(jìn)行放大、漫游及鷹眼等操作,以方便對(duì)系統(tǒng)的認(rèn)知和進(jìn)行其它操作。
2.2.2 查詢的實(shí)現(xiàn)
對(duì)于一般的查詢功能,包括空間信息查詢、屬性信息查詢、模糊查詢、由空間信息查詢屬性信息、由屬性信息查詢空間信息等,還可以通過(guò)鼠標(biāo)點(diǎn)選地物從而獲取地物的詳細(xì)信息。有QueryFilter可以實(shí)現(xiàn)屬性信息到空間信息的查詢,由IQueryFilter,IFeatureCursor,IFeature接口可以實(shí)現(xiàn)空間信息到屬性信息查詢。
而對(duì)于線性參考系統(tǒng)的查詢功能,在查找在線點(diǎn)、最近點(diǎn)(例如:站點(diǎn),閥室等)的時(shí)候,用到的主要接口主要有IRouteLocator,IRouteLocation, IRouteLocatorName,IRouteMeasureLineLocation等,可以先查詢?cè)诰€線,其次可以定位線上的事件點(diǎn),最后還可以查詢離這個(gè)事件點(diǎn)最近的點(diǎn)。同時(shí),也可以先在管道五公里范圍內(nèi)建立緩沖區(qū),然后查詢?cè)诖司彌_范圍內(nèi)的樁等離線要素的查詢。最終實(shí)現(xiàn)在線點(diǎn)、事件點(diǎn)的周圍點(diǎn)、離線點(diǎn)的查詢定位功能。
2.2.3 輸入輸出的實(shí)現(xiàn)
客戶端可以通過(guò)接口 IfeatureLayer,IfeatureSelection,Itable,IqueryFilter,Icursor等輸入站點(diǎn)、閥室、棧的名字,直接在地圖上顯示事件點(diǎn),也可以輸入起始事件點(diǎn)和終到事件點(diǎn)的名稱,來(lái)查詢管道的某一段管線并在地圖上閃爍顯示。除此之外,還可以直接在客戶端地圖上鼠標(biāo)雙擊點(diǎn)選。
數(shù)據(jù)輸出可以通過(guò)接口Iprinter,Ipaper,Ipage實(shí)現(xiàn)地圖的打印輸出,圖層導(dǎo)出為圖片,導(dǎo)出為其他格式文件等功能。文字輸出包括管道上的樁、站點(diǎn)、閥室;圖像輸出包括電子地圖相應(yīng)區(qū)域、管道及線路標(biāo)記。
系統(tǒng)主界面設(shè)計(jì)的原則是以用戶為中心,在此基礎(chǔ)上建立基于標(biāo)準(zhǔn)窗口系統(tǒng)、具有統(tǒng)一界面風(fēng)格的圖形用戶界面。首先,界面要盡量避開(kāi)復(fù)雜的內(nèi)部實(shí)現(xiàn)細(xì)節(jié),只顯示用戶需要的操作;其次,靈活的界面能夠?yàn)橛脩籼峁└噙x擇,充分滿足用戶的需求;再次,要合理、高效地利用屏幕,窗口顯示內(nèi)容協(xié)調(diào)一致,功能菜單應(yīng)建立層次,同時(shí)要處理好信息載負(fù)量和有限窗口的關(guān)系;最后,系統(tǒng)設(shè)計(jì)中要考慮到為用戶提供反饋,建立有效的錯(cuò)誤處理機(jī)制。該系統(tǒng)主界面運(yùn)行如圖1所示:
圖1 系統(tǒng)運(yùn)行主界面圖
用線性參考技術(shù)解決線性物體定位的問(wèn)題,大大減少了傳統(tǒng)方法中由相對(duì)距離計(jì)算平面x、y坐標(biāo)的誤差,利用Arc-GIS軟件平臺(tái)建立線性參考系統(tǒng),再基于ArcEngine對(duì)地下管道GIS系統(tǒng)進(jìn)行開(kāi)發(fā)和利用,實(shí)踐證明用這種方法建立的系統(tǒng)對(duì)管道的定位查詢、統(tǒng)計(jì)分析及數(shù)據(jù)添加等功能,不僅精度高,簡(jiǎn)單易行,而且極大地提高了人們對(duì)線性物體的理解、維護(hù)和分析能力。
隨著新技術(shù)不斷地被引入到地下管道GIS中,地下管道GIS系統(tǒng)將有望成為各運(yùn)輸部門日常信息處理不可缺少的系統(tǒng)工具,從而將徹底改變傳統(tǒng)的信息處理方式,使管道規(guī)劃、建設(shè)、管理和運(yùn)營(yíng)變得直觀、輕松和高效。期望地下管道運(yùn)輸部門早日進(jìn)入一個(gè)全新的數(shù)字化時(shí)代。
[1]張小文,劉勇等.GIS-T的類型方法及應(yīng)用初探[J].遙感技術(shù)與應(yīng)用,2002,17(6):344 -350.
[2]Paul A等.地理信息系統(tǒng)(下卷)-原理與技術(shù)(第二版)[M].北京:電子工業(yè)出版社,2004.250 -254.
[3]周振紅等.基于公路線形特征的線性參照系及其應(yīng)用[J].鄭州大學(xué)學(xué)報(bào)(工業(yè)版),2005,26(4):69 -71.
[4]姜雁飛.線性參考系統(tǒng)在鐵路勘測(cè)設(shè)計(jì)工程數(shù)據(jù)庫(kù)中的應(yīng)用[J].鐵道勘測(cè),2004,6:52 -54.