肖娟,高光明,彭濤,尹超,林騰
(1.中南大學(xué)地學(xué)與環(huán)境工程學(xué)院,湖南長(zhǎng)沙 410083; 2.江西理工大學(xué)建筑與測(cè)繪工程學(xué)院,江西贛州 341000)
基于動(dòng)態(tài)分段技術(shù)的公交查詢系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
肖娟1?,高光明1,彭濤2,尹超1,林騰1
(1.中南大學(xué)地學(xué)與環(huán)境工程學(xué)院,湖南長(zhǎng)沙 410083; 2.江西理工大學(xué)建筑與測(cè)繪工程學(xué)院,江西贛州 341000)
動(dòng)態(tài)分段技術(shù)是一種線性特征的動(dòng)態(tài)分析、顯示和繪圖技術(shù)。動(dòng)態(tài)分段技術(shù)的提出解決了GIS在處理線性特征時(shí)所遇到的問題,增強(qiáng)了GIS中線性要素的處理能力。本文論述了動(dòng)態(tài)分段技術(shù)的特點(diǎn),實(shí)現(xiàn)了基于動(dòng)態(tài)分段技術(shù)的公交查詢系統(tǒng),表明了動(dòng)態(tài)分段技術(shù)在公交查詢系統(tǒng)中的適用性。
動(dòng)態(tài)分段;線性參考;公交查詢
隨著經(jīng)濟(jì)的發(fā)展、城市規(guī)模不斷擴(kuò)大,各個(gè)城市的交通網(wǎng)絡(luò)也逐漸復(fù)雜化,這就給市民出行選擇線路增添了不少麻煩,尤其是對(duì)于外來的游客,如果對(duì)當(dāng)?shù)氐墓痪€路不是很熟悉,會(huì)造成許多不方便。根據(jù)城市居民和外地旅客的需要,研究城市公交查詢系統(tǒng),尋找并提供一條或多條快速、經(jīng)濟(jì)、方便的從出發(fā)點(diǎn)到目的地的最優(yōu)乘車或換乘方案,是當(dāng)前城市信息化建設(shè)需要解決的問題之一[1]。地理信息系統(tǒng)技術(shù)的應(yīng)用,改變了傳統(tǒng)的文字查詢方案,在很大程度上為出行者提供了詳細(xì)的圖形解釋;因此,一個(gè)圖文交互的公交查詢系統(tǒng)是緩解城市交通擁擠的有效方式[2]。
本文以建立線性參考系統(tǒng)為基礎(chǔ),按照路徑的長(zhǎng)度對(duì)路段進(jìn)行動(dòng)態(tài)分段,論證了動(dòng)態(tài)分段技術(shù)在公交查詢系統(tǒng)中的應(yīng)用,不僅能實(shí)現(xiàn)道路圖形和道路各種屬性數(shù)據(jù)間的雙向動(dòng)態(tài)可視化查詢分析,而且可以動(dòng)態(tài)地描述各種屬性數(shù)據(jù)間的關(guān)系,可以方便、快速進(jìn)行數(shù)據(jù)的綜合處理、顯示和分析。
在弧段-節(jié)點(diǎn)數(shù)據(jù)模型中,線狀特征是以弧段為基本單位進(jìn)行存儲(chǔ)和管理的。對(duì)于空間數(shù)據(jù)庫(kù)中的每條弧段,屬性數(shù)據(jù)庫(kù)中至多存在一條記錄與它對(duì)應(yīng),也就是說弧段是建立線性特征的屬性數(shù)據(jù)庫(kù)的基本單位,同一弧段上的所有位置都具有相同的屬性特征[3~4]。這種模式能很好地模擬具有靜態(tài)特性的線性特征,但在處理道路、河流、管道等線狀特征時(shí),由于這些線狀特征具有一對(duì)多、線性度量以及分段數(shù)據(jù)等特征,弧段—節(jié)點(diǎn)數(shù)據(jù)模型在模擬這些線狀特征時(shí)存在著明顯的困難[5]。
動(dòng)態(tài)分段(Dynamic Segmentation)思想就是根據(jù)各種需求將路段進(jìn)行動(dòng)態(tài)的分段,并將屬性的沿程變化存儲(chǔ)為獨(dú)立的屬性表,使道路以一維線性參照系統(tǒng)為基礎(chǔ)建立的各類屬性集與道路以二維參照系統(tǒng)為基礎(chǔ)建立的空間位置關(guān)聯(lián)起來。在顯示和分析過程中直接根據(jù)事件屬性表中的距離值對(duì)線狀要素進(jìn)行邏輯分段,不必隨每個(gè)屬性集的分段不同來修改對(duì)應(yīng)的二維空間中的坐標(biāo)數(shù)據(jù)[6~7]。
動(dòng)態(tài)分段的思想在GIS的應(yīng)用中通常引入路徑、段、量度值、路徑系統(tǒng)、事件等概念來描述線性系統(tǒng)中的不同特征[8~10]。
(1)路徑(Route)。路徑是指一條或多條弧段的有序集合,可從弧段上任意一點(diǎn)開始。路徑是任何具有唯一標(biāo)識(shí)碼和度量系統(tǒng)的線性要素。如城市街道、高速公路、河流或管線可視為路徑。
(2)段(Segment)。一條路徑通常由一些段組成,段是弧段的整體或者一部分。根據(jù)段在路徑中的位置,一個(gè)段將定義路徑的起始和終止度量,每個(gè)段有一個(gè)起始和終止位置以定義其在弧上的位置。
(3)量度(Measure)。每條路徑都與一個(gè)量度系統(tǒng)有關(guān),量度值是獨(dú)立于要素類的坐標(biāo)系的。這就是說,量度值并不要求和要素類的坐標(biāo)一個(gè)單位。如,存儲(chǔ)在一個(gè)坐標(biāo)系為通用橫軸墨卡托投影(UTM)的要素類中的要素可能具有存儲(chǔ)為英尺或英里的量度值。
(4)路徑系統(tǒng)?;谙嗤慷葮?biāo)準(zhǔn)的路徑的集合稱為路徑系統(tǒng),如一個(gè)城市所有的公交路線可以看成一個(gè)路徑系統(tǒng)。路徑系統(tǒng)中的路徑與段并不是真正的數(shù)據(jù)庫(kù)圖形實(shí)體,本身沒有坐標(biāo),只是通過路徑與段之問的映射關(guān)系繼承了網(wǎng)絡(luò)上弧段的坐標(biāo)。
(5)事件(Event)。事件是路徑上一部分或某個(gè)點(diǎn)上的屬性。當(dāng)路徑以及它們的關(guān)聯(lián)屬性存儲(chǔ)到一個(gè)表中時(shí),就稱為事件。事件存儲(chǔ)了線性參考系統(tǒng)上量度的屬性數(shù)據(jù),利用路徑標(biāo)識(shí)和事件的量度值,就可將事件與地理坐標(biāo)參照的路徑系統(tǒng)鏈接起來。本文提到的公交路線線段和公交站點(diǎn)分別可視為線事件和點(diǎn)事件。
點(diǎn)事件發(fā)生在沿路徑的一個(gè)精確點(diǎn)位置。點(diǎn)事件用一個(gè)度量值描述其位置,點(diǎn)事件表至少包含兩個(gè)字段:路徑ID和路徑位置。路徑ID字段是一個(gè)標(biāo)識(shí)事件所屬路徑的數(shù)字或字符。路徑位置是一個(gè)或兩個(gè)描述沿路徑的事件發(fā)生位置的字段。如圖1所示,事件用路徑位置信息沿路徑定位。其中A123、B456代表的路徑ID,MP就是度量值,代表某個(gè)點(diǎn)在這條線上的位置,如A123這條路徑的度量值從0-55,那么MP值12代表的就是這條路徑上從0到12的位置。
線事件描述路徑的一部分,線性事件用兩個(gè)度量值描述它們的位置。如圖2所示,事件用它們的路徑位置信息沿路徑定位,其中A123、B456代表的路徑ID,RMP、TMP就是度量值,表示的是路徑由起始到終止度量值,5-13表示的就是路徑A123上從5到13之間的段位置[11]。
圖1 點(diǎn)事件
圖2 線事件
在數(shù)據(jù)庫(kù)建設(shè)的過程中,如何根據(jù)系統(tǒng)的功能需求和數(shù)據(jù)特征設(shè)計(jì)出一個(gè)合理的數(shù)據(jù)模型是關(guān)系到數(shù)據(jù)庫(kù)設(shè)計(jì)成敗的關(guān)鍵。由于交通線路性質(zhì)是處于不斷變化中的,為了實(shí)現(xiàn)線段的有效管理,需要對(duì)線路進(jìn)行動(dòng)態(tài)分段。在數(shù)據(jù)庫(kù)中,用公交路線表存儲(chǔ)公交路線的名稱、站點(diǎn)數(shù)目、始發(fā)站、終點(diǎn)站等信息。
在本文所設(shè)計(jì)的城市公交查詢系統(tǒng)中,所涉及的空間實(shí)體主要是公交線路,站點(diǎn)。公交空間實(shí)體概念圖如圖3所示。
圖3 公交實(shí)體概念圖
公交線路通常分為上行路線和下行路線。每條路線又是由一系列站點(diǎn)所組成。如何將公交站點(diǎn)和公交路線之間的關(guān)系動(dòng)態(tài)的聯(lián)系起來就成為主要的問題。在本系統(tǒng)中所采用的動(dòng)態(tài)分段的思想就可以很好的解決上述問題。
采用動(dòng)態(tài)分段的思想,依據(jù)上述公交實(shí)體概念圖,我們可以建立如圖4所示的公交實(shí)體概念模型圖。
圖4 公交實(shí)體概念模型圖
在圖4中利用動(dòng)態(tài)分段的思想,假設(shè)公交路線是由一個(gè)或多個(gè)公交弧段組成,建立線性關(guān)系式Li(i=1,2,3,…n)=(pm1,pm2)其中 L表示一個(gè)公交弧段,i是點(diǎn)在線上的序列,p表示站點(diǎn),m表示該站點(diǎn)所在公交弧段中的度量值,如Pm1表示P站點(diǎn)在線L上的序列為1的度量值。
依據(jù)上述分析需要設(shè)計(jì)公交線路表(如表1),站點(diǎn)表(如表2),站點(diǎn)事件表(如表3)。表3中RouteID與StationID建立一對(duì)多的關(guān)系,即表示空間實(shí)體中一條路線是由一系列站點(diǎn)組成,表3中的每一行代表的是一個(gè)弧段的端點(diǎn)。在本文中M值采用的是由線段的長(zhǎng)度(Length)來確定,如一條線路長(zhǎng)100 m,則這條線路的起點(diǎn)M值為0,終點(diǎn)M值為100,依據(jù)此關(guān)系,每個(gè)站點(diǎn)在公交線路中的位置可由M值來確定,即利用M值動(dòng)態(tài)的確定了點(diǎn)與線的空間關(guān)系。由站點(diǎn)與公交線路的空間關(guān)系可以動(dòng)態(tài)的確定每條公交線路的行車方向。
公交線路表 表1
站點(diǎn)表 表2
站點(diǎn)事件表 表3
4.1 公交直達(dá)與換乘算法
公交換乘有多種優(yōu)先策略。為了滿足不同用戶的需求,本文將兩公交站點(diǎn)之間的公交路徑全部查找出來,供用戶選擇適合自己的出行路徑。算法的主要思想是:
(1)首先根據(jù)起點(diǎn)和終點(diǎn)在表3中分別得到經(jīng)過起點(diǎn)和終點(diǎn)的所有公交,判斷起點(diǎn)和終點(diǎn)之間有沒有相同的公交,如果有則可以直達(dá)。
(2)若起點(diǎn)和終點(diǎn)間沒有相同的公交通過,則依據(jù)經(jīng)過起點(diǎn)的某條公交,判斷該公交中起點(diǎn)以下的站點(diǎn)有沒有和經(jīng)過終點(diǎn)的公交以上的站點(diǎn)同名,有同名則在該同名站點(diǎn)處換乘。
按同樣的推理可以繼續(xù)找二次及以上的換乘方案??紤]現(xiàn)實(shí)生活中的情形和出行心理,本文最多獲取了兩次換乘公交的方案。其中算法中出現(xiàn)的站點(diǎn)以上和站點(diǎn)以下的站點(diǎn)關(guān)系,這種方向關(guān)系是判斷在同一條公交線路上的站點(diǎn)所對(duì)應(yīng)的M值的大小來確定的。在本文中M值大的位置來表示向上,一系列站點(diǎn)確定的這種方向關(guān)系就確定了公交路徑的行車方向。
4.2 系統(tǒng)實(shí)現(xiàn)
本文是基于ArcGIS Server 9.3和微軟的.Net開發(fā)平臺(tái),開發(fā)語言為C#,數(shù)據(jù)庫(kù)的使用采用的是ArcGIS中的空間數(shù)據(jù)庫(kù)(GeoDatabase),實(shí)現(xiàn)了基于動(dòng)態(tài)分段技術(shù)的公交換乘與顯示的系統(tǒng)并在網(wǎng)絡(luò)上發(fā)布。
系統(tǒng)的主要功能有從Polyline類型的道路要素類中提取帶量度值的PolylineM類型的公交路線要素類;將幾何類型為點(diǎn)公交站點(diǎn)要素類和幾何類型為線的公交線路要素類分別轉(zhuǎn)換成點(diǎn)事件和線事件。通過動(dòng)態(tài)計(jì)算,動(dòng)態(tài)生成點(diǎn)事件和線事件對(duì)應(yīng)的空間實(shí)體,查看公交路線包含的站點(diǎn)與顯示;查看經(jīng)過站點(diǎn)的各條路線與顯示;生成公交換乘方案。
圖5 站點(diǎn)查詢
如圖5所示為公交站點(diǎn)的查詢,通過某公交站點(diǎn)的M值確定其在圖中的空間位置并將經(jīng)過該站點(diǎn)的公交線路顯示出來。實(shí)現(xiàn)代碼如下。
圖6 線路查詢
如圖6所示為公交線路的查詢,通過查找公交線路的起點(diǎn)和終點(diǎn)M值來確定公交線路在地圖中的空間范圍。
公交換乘的效果如圖7所示。使用動(dòng)態(tài)分段技術(shù),可以只將一條公交路線的部分連續(xù)站點(diǎn)提取出來,并創(chuàng)建線狀空間實(shí)體,這使得乘車方案可以有詳細(xì)的圖形解釋,出行者可以清楚地知道換乘地點(diǎn)。代碼如下:
IMSegmentation pMsegmentation=null;
IPolyline polyline1=pFeature.ShapeCopy as IPolyline;
pMsegmentation=polyline1 as IMSegmentation;
IPolyline polyline2=pMsegmentation.GetSubcurveBetweenMs (gjquery.getmeasurevalue(ridfrommessage,sstation),gjquery.get-measurevalue(ridfrommessage,estation))as IPolyline;
圖7 公交換乘查詢
動(dòng)態(tài)分段技術(shù)是GIS網(wǎng)絡(luò)分析中一種重要的技術(shù)手段,應(yīng)用動(dòng)態(tài)分段技術(shù)可以很好解決基于線性特征的動(dòng)態(tài)分析問題。使用動(dòng)態(tài)分段技術(shù)很好的將單向的公交路線和公交站點(diǎn)數(shù)據(jù)與基礎(chǔ)路網(wǎng)關(guān)聯(lián),實(shí)現(xiàn)公交實(shí)體的詳細(xì)表達(dá)。通過這種關(guān)聯(lián),公交換乘只需要通過非空間的數(shù)據(jù)庫(kù)表查詢就可實(shí)現(xiàn),然后通過動(dòng)態(tài)分段生成空間實(shí)體顯示結(jié)果。
本文分析了動(dòng)態(tài)分段技術(shù)算法,系統(tǒng)能夠?qū)崿F(xiàn)多種途徑公交線路信息的查詢,用戶既可以通過輸入出發(fā)地點(diǎn)和目的地的地名、輸入公交車次以及輸入地名和公交站名等多種途徑實(shí)現(xiàn)兩地之間公交線路和轉(zhuǎn)乘線路信息的查詢。本系統(tǒng)還有許多需要深入研究的地方,比如最短路徑以及系統(tǒng)的優(yōu)化方面,這將在以后的工作中繼續(xù)完善。
[1]吳木旺,任麗梅,查良松.基于動(dòng)態(tài)分段技術(shù)的城市公交系統(tǒng)數(shù)據(jù)庫(kù)的建立[J].地理信息世界,2006,6(3):61~65
[2]李成翔,蔡先華.動(dòng)態(tài)分段技術(shù)在公交查詢系統(tǒng)中的應(yīng)用[J].城市公共交通,2008,11:35~38
[3]沈婕,閭國(guó)年.動(dòng)態(tài)分段技術(shù)及其在地理信息系統(tǒng)中的應(yīng)用[J].南京師大學(xué)報(bào)(自然科學(xué)版),2002,25(4):105~109
[4]喬延友,武紅敢.地理信息系統(tǒng)中動(dòng)態(tài)分段技術(shù)的研究[J].環(huán)境遙感,1995,10(3):211~216
[5]ESRI公司.Linear Reference System and Dynamic Segmentation in ArcGIS.ESRI White Paper.
[6]黃麗霞.線性參考系統(tǒng)和動(dòng)態(tài)分段技術(shù)在城市GIS-T中的應(yīng)用研究[D].長(zhǎng)春:東北師范大學(xué),2007
[7]楊柳.公路GIS動(dòng)態(tài)分段研究[D].鄭州:鄭州大學(xué),2004
[8]趙玲,謝樹春,湯井田.動(dòng)態(tài)分段思想在MapInfo中的實(shí)現(xiàn)[J].測(cè)繪學(xué)報(bào),2005,34(2):175~178
[9]高小明,唐新明,張春玲.動(dòng)態(tài)分段技術(shù)及其在GIS中的應(yīng)用[J].測(cè)繪通報(bào),2007,10:54~56
[10]李軍利,查良松,王中.動(dòng)態(tài)分段思想在公路地理信息系統(tǒng)中的實(shí)現(xiàn)[J].測(cè)繪與空間地理信息,2006,29(1):67~70
[11]ESRI公司.ArcGIS線性參考教程.ESRI White Paper,45~46
Design and Realization of Public Transport Inquiry System Based on Dynamic Segmentation Technology
Xiao Juan1,Gao GuangMing1,PengTao2
(1.College of Geoscience&Environment Engineering,Central South University,Changsha 410083,China;2.College of Architecture&Mapping Engineering,Jiangxi University of Science and Technology Ganzhou 341000,China)
Dynamic segmentation is a new technique in the analysis,displaying and mapping of lines in GIS.The raise of dynamic segmentation technology resolves of the problem when the temporal linear data is processing by traditional GIS enhances the capability of processing the linear element in GIS enormously.This paper discusses the characteristics of dynamic segmentation technology,sets up a public transport inquiry system with proved applicability.
Dynamic Segmentation;Linear Referencing;Inquiry
1672-8262(2010)02-58-04
P208
A
2009—09—02
肖娟(1985—),女,碩士研究生,研究方向:遙感與GIS技術(shù)應(yīng)用和多源數(shù)據(jù)信息集成。