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

圖1 系統運行主界面圖
用線性參考技術解決線性物體定位的問題,大大減少了傳統方法中由相對距離計算平面x、y坐標的誤差,利用Arc-GIS軟件平臺建立線性參考系統,再基于ArcEngine對地下管道GIS系統進行開發和利用,實踐證明用這種方法建立的系統對管道的定位查詢、統計分析及數據添加等功能,不僅精度高,簡單易行,而且極大地提高了人們對線性物體的理解、維護和分析能力。
隨著新技術不斷地被引入到地下管道GIS中,地下管道GIS系統將有望成為各運輸部門日常信息處理不可缺少的系統工具,從而將徹底改變傳統的信息處理方式,使管道規劃、建設、管理和運營變得直觀、輕松和高效。期望地下管道運輸部門早日進入一個全新的數字化時代。
[1]張小文,劉勇等.GIS-T的類型方法及應用初探[J].遙感技術與應用,2002,17(6):344 -350.
[2]Paul A等.地理信息系統(下卷)-原理與技術(第二版)[M].北京:電子工業出版社,2004.250 -254.
[3]周振紅等.基于公路線形特征的線性參照系及其應用[J].鄭州大學學報(工業版),2005,26(4):69 -71.
[4]姜雁飛.線性參考系統在鐵路勘測設計工程數據庫中的應用[J].鐵道勘測,2004,6:52 -54.