本發(fā)明專利技術(shù)涉及一種基于WebGIS的公交導(dǎo)乘線路信息處理方法,包括以下步驟:輸入起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B;獲取經(jīng)過起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交線路號,并將它們分別存入動態(tài)數(shù)組中;對數(shù)組中的元素進(jìn)行比較后,判斷是否存在公共線路;判斷經(jīng)過起始點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交車所包含的所有站點(diǎn)是否存在公共站點(diǎn)C;建立公交權(quán)值矩陣T,并對T進(jìn)行賦值,通過比較公交權(quán)值來尋找兩次換乘的線路R,若找到則計算出換乘點(diǎn)和所乘的公交線路,并打印輸出,退出;若未找到,則打印輸出失敗的信息并退出。與現(xiàn)有技術(shù)相比,本發(fā)明專利技術(shù)根據(jù)需要獲取公交線路信息,采用從簡到繁、遞增式的方式進(jìn)行計算,并利用先前得到的結(jié)果作為后續(xù)計算的基礎(chǔ),整個算法高效合理。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及一種公交導(dǎo)乘線路選擇方法,尤其是涉及。
技術(shù)介紹
目前,WebGIS在國內(nèi)外已得到越來越廣泛的應(yīng)用,城市交通電子地圖就是其中的一例,它是智能交通系統(tǒng)(Intelligent traffic System, ITS)的重要組成部分。在城市交通電子地圖中,人們廣泛關(guān)心的問題是對出行線路的選擇。對于采用公交出行的人們而言,出行線路的選擇主要集中在公交換乘方面,本文研究并提出了一種實用、便捷的公交換乘搜索算法,并采用中間件技術(shù)將其應(yīng)用于基于WebGIS的城市交通電子地圖。人們在選擇公交線路時考慮的因素很多,如乘車時間是否最少,乘車是否最方便(如換乘次數(shù)是否最少),乘車費(fèi)用是否便宜,乘車路線是否最短,等等。可見,人們出行時面對眾多的因素很難做出準(zhǔn)確的判斷,所以希望電子地圖能提供多種出行的參考方案。如果將公交站點(diǎn)看成是圖(Graph)的頂點(diǎn)(Vertex),將公交線路看成是圖的邊(Edge),則求公交換乘選擇就等價于求圖的最短路徑問題。求圖的最短路徑的最直接方法是采用Dijkstra算法,該算法求從所有其余頂點(diǎn)到特定頂點(diǎn)的最短路徑的時間復(fù)雜度0(m+nlogn)。然而,在WebGIS中使用該算法有很大的局限性:Di jkstra算法的時間復(fù)雜度建立在圖已經(jīng)生成的基礎(chǔ)上,對于建立一個由近百條公交線路、每條線路有十幾個站點(diǎn)的圖來說,圖的生成時間是不允許忽略的。在WebGIS中,所有的公交線路信息放置在遠(yuǎn)程數(shù)據(jù)庫服務(wù)器中,如果從數(shù)據(jù)庫中讀取全部的公交線路信息來生成圖是不現(xiàn)實的。
技術(shù)實現(xiàn)思路
本專利技術(shù)的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供,該算法根據(jù)需要獲取公交線路信息,采用從簡到繁、遞增式的方式進(jìn)行計算,并利用先前得到的結(jié)果作為后續(xù)計算的基礎(chǔ),整個信息處理方法高效合理。本專利技術(shù)的目的可以通過以下技術(shù)方案來實現(xiàn):,包括以下步驟:I)輸入起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B ;2)從數(shù)據(jù)庫中獲取經(jīng)過起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交線路號,并將它們分別存入動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中;3)對動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中的元素進(jìn)行比較后,判斷是否存在公共線路,若為是,則存入動態(tài)數(shù)組strSameBusNum中,并打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟4);4)將經(jīng)過起始點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交車所包含的所有站點(diǎn)分別存入動態(tài)數(shù)組intStartStop和動態(tài)數(shù)組intEndStop中,并比較這兩個動態(tài)數(shù)組,判斷是否存在公共站點(diǎn)C,若為是,則將公共站點(diǎn)C轉(zhuǎn)換成公交線路號,打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟5);5)建立公交權(quán)值矩陣T,并對T進(jìn)行賦值,通過比較公交權(quán)值來尋找兩次換乘的線路R,若找到則計算出換乘點(diǎn)和所乘的公交線路,并打印輸出,退出;若未找到,則執(zhí)行步驟6);6)打印輸出失敗的信息,結(jié)束。所述的公交權(quán)值取I或0, I表不列項和行項對應(yīng)的兩個站點(diǎn)處于同一條線路中,可通過兩次換乘到達(dá)終點(diǎn)公交站點(diǎn)B,0表示列項和行項對應(yīng)的兩個站點(diǎn)不處于同一條線路,無法通過兩次換乘到達(dá)達(dá)終點(diǎn)公交站點(diǎn)B。與現(xiàn)有技術(shù)相比,本專利技術(shù)根據(jù)需要獲取公交線路信息,采用從簡到繁、遞增式的方式進(jìn)行計算,并利用先前得到的結(jié)果作為后續(xù)計算的基礎(chǔ),整個信息處理方法高效合理。附圖說明圖1為本專利技術(shù)的流程圖;圖2為本專利技術(shù)硬件系統(tǒng)的結(jié)構(gòu)示意圖。具體實施例方式下面結(jié)合附圖和具體實施例對本專利技術(shù)進(jìn)行詳細(xì)說明。實施例如圖1所示,,包括以下步驟:步驟S1:輸入起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B ;步驟S2:從數(shù)據(jù)庫中獲取經(jīng)過起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交線路號,并將它們分別存入動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中;步驟S3:對動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中的元素進(jìn)行比較后,判斷是否存在公共線路,若為是,則存入動態(tài)數(shù)組strSameBusNum中,并打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟S4;步驟S4:將經(jīng)過起始點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交車所包含的所有站點(diǎn)分別存入動態(tài)數(shù)組intStartStop和動態(tài)數(shù)組intEndStop中,并比較這兩個動態(tài)數(shù)組,判斷是否存在公共站點(diǎn)C,若為是,則將公共站點(diǎn)C轉(zhuǎn)換成公交線路號,打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟S5 ;步驟S5:建立公交權(quán)值矩陣T,并對T進(jìn)行賦值,通過比較公交權(quán)值來尋找兩次換乘的線路R,若找到則計算出換乘點(diǎn)和所乘的公交線路,并打印輸出,退出;若未找到,則執(zhí)行步驟S6 ;步驟S6:打印輸出失敗的信息,結(jié)束。在具體實現(xiàn)時,首先根據(jù)用戶輸入的起點(diǎn)A和終點(diǎn)B,利用GIS的buffer算法,通過搜索函數(shù),將起點(diǎn)和終點(diǎn)附近的公交站點(diǎn)分別放入兩個動態(tài)數(shù)組,讓用戶選擇起點(diǎn)A和終點(diǎn)B的公交站點(diǎn)。確定了公交站點(diǎn)后,搜索數(shù)據(jù)庫,查詢起點(diǎn)站A和終點(diǎn)站B是否有相同的車經(jīng)過,如果有,計算從起點(diǎn)A到終點(diǎn)B的路程,通過比較可以得到最短長度的公交線路,推薦給用戶;如果沒有,則計算從起點(diǎn)站A到終點(diǎn)站B之間有沒有一個公共站點(diǎn)C可以換車到達(dá)終點(diǎn),這時候又可以分成兩種情況,如果有,則計算起點(diǎn)A和公共站點(diǎn)C有沒有相同的公交車經(jīng)過并存入動態(tài)數(shù)組,同樣,終點(diǎn)B和公共站點(diǎn)C有沒有相同的公交車經(jīng)過并存入動態(tài)數(shù)組,將這兩個動態(tài)數(shù)組比較后可以得到到達(dá)終點(diǎn)的公交車,然后計算出換乘方案,在這些換乘方案中通過路程計算函數(shù)得到路徑長度,顯示給用戶。以上是屬于換乘一次的情況。如果起點(diǎn)A和終點(diǎn)B之間沒有公共站點(diǎn),就出現(xiàn)了要換乘兩次的情況。兩次換乘的實現(xiàn)參見公交權(quán)值矩陣T,在這個矩陣中存放的是公交權(quán)值。本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種基于WebGIS的公交導(dǎo)乘線路信息處理方法,其特征在于,包括以下步驟:1)輸入起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B;2)從數(shù)據(jù)庫中獲取經(jīng)過起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交線路號,并將它們分別存入動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中;3)對動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum這兩個數(shù)組中的元素進(jìn)行比較后,判斷是否存在公共線路,若為是,則存入動態(tài)數(shù)組strSameBusNum中,并打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟4);4)將經(jīng)過起始點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交車所包含的所有站點(diǎn)分別存入動態(tài)數(shù)組intStartStop和動態(tài)數(shù)組intEndStop中,并比較這兩個動態(tài)數(shù)組,判斷是否存在公共站點(diǎn)C,若為是,則將公共站點(diǎn)C轉(zhuǎn)換成公交線路號,打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟5);5)建立公交權(quán)值矩陣T,并對T進(jìn)行賦值,通過比較公交權(quán)值來尋找兩次換乘的線路R,若找到則計算出換乘點(diǎn)和所乘的公交線路,并打印輸出,退出;若未找到,則執(zhí)行步驟6);6)打印輸出失敗的信息,結(jié)束。
【技術(shù)特征摘要】
1.一種基于WebGIS的公交導(dǎo)乘線路信息處理方法,其特征在于,包括以下步驟: 1)輸入起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B; 2)從數(shù)據(jù)庫中獲取經(jīng)過起始公交站點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交線路號,并將它們分別存入動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum中; 3)對動態(tài)數(shù)組strStartBusNum和動態(tài)數(shù)組strEndBusNum這兩個數(shù)組中的元素進(jìn)行比較后,判斷是否存在公共線路,若為是,則存入動態(tài)數(shù)組strSameBusNum中,并打印輸出結(jié)果,退出;若為否,則執(zhí)行步驟4); 4)將經(jīng)過起始點(diǎn)A和終點(diǎn)公交站點(diǎn)B的公交車所包含的所有站點(diǎn)分別存入動態(tài)數(shù)組intStartStop和動態(tài)數(shù)組i...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:黃詩盛,姚薇,
申請(專利權(quán))人:上海遙薇集團(tuán)有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。