論文導(dǎo)讀:目前長三角是世界第六大城市群。提出了基于分層模式的交通網(wǎng)絡(luò)模型。交通網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計。而城際線路相對來說比較少且一般比較固定。分層模式,長三角交通查詢系統(tǒng)的設(shè)計。
目前長三角是世界第六大城市群,該城市群具有面向海洋,依托長江、內(nèi)陸交通發(fā)達(dá)的區(qū)位,使得該地區(qū)商品經(jīng)濟(jì)發(fā)達(dá),工業(yè)基礎(chǔ)雄厚,外向型經(jīng)濟(jì)發(fā)達(dá),城市與城市之間來往的人員也越來越多。到2010年,滬寧、滬杭和寧杭三條高速高路,已形成三小時快速交通圈,串聯(lián)起長三角區(qū)域的三個中心城市(上海,南京,杭州),2010年7月和10月分別通車的滬寧、滬杭高鐵更使得長三角城市崛起為一小時城市群,統(tǒng)稱效應(yīng)更加明顯,在上海上班,在蘇州、無錫安家這已經(jīng)稱為了現(xiàn)實,車流人流快速增長,基于如此高的流動性,提出長三角交通查詢系統(tǒng)是非常必要的。
(一)與普通公交查詢系統(tǒng)的區(qū)別
目前大部分公交查詢系統(tǒng)存在一些考慮不周到的情況:
1.提供信息不全。目前的公交查詢系統(tǒng)一般是輸入起始站點和目的站點,查詢得到的結(jié)果一般是“公交線路+中轉(zhuǎn)站點+公交線路+…”,沒有說明公交線路的始發(fā)時間、收班時間和發(fā)車間隔等信息,而這些信息對于一位不熟悉路線的旅客來說是非常有必要的。而本人所設(shè)計的系統(tǒng)則很好的將這些信息提供給旅客,給旅客更多信息的參考。
2.只是提供市內(nèi)公交系統(tǒng)的查詢。本文所設(shè)計的系統(tǒng)可以查詢長三角城市任意兩站點之間的轉(zhuǎn)乘方案,并且把軌道交通和快速公交(BRT)也考慮在內(nèi)。本人把公交、軌道交通、BRT統(tǒng)稱公交。
3.本文所設(shè)計的系統(tǒng)將城市之間交通中的火車和長途汽車的所有班車信息(包括始發(fā)時間、達(dá)到時間、班次、票價等)提供給旅客。
。ǘ┙煌ňW(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計
1.交通網(wǎng)絡(luò)分層
長三角城市之間的公路交通網(wǎng)絡(luò)主要有滬寧、滬杭、寧杭三條高速公路,以及京滬、蘇嘉杭、沿江等高速公路為補(bǔ)充;鐵路交通網(wǎng)絡(luò)主要有滬寧鐵路、滬杭鐵路。而每個城市的市內(nèi)交通包括了軌道交通、公交、快速公交(BRT)等。論文檢測,分層模式。論文檢測,分層模式。
考慮到交通網(wǎng)絡(luò)里絕大部分線路是運行于城市內(nèi)的交通線路,而城際線路相對來說比較少且一般比較固定,因此將網(wǎng)絡(luò)系統(tǒng)分成兩層:城際交通網(wǎng)絡(luò)和市內(nèi)交通網(wǎng)絡(luò)。
圖1和圖2描述了長三角主要城市之間部分高速公路網(wǎng)絡(luò)和鐵路網(wǎng)絡(luò),在這里將每個城市抽象為一個節(jié)點,每個節(jié)點之間通過城際交通線路連接起來,組成一張無向圖;而每個城市的市內(nèi)交通中,將每個站點抽象成一個節(jié)點,個節(jié)點間通過公交線路連接起來,組成一張有向圖(公交可能出現(xiàn)來回路線不同或環(huán)形路線的情況,所以是有向圖)。
2.數(shù)據(jù)描述
對城際網(wǎng)絡(luò)和市內(nèi)網(wǎng)絡(luò)分別進(jìn)行數(shù)據(jù)的定義,它們的數(shù)據(jù)格式有所不同,見表1。在城際交通網(wǎng)絡(luò)中,出行費用是旅客非常重要的參考依據(jù),所以將費用放在數(shù)據(jù)格式中;而在市內(nèi)交通中,公交線路的始發(fā)時間和終止時間是旅客非常重要的參考依據(jù),而費用幾乎都是相同的,所以市內(nèi)交通將始發(fā)時間和終止時間放在數(shù)據(jù)格式中是很有必要的。在城際網(wǎng)絡(luò)中,每個城市作為一個節(jié)點,而這個節(jié)點又決定了市內(nèi)交通圖,每個節(jié)點對應(yīng)一張市內(nèi)交通圖。
城際交通網(wǎng)絡(luò)和市內(nèi)交通網(wǎng)絡(luò)給出了各個公共交通的換乘關(guān)系。一般來說,2個城市之間任何兩地的換乘次數(shù)不應(yīng)該多于6次,包括2個城市市內(nèi)的最多兩次換乘,以及到長途車站(火車站)的兩次換乘;而同一城市任何兩地之間的換乘次數(shù)不應(yīng)該多于兩次。
在城際交通網(wǎng)絡(luò)的城市節(jié)點中需要記錄?空久Q,目的是長三角的城市都有兩個及兩個以上的車站(包括火車站和長途汽車站),這樣確定是哪一個?空竞,就可以查詢經(jīng)過此?空镜氖袃(nèi)交通線路;城際線路的車票價格單獨列出,可以查詢?nèi)魏蝺沙鞘械膬r錢,因為火車一般需要經(jīng)過多個站,旅客的上車站和下車站又是隨機(jī)的;城際線路的?空荆疚闹涣谐鲩L三角主要城市的站點;公交線路中將每一班公交車的始發(fā)時間和收班時間以及平均等待時間提供給旅客,讓旅客作出更正確的選擇。
(三)交通網(wǎng)絡(luò)的分析
1.節(jié)點部分
節(jié)點包括了城市節(jié)點和公交車站節(jié)點,它們是網(wǎng)絡(luò)中拾起或卸下資源的結(jié)點位置。在實際情況中,特別是公交站點的分布,同一條公交線路或多條公交線路所經(jīng)歷的公交站點是比較復(fù)雜的,它們的情況有很多種,下面針對一些常見的情況進(jìn)行說明。
1)城市節(jié)點
城市節(jié)點主要記錄了列車在此城市?康能囌荆严嗤鞘械牟煌囌荆ㄆ囌净蚧疖囌荆┏橄蟪梢粋點。例如上海火車站有上海站和上海南站,把這兩個火車站抽象成一個城市節(jié)點“上海”。
2)公交車站節(jié)點
公交車站節(jié)點相對城市節(jié)點來說情況則復(fù)雜地多。
1)同一公交線路兩個方向上的同名站點在不同的位置(見圖3),將這兩個站點抽象成一個節(jié)點(如圖4)。論文檢測,分層模式。
(2)不同線路的鄰接站點的抽象比較復(fù)雜,下面以兩條公交線路的情況來舉例說明。
、僬军c地理位置完全相同,但站點名稱不同(見圖5)。
②兩個站點地理位置不重合,但離開的比較近,比如步行3min就可以到達(dá)(見圖6)。
可以將上述兩種情況的不同站點抽象成一個站點(見圖7),將這個站點命名為A=(a,w),其中a表示此站點的名稱,w表示和a在w范圍之內(nèi)(可以是時間或距離)的任何一個點,w表示一個經(jīng)驗值,根據(jù)旅客的步行承受能力而定。
(3)如果出現(xiàn)旅客不知道站點叫什么名稱,但知道站點周圍標(biāo)志建筑物,所以可以將這些相關(guān)因素和站點聯(lián)系起來,把它們抽象成一個點。
2.線路部分
1)城際線路
城際線路的情況比較簡單,一般都是單向的,所以可以將城際線路抽象成一條單向的線路。
2)市內(nèi)線路
市內(nèi)線路比較復(fù)雜,總的來說可以將它們分成三類。
(1)完全的雙向公交線路,大部分公交線路上行線路下行線路是重復(fù)的,因而可以將這樣的公交線路抽象成一條雙向邊連接各站點的線路,
。2)環(huán)型線路,一般城市里有部分公交線路是環(huán)型,如無錫105路線就是典型的環(huán)型公交線路,這種線路可以抽象成一個單向的環(huán)型。
(3)部分路段是單行線的線路,也就是有上行路線和下行路線之分,他們的路線大部分是重疊的,小部分是不一樣的,這種線路可以抽象成部分路段是單向的,部分路段是雙向的。論文檢測,分層模式。
3.車票價格
車票價格主要是針對城際列車的票價,而公交和軌道交通的價格相對來說比較便宜且價格大多在2元以內(nèi),相對城際列車的票價可以忽略不計?紤]到長三角的城際列出特別多(包括貨車和長途汽車),如果將每班列車每兩站的價格表示出來,數(shù)據(jù)庫相對來說就會加大?紤]到兩城市之間的距離是固定的,認(rèn)為相同類型的列車在兩城市之間的票價應(yīng)該是相同的。如D3009和D3031,兩列車同為動車(即類型相同),從上海到南京(或南京到上海)的價錢應(yīng)該是相同的。所以對城際列車的編號中應(yīng)該有反映列車類型的編碼。論文檢測,分層模式。
。ㄋ模┎樵兯惴
1.站點說明
對于一個城市節(jié)點來說,它有可能包括幾個站點,并且同一列車有可能經(jīng)過一個城市的幾個站點(如一般滬寧線上的動車都會經(jīng)過南京站和南京西站),這兩個站點雖然在同一個城市,但它們相隔的距離較遠(yuǎn),所以城市站點本文認(rèn)為是獨立的站點,它們作為中轉(zhuǎn)站的時候,不能將它們視為同一站點。而對于市內(nèi)公交來說, 情況就完全不同,假設(shè)兩條線路沒有共同的站點,但有兩站離得特別近(如有A站點和B站點,它們相隔X米,那么我們可以用A站點來表示B站點B=(A,X),反之也成立),那么這時可以將A和B站點看做是一個站點。
2.具體算法
本文中認(rèn)為兩城市之間的主要線路是長途汽車(火車)線路,不同的旅客他的需求是不一樣的,所以提供給旅客兩城市之間的交通線路的信息是非常必要的,這些信息應(yīng)該包括列車的時間信息和費用信息等主要信息。旅客根據(jù)自己的需要選擇特定的線路,由旅客所選的城際線路作為主線路來做具體的線路查詢。具體算法如下:
1)旅客選擇起始城市A和目的城市B,輸入起始站點a和目的站點b,初始化city=A,flag=0,IsCheck=0。每個city對應(yīng)一張市內(nèi)地圖,flag為1表示是城際查詢,為0表示是市內(nèi)查詢,而IsCheck表示查詢標(biāo)志,0表示未查詢,1表示已經(jīng)查詢。執(zhí)行步驟2)。
2)比較A和B是否相同,相同則執(zhí)行步驟4);否則設(shè)置flag=1,并執(zhí)行步驟3);
3)旅客根據(jù)自己的約束條件(如時間小于1.5小時,費用小于70元等)查詢所有滿足約束條件的城際列車的信息,旅客根據(jù)自己的情況選擇其中一條線路A_to_B(i);根據(jù)所選線路可以確定此城際線路所對應(yīng)的公交站點和。執(zhí)行步驟4)。
4)判斷IsCheck的值,為1則執(zhí)行步驟14);為0執(zhí)行步驟5)。
5)判斷flag的值,為0表示同城市之間的查詢,設(shè)置BeginStation為a,設(shè)置EndStation為b,設(shè)置IsCheck為0,并執(zhí)行步驟8);否則執(zhí)行步驟6)。
6)判斷city的值,為A表示查詢的城市是A,使用城市A所對應(yīng)的市內(nèi)交通圖,設(shè)置BeginStation為a,設(shè)置EndStation為,并執(zhí)行步驟8);否則執(zhí)行步驟7)。
7)判斷city的值,為B表示查詢的城市是B,使用城市B所對應(yīng)的市內(nèi)交通圖,設(shè)置BeginStation為,設(shè)置EndStation為b,設(shè)置IsCheck為1,并執(zhí)行步驟8);否則無需設(shè)置,直接執(zhí)行步驟8)。
8)根據(jù)city的值查詢對應(yīng)的市內(nèi)交通圖,得到經(jīng)過BeginStation的路線T1(i)(i表示線路編號),以及經(jīng)過EndStation的路線T2(j),并執(zhí)行步驟9)。
9)是否存在T1(i)=T2(j),存在則保存T1(i)線路,設(shè)置city的值為B,并執(zhí)行步驟?;否則執(zhí)行步驟10)。
10)經(jīng)過線路T1(i)的站點S1(i,k)(k表示線路編號,而k表示車站編號)和經(jīng)過T2(j)的站點S2(j,m),并執(zhí)行步驟11)。
11)判斷是否存在S1(i,k)= S2(j,m),存在則保存線路T1(i)、中轉(zhuǎn)站S1(i,k)、線路T2(i),設(shè)置city的值為B,并執(zhí)行步驟?;否則執(zhí)行步驟12)。
12)找出經(jīng)過站點S1(i,k)的線路T11(i),并找出它的其他站點ST(x,y),執(zhí)行步驟13)。
13)判斷是否存在ST(x,y)= S2(j,m),存在則保存線路T1(i)、中轉(zhuǎn)站S1(i,k)、線路T11(i)、中轉(zhuǎn)站ST(x,y)、線路T2(i),設(shè)置city的值為B,并執(zhí)行步驟4);否則顯示“沒有換乘的路線”。
14)選擇最優(yōu)路線顯示。論文檢測,分層模式。
。ㄎ澹┛偨Y(jié)
交通查詢系統(tǒng)給現(xiàn)代人們提供了很多方便,而對于繁華的長三角城市群來說作用就更加顯而易見了。本文針對普通的公交查詢系統(tǒng),提出了基于分層模式的交通網(wǎng)絡(luò)模型,對長三角地區(qū)的交通網(wǎng)絡(luò)進(jìn)行統(tǒng)一管理,并設(shè)計了城際查詢系統(tǒng)。此系統(tǒng)可以作為GSM移動通信系統(tǒng)的增值業(yè)務(wù),讓需要的人們可以通過發(fā)送短信請求來得到得到所需乘車路線。
參考文獻(xiàn):
[1]蘇嘯,曾子維.基于關(guān)聯(lián)的城市公交換乘查詢算法[J].計算機(jī)工程與設(shè)計,2006,27(3),519-521
[2]鮑江宏.基于矩陣運算的公交查詢高效算法[J].計算機(jī)工程與應(yīng)用,2008,44(10),198-200.
[3]湯筠筠,張代勝,陳朝陽.公交出行查詢系統(tǒng)中出行路徑選擇模型的研究[J].合肥工業(yè)大學(xué)學(xué)報(自然科學(xué)版),2004,27(10).
[4]李旭華.公交線路網(wǎng)絡(luò)分析關(guān)鍵技術(shù)研究[D].太原:中北大學(xué),2005