尹旭日
(蚌埠汽車士官學校 運輸勤務系,安徽 蚌埠 233011)
?
基于GISDK路網拓撲結構的構建與應用
尹旭日
(蚌埠汽車士官學校 運輸勤務系,安徽 蚌埠 233011)
為解決將其他格式的地理文件導入TransCAD中構建路網后存在的連通性問題,在總結路網中虛連接常見類型的基礎上,設計和實現了基于GISDK的路網虛連接的修正方法。利用GISDK編程在修正后的路網上進行最短路徑應用分析,驗證了所提出方法的有效性。
GISDK;拓撲結構;連通性;最短路分析
TransCAD作為廣泛使用的主流交通規劃軟件,不僅提供了強大的表格處理和路網分析能力,而且為用戶提供了GISDK(geographic information system developer’s kit,GISDK)二次開發工具。用戶編寫基于GISDK應用程序,就可以利用其強大的數據處理和圖形分析功能,高效開發滿足各種要求的GIS應用系統。GIS應用系統絕大部分功能基本上是建立在地理對象的空間位置相互關系之上的,因此,空間實體之間的拓撲結構關系是GIS進行空間分析和決策的基礎之一,其是否具有高效、可靠的拓撲處理功能已成為衡量GIS應用軟件的重要標準。
TransCAD支持ESRI Shapefiles和MapInfo TAB格式的地理文件,而MapInfo格式的地理文件由于使用廣泛而大量存在于各種科學研究和工程應用領域,容易查找并能直接使用。但是,將MapInfo格式地理文件導入到 TransCAD的過程中,由于數據兼容性問題,常會產生道路與節點間的虛連接問題,這不僅直接影響了道路拓撲結構的正確構建,而且導致后續路網分析應用的有效性。
GISDK作為功能強大的宏匯編語言,已在城市公交線網優化、OD數據合成、路網規劃方案確定、功能優化以及期望交通量顯示等方面得到了應用[1-4]。根據查新報告顯示,目前尚無基于GISDK完成對MapInfo TAB格式的地理文件拓撲結構構建與應用的相關報道。因此,怎樣使用GISDK對MapInfo格式地理數據文件導入TransCAD時引起的路網失真進行修復,完成路網拓撲結構的正確構建,充分發揮應用系統的運行效率,是值得深入研究與探討的問題。
在TransCAD中,使用其自帶的地理文件編輯工具,可以繪制簡單的地圖,例如交通小區等,通常在繪制完畢后,系統能進行一些必要的校正工作,確保路網的連通性,以完成路網拓撲結構的正確構建。但是,對于一個大的區域,例如一個省、一個戰區或者全國等,通過手工繪制不僅費時費力,而且存在不精確的問題。對于大范圍的交通路網分析,通常的方法是將現有的該區域的地理文件導入到TransCAD中,然后進行路網拓撲結構的構建與分析。以MapInfo格式地理文件導入TransCAD為例,其具體步驟: 首先,打開MapInfo地圖中的地區面層的tab文件;其次,使用Selection工具,選擇待分析區域內的道路;最后,使用Export工具,選擇標準地理文件格式(*.dbd),保存為TransCAD的地理文件。但是,將地理文件導入到 TransCAD中,由于數據兼容性問題,常會產生虛連接問題,造成路網失真,不能順利進行后續的路網分析。
路網失真表現為存在懸掛節點(節點不重合、未及、過伸)、偽節點、碎屑多邊形等,通常稱為虛連接。通過實踐分析,發現地理文件導入到 TransCAD時的虛連接主要有4種形式(如圖1所示)。圖1(a)為兩條道路實際上是以分支形式相連的,但導入后出現了分離。圖1 (b)為兩條道路實際上是交叉形式相連的,但導入后出現了分離。圖1 (c)為幾條道路是以星狀形式相連的,但導入后出現了分離。這3種情況的共同點是道路節點與實際連接點出現偏差,偏距大于零。在實際工程實踐中還發現另外一種情況,圖1(d)表面看上去兩條道路連接完好,但在利用TransCAD自帶的連通性檢查工具檢查時,發現實際上道路是不連通的,利用GISDK編程計算道路節點與交叉點的距離,發現其偏距為零。


圖1 路網虛連接的幾種常見形式
路網拓撲結構由若干節點以及節點之間的弧(邊)構成,并且這些弧(邊)的長度已知。在道路拓撲結構的基礎上,可以應用一些具體算法來進行路網的分析,例如最短路問題、旅行商問題和物流配送等問題。在道路圖層中的道路與實際道路連通性一致的前提下,通過GISDK提供的相關函數,根據實際圖層中道路的連接關系與屬性數據,自動生成網路文件(*.net),以其為基礎,完成各種路網計算分析。在構建過程中,最關鍵的是確保道路圖層中的道路與實際道路連通性一致,即避免虛連接問題。
2.1虛連接的判斷
通過常見虛連接情況分析,發現虛連接均發生在節點上,因此只需逐一判別節點是否存在虛連接即可,而一個節點是否存在虛連接問題,關鍵是看其與道路圖層上的其他道路的最短距離是否小于連接閥值。當距離小于等于連接閥值時,認為該節點存在虛連接的可能;否則,認為該節點是正常連接。
對于連接閥值的設置,要根據具體地理文件的制作精度而定。通常,連接閥值不易過大,過大則會把本不該連通的變成了連通的;而連接閥值過小,則可能把應該連通的變成了不連通。連接閥值在程序運行前作為輸入參數進行設置,根據實際工程實踐經驗,連接閥值設置值一般不超過0.01。
2.2與指定節點最近線圖元的搜索
為確認對某一節點是否存在虛連接可能,需要找到路網上與該節點最近距離的線圖元,并且還需要獲取該線圖上的最近點坐標以及最短距離等信息。在GISDK函數庫中,函數GetLineDistance(coord c, array shape_pts)[5]提供了這一功能,該函數返回點c到道路shape_pts的最短距離、最近點坐標以及其他信息。
對于某一節點,可能存在多條最近的線圖元,即這一節點與多條道路存在虛連接的可能,為了進一步判別,需要逐一搜索并返回每條線圖元ID、最短距離、最近點坐標等信息。下面算法便是計算與指定節點最近距離的所有道路圖元信息。
步驟1:輸入地理文件,節點ID。
步驟2:計算道路圖層上所有線圖元數目N。
步驟3:d=MaxInt, Lines[N]=NULL, num=0。
步驟4:i 從1 到N,循環:
① 計算節點ID與第i個線圖元距離di;
②如果di 步驟5: i 從1 到N,循環: ①計算節點ID與第i個線圖元距離di; ②如果di=d, 則:num++; Lines[num]={第i個線圖元ID,最近點坐標}。 步驟6:結束。 2.3節點連通性的修正 當某節點V存在虛連接時,需要對該虛連接進行修正。對于一個根據最近線圖元上最近點的性質以及節點的最近距離,可以對如下3種情況進行討論。 (1) 當最近線圖元上的最近點A是節點層節點時(如圖1(c)所示)。修復步驟:移動節點V到節點A;合并節點V和節點A。 (2) 當最近線圖元上的最近點A不是節點層節點,且與V的距離為零時(如圖1(d)所示)。修復步驟:在點A所在的道路圖元上的A處拆分道路;合并節點V和節點A。 (3) 當最近線圖元上的最近點A不是節點層節點,且與V的距離大于零時(如圖1(a)與(b)所示)。修復步驟:在點A所在的道路圖元上的A處拆分道路;連接節點V到節點A。 基于上述主要的設計思路,路網中虛連接修復算法如圖2所示。 圖2 虛連接修復算法 2.4路網拓撲結構的構建 當路網圖層上的節點連通性修復完畢后,在實施具體應用之前,應該構建路網拓撲結構,即確定路網中的節點數量和位置坐標、線圖元數量與地理長度,以及節點與道路之間的空間關系等信息,通常這些信息通過文件形式保存。 GISDK函數庫中自帶了創建路網拓撲結構文件的專用函數[5]:CreateNetwork (string set_name, string file_name, string label, array link_field_names, array node_field_names, array options)。在GISDK編制的Macro中,使用該函數來創建路網拓撲結構。下面語句在D盤下創建名為mynet.net的路網拓撲文件: linkflds = {{"Length", line_layer+".Length", line_layer+".Length"}} net = createNetwork(,"d:mynet.net","Network",linkflds,,) 最典型的路網分析應用就是最短路計算。最短路問題是軍事交通運輸信息化建設所面臨的基本問題之一,許多后勤優化問題均可以通過最短路問題來求解。例如兩地間的最短里程線路、最安全線路、道路修筑、管道鋪設,線路安裝等,再如后勤保障單元布局,設備更新等問題也可轉化為最短路問題。本節討論基于GISDK的路網拓撲結構分析方法在最短路計算上的應用,路網采用安徽省國省道的MapInfo格式地理文件,GIS開發平臺為TransCAD 4.5和GISDK語言開發包。 將MapInfo格式地理文件導入到TransCAD中,采用連通性分析工具檢查路網連通性,共報告有141處節點存在虛連接問題(如圖3所示),圖中帶圓圈的節點存在虛連接。顯然,在這樣的路網上是不能進行正確的路網分析的。利用基于GISDK編制的路網修復應用程序,對該路網進行虛連接修復和拓撲結構構建。修復后,重新檢查路網連通性,發現路網虛連接全部消除。 圖3 路網連通性檢查結果 為了驗證本文提出方法的有效性,在該路網上利用本文提出的方法和文獻[6]中提出的算法進行最短路分析比較。利用相同的區域地圖,隨機選擇20組起點和終點進行最短路分析測試,測試結果為本文提出的方法分析結果與文獻[6]中提出的基于MapX最短路徑分析方法結果完全一致。這表明所提出的方法在實際應用中是可行的和有效的。圖4為其中一組起點與終點間的最短路分析結果,其中粗線顯示了指定的兩節點間的最短路徑,其最短距離為440.47 km。 圖4 修復后路網上最短路分析 本文探討了基于GISDK的路網拓撲結構的構建與應用,提出的路網構建方法具有如下優勢:一是解決了路網的連通性問題。對路網存在的虛連接情況進行了深入分析,提出了基于GISDK的路網連通性修復和構建方法,為后續的路網分析奠定了基礎。二是拓展了地理文件的應用范圍。虛連接問題的有效解決,為MapInfo格式地理文件提供了新的應用領域,也為TransCAD用戶對其他格式地理文件的利用提供了一種新的思路。 [1]涂圣武 張海軍,羅洪波,等.基于GISDK的TransCAD軟件宏的開發與應用[J].公路與汽運,2006(4):45-47. [2]王偉,趙云疾. 基于GISDK的公路網規劃過程優化模塊開發研究[J].吉林交通科技,2008(4):47-49. [3]許云,王薇. 基于TransCAD平臺二次開發的城市公共交通線網優化決策支持系統[J].交通與運輸,2012,28(7):77-81. [4]王子明,胡郁蔥,龐清閣,等.基于GISDK進行公路網區域OD數據合成系統的開發研究[J].內蒙古公路與運輸,2010(1):1-5. [5]Caliper Corporation. TransCAD中文用戶手冊[Z].北京:北京數字空間科技有限公司,2002, 100-220 [6]YIN Xuri. Topology analysis for the damaged road network based MapX[J]. Advanced Materials Research, 2014,1022:321-324. (編輯:史海英) Construction and Application of GISDK-Based Road Network Topological Structure YIN Xuri (Transportation Service Department, Bengbu Automobile NCO Academy, Bengbu 233011, China) It is common to build a road network by importing geographic files in various formats into TransCAD in engineering practice, which, however, might cause connectivity problems. In this paper, some common types of virtual connection in road network are summarized, and a GISDK-based method of fixing virtual connection is designed and implemented. The validity of the proposed method is verified by applying to the modified road network the program compiled with GISDK for the shortest path analysis. GISDK; topological structure; connectivity; shortest path analysis 2015-11-02; 2016-03-20. 尹旭日(1964—),男,博士,教授. 10.16807/j.cnki.12-1372/e.2016.08.021 U491 A 1674-2192(2016)08- 0090- 04
3 應用實例


4 結 語