本發(fā)明涉及互聯(lián)網技術,尤其涉及一種公交車線路設置方法、路線規(guī)劃方法、公交車線路設置裝置以及路線規(guī)劃裝置。
背景技術:
隨著汽車保有量的不斷增加,道路尤其是城市道路的負荷日漸加重。乘坐公共交通工具(如地鐵以及公交車等)出行已被大力提倡。
為了人們的出行便利以及道路管理等多方面因素,交管部門或者與出行相關的app(如高德地圖app)等信息提供方往往需要為信息需求方(如出行者)提供基于道路公共交通工具路線規(guī)劃信息;而在提供基于道路公共交通工具路線規(guī)劃信息的過程中,往往需要針對多條公交車線路分別進行計算,以便于為信息需求方規(guī)劃較佳的路線。
發(fā)明人在實現(xiàn)本發(fā)明過程中發(fā)現(xiàn),如何快速且準確的計算出基于道路公共交通工具的路線是信息提供方關注的一個焦點問題,現(xiàn)有的規(guī)劃出行路線的方法在計算效率等方面需要不斷的被優(yōu)化。
技術實現(xiàn)要素:
本發(fā)明的目的是提供一種公交車線路設置方法、路線規(guī)劃的方法及裝置。
根據本發(fā)明的其中一個方面,提供一種公交車線路設置方法,其中,該方法包括以下步驟:獲取各公交車線路的用于表征公交車線路的路線特征的屬性信息;根據所述各公交車線路的屬性信息,將各公交車線路中路線特征相似的至少一條公交車線路組成一個公交車線路組;針對每一個公交車線路組,根據該公交車線路組中的公交車線路的屬性信息,確定一條代表該組公交車線路組中的公交車線路進行路線規(guī)劃的主公交車線路。
根據本發(fā)明的再一個方面,還提供一種路線規(guī)劃方法,其中,該方法主 要包括以下步驟:接收攜帶有起點和終點的路線規(guī)劃請求;根據預置的各公交車線路組對應的主公交車線路,規(guī)劃出從所述起點到所述終點的路線;所述公交車線路組和主公交車線路為上述公交車線路設置方法而設置得到的公交車線路組及其對應的主公交車線路。
根據本發(fā)明的另一個方面,還提供一種公交車線路設置裝置,其中,該裝置主要包括:獲取模塊,用于獲取各公交車線路的用于表征公交車線路的路線特征的屬性信息;線路組設置模塊,用于根據所述各公交車線路的屬性信息,將各公交車線路中路線特征相似的至少一條公交車線路組成一個公交車線路組;主線路設置模塊,用于針對每一個公交車線路組,根據公交車線路組中的公交車線路的屬性信息,確定一條代表公交車線路組中的公交車線路進行路線規(guī)劃的主公交車線路。
根據本發(fā)明的再一個方面,還提供一種路線規(guī)劃裝置,其中,該裝置主要包括:接收模塊,用于接收攜帶有起點和終點的路線規(guī)劃請求;路線規(guī)劃模塊,用于根據預置的各公交車線路組對應的主公交車線路,規(guī)劃出從所述起點到所述終點的路線;所述公交車線路組和主公交車線路為利用所述的公交車線路設置裝置而設置得到的公交車線路組及其對應的主公交車線路。
與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點:本發(fā)明通過將公交車線路的路線特征相似的至少一條公交車線路組成一個公交車線路組,并針對各公交車線路組分別依據各公交車線路組中的各公交車線路的屬性信息為各公交車線路組設置一條能夠代表公交車線路組中的公交車線路進行路徑規(guī)劃的主公交車線路。因此,后續(xù)在進行路徑規(guī)劃時可以直接根據各公交車線路組對應的主公交車線路進行計算即可,無需所有公交車線路參與路徑計算,從而有效減少了路線規(guī)劃的計算量,提高路徑計算的效率。由此可知,本發(fā)明提供的技術方案節(jié)約了路線規(guī)劃的計算資源,并提高了路線規(guī)劃效率。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1為本發(fā)明實施例一的公交車線路設置方法流程圖;
圖2為本發(fā)明實施例中生成主公交車線路的示意圖之一;
圖3為本發(fā)明實施例中生成主公交車線路的示意圖之二;
圖4為本發(fā)明實施例二的路線規(guī)劃方法流程圖;
圖5為本發(fā)明實施例三的公交車線路設置裝置示意圖;
圖6為本發(fā)明實施例四的路線規(guī)劃裝置示意圖。
附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的實施例作詳細描述。
在更加詳細地討論示例性實施例之前應當提到的是,一些示例性實施例被描述成作為流程圖描繪的處理或方法。雖然本發(fā)明的流程圖將各項操作描述成順序的處理,但是,其中的許多操作可以被并行地、并發(fā)地或者同時實施。此外,各項操作的順序可以被重新安排。當其操作完成時所述處理可以被終止,但是還可以具有未包括在附圖中的附加步驟。所述處理可以對應于方法、函數(shù)、規(guī)程、子例程、子程序等等。
所述智能電子設備包括用戶設備與網絡設備。其中,所述用戶設備包括但不限于電腦、智能移動電話以及pda等;所述網絡設備包括但不限于單個網絡服務器、多個網絡服務器組成的服務器組或者基于云計算(cloudcomputing)的由大量計算機或者網絡服務器構成的云,其中,云計算是分布式計算的一種,由一群松散耦合的計算機集組成的一個超級虛擬計算機。其中,所述智能電子設備可以接入網絡并與網絡中的其他智能電子設備進行信息交互操作。其中,所述智能電子設備所能夠接入的網絡包括但不限于互聯(lián)網、廣域網、城域網、局域網、vpn網絡等。
需要說明的是,所述用戶設備、網絡設備以及網絡等僅為舉例,其他現(xiàn)有的或今后可能出現(xiàn)的智能電子設備或者網絡如可適用于本申請,也應包含在本申請保護范圍以內,并以引用方式包含于此。
后面描述所討論的方法(其中一些通過流程圖示出)實施例可以通過硬件、軟件、固件、中間件、微代碼、硬件描述語言或者其任意組合的形式來 實施。當用軟件、固件、中間件或者微代碼來實施時,用以實施必要任務的程序代碼或者代碼段可以被存儲在機器或計算機可讀介質(比如存儲介質)中。(一個或多個)處理器可以實施必要的任務。
這里所公開的具體結構和功能細節(jié)僅僅是代表性的,并且是用于描述本申請的示例性實施例的目的,但是,本申請可以通過許多替換形式來具體實現(xiàn),并且不應當被解釋成僅僅受限于這里所闡述的實施例。
應當理解的是,雖然在這里可能使用了術語“第一”、“第二”等等來描述各個單元,但是這些單元不應當受這些術語限制。使用這些術語僅僅是為了將一個單元與另一個單元進行區(qū)分。舉例來說,在不背離示例性實施例的范圍的情況下,第一單元可以被稱為第二單元,并且類似地第二單元可以被稱為第一單元。這里所使用的術語“和/或”包括其中一個或更多所列出的相關聯(lián)項目的任意和所有組合。
應當理解的是,當一個單元被稱為“連接”或者“耦合”到另一個單元時,其可以直接連接或者耦合到所述另一個單元,也可以存在中間單元。與此相對的,當一個單元被稱為“直接連接”或者“直接耦合”到另一個單元時,則不存在中間單元。應當按照類似的方式來解釋被用于描述單元之間的關系的其他詞語(例如,“處于...之間”相比于“直接處于...之間”,“與...鄰近”相比于“與...直接鄰近”等等)。
這里所使用的術語僅僅是為了描述具體實施例,而不是意圖限制示例性實施例。除非上下文中明確地另有所指,否則,這里所使用的單數(shù)形式“一個”、“一項”還意圖包括復數(shù)。還應當理解的是,這里所使用的術語“包括”和/或“包含”規(guī)定了所陳述的特征、整數(shù)、步驟、操作、單元和/或組件的存在,而不排除存在或者添加一個或更多的其他特征、整數(shù)、步驟、操作、單元、組件和/或其組合。
還應當提到的是,在一些替換實現(xiàn)方式中,所提到的功能/動作可以按照不同于附圖中標示的順序發(fā)生。舉例來說,取決于所涉及的功能/動作,相繼示出的兩幅圖實際上可以基本上同時執(zhí)行或者有時可以按照相反的順序來執(zhí)行。
下面結合附圖對本發(fā)明的技術方案作進一步詳細描述。
實施例一、公交車線路設置方法。
圖1為本實施例的公交車線路設置方法流程圖。如圖1所示,本實施例的方法主要包括:步驟s100、步驟s110以及步驟s120。本實施例所記載的方法可以是在用戶側的智能電子設備(如手機、平板電腦、導航儀等)中被執(zhí)行,也可以是在網絡側的服務器(如電子地圖app的服務器)中執(zhí)行。本實施例不限制實現(xiàn)公交車線路設置方法的智能電子設備的具體表現(xiàn)形式,即本實施例不限制公交車線路設置方法所適用的硬件環(huán)境。
下面對圖1中的各步驟分別進行詳細描述。
s100、獲取各公交車線路的用于表征公交車線路的路線特征的屬性信息。
具體的,本實施例中公交車線路的屬性信息中能夠表征公交車線路的線路特征的屬性信息可以包括:公交車線路的線路名稱和/或公交車線路所包含的站點。這些屬性信息能夠在一定程度上描述公交車線路所要途徑的路段和站點。
本實施例的公交車線路的線路名稱通常為公交集團為公交車線路進行唯一編號的編號代碼(也可以稱為公交車線路的路數(shù)),如北京市的以下公交車線路:300路內環(huán)、300路外環(huán)、300路快內、300路快外,這4條公交車線路途徑的路段為三環(huán)路包含的所有路段;再如北京市以下公交車線路:特8路外、特8路內,這2條公交車線路途徑的路段為三環(huán)路包含的所有路段。
本實施例中的公交車線路所包含的站點是指公交車線路所??康乃姓军c(也可以稱為站名),如起點站、終點站以及起點站與終點站之間的所有中間站,而站點一般是設置在道路上的站點,因此公交車線路途徑的站點即能明確該公交車線路途徑的路段。由此可以看出不管是公交車線路的名稱還是公交車線路包含的站點均能表征該公交車線路途徑的路段(即該公交車線路的路線特征)。
環(huán)路公交車線路是指起點站和終點站相同的公交車線路,比如300路快內的起點站和終點站均是草橋;非環(huán)路公交車線路是指起點站和終點站不同的公交車線路。對于非環(huán)路公交車線路,上行方向的起點站往往是下行方向的終點站,而上行方向的終點站往往是下行方向的起點站,因此,在本實施例中,對于非環(huán)路公交車線路會存儲兩組數(shù)據,一組數(shù)據為上行方向的起點 站、終點站和中間站,另一組為下行方向的起點站、終點站和中間站。
本實施例中的公交車線路的路線通常是由相應的公交車行駛的路段形成。
s110、根據各公交車線路的屬性信息,將各公交車線路中路線特征相似的至少一條公交車線路組成一個公交車線路組。
具體的,本實施例會對不同公交車線路的屬性信息進行識別及判斷,以從不同公交車線路中獲得公交車線路的路線特征相似的至少一條公交車線路,將路線特征相似的公交車線路組成一個公交車線路組。即根據公交車線路的屬性信息將各公交車線路劃分為多個公交車線路組。即一個公交車線路組中的各公交車線路途徑的路段較為相似。
本實施例中的路線特征相似可以具體為:
方式1、線路名稱中包含有相同關鍵字(如線路名稱中的數(shù)字)且包含的相同站點的數(shù)量達到預定數(shù)量的多條公交車線路其線路特征相似。包含相同站點的數(shù)量可以是指多條公交車線路所具有的共同的站點的數(shù)量,也可以是指多條公交車線路分別與其中一條公交車線路所具有的相同站點的數(shù)量。
因此,前述步驟s110中,具體實現(xiàn)可如下:步驟a1)識別出各條公交車線路的線路名稱所包含的關鍵字;步驟a2)將關鍵字相同的公交車線路組成一個待定公交車線路組;步驟a3)針對每一個待定公交車線路組,根據待定公交車線路組包含的站點從待定公交車線路組中選取至少一條公交車線路組成公交車線路組,具體實現(xiàn)如:針對每一個待定公交車線路組,執(zhí)行以下步驟:從待定公交車線路組中選取一條包含站點數(shù)量最多的公交車線路作為參考公交車線路;針對待定公交車線路組中的其余每條公交車線路,判斷每條公交車線路分別與參考公交車線路包含的相同站點的數(shù)量是否大于等于預置的數(shù)量閾值,若是則保留,若否則刪除;將保留的公交車線路以及參考公交車線路組成一個公交車線路組?;蛘?,前述步驟s110中,具體實現(xiàn)可如下:識別出各條公交車線路的線路名稱所包含的關鍵字;將關鍵字相同的公交車線路組成一個待定公交車線路組;針對每一個待定公交車線路組,判斷待定公交車線路組中公交車線路包含的共同站點數(shù)量是否大于等于數(shù)量閾值,若是則將該待定公交車線路組作為公交車線路組,若小于數(shù)量閾值則不將該待 定公交車線路組作為公交車線路組。
方式2、起點站和終點站均相同,且包含的相同站點的數(shù)量達到預定數(shù)量的多條公交車線路其線路特征相似。包含相同站點的數(shù)量可以是指多條公交車線路所具有的共同的站點的數(shù)量,也可以是指多條公交車線路分別與其中一條公交車線路所具有的相同站點的數(shù)量。因此,前述步驟s110中,具體實現(xiàn)可如下:步驟b1)將起點站和終點站均相同的公交車線路組成一個待定公交車線路組;步驟b2)針對每一個待定公交車線路組,根據待定公交車線路組包含的站點從待定公交車線路組中選取至少一條公交車線路組成公交車線路組,具體實現(xiàn)可如下:針對每一個待定公交車線路組,執(zhí)行以下步驟:從待定公交車線路組中選取一條包含站點數(shù)量最多的公交車線路作為參考公交車線路;針對待定公交車線路組中的其余每條公交車線路,判斷每條公交車線路分別與參考公交車線路包含的相同站點的數(shù)量是否大于等于預置的數(shù)量閾值,若是則保留,若否則刪除;將保留的公交車線路以及參考公交車線路組成一個公交車線路組?;蛘撸笆霾襟Es110中,具體實現(xiàn)可如下:將起點站和終點站均相同的公交車線路組成一個待定公交車線路組;針對每一個待定公交車線路組,判斷待定公交車線路組中公交車線路包含的共同站點數(shù)量是否大于等于數(shù)量閾值,若是則將該待定公交車線路組作為公交車線路組,若小于數(shù)量閾值則不將該待定公交車線路組作為公交車線路組。
例如:公交車線路集合中包括300路內環(huán)公交車線路、300路外環(huán)公交車線路、300路快內公交車線路、300路快外公交車線路;識別出該4條公交車線路的名稱中包含的關鍵字均為300,則將該4條公交車線路作為一個待定公交車線路組;將待定公交車線路組中的包含站點數(shù)量最多的300路內環(huán)作為參考公交車線路;分別統(tǒng)計300路外環(huán)公交車線路、300路快內公交車線路、300路快外公交車線路與300路內環(huán)公交車線路包含的相同站點的數(shù)量;判斷300路外環(huán)公交車線路與300路內公交車線路所包含的相同站點的數(shù)量是否達到數(shù)量閾值,若是則保留300路外環(huán)公交車線路,若否則刪除300路外環(huán)公交車線路;判斷300路快內公交車線路與300路內環(huán)公交車線路所包含的相同站點的數(shù)量是否達到數(shù)量閾值,若是,則保留300路外內公交車線路,若否,則刪除300路外內公交車線路;判斷300路快外公交車線路與 300路內環(huán)公交車線路所包含的相同站點的數(shù)量是否達到數(shù)量閾值,若是則保留300路快外公交車線路,若否則刪除300路快外公交車線路;將保留的公交車線路作為一個公交車線路組。
再例如:從公交車線路集合中讀取出一路公交車線路的起點站和終點站,設定本次讀取出的公交車線路的起點站和終點站分別為北京市的918路公交車線路的起點站和終點站,即平谷汽車站和東直門樞紐站;然后,本實施例從公交車線路集合中繼續(xù)讀取其他公交車線路的起點站和終點站,并從中選取具有相同起點站和終點站的公交車線路形成一個待定公交車線路組,如選取起點站和終點站為平谷汽車站和東直門樞紐站的公交車線路,而由于北京市的852路公交車線路的起點站和終點站分別為平谷汽車站和東直門樞紐站,因此,北京市的852路公交車線路會被選取出來與北京市的918路公交車線路一起形成一個待定公交車線路組;之后,對北京市的918路公交車線路和北京市的852路公交車線路所包含的相同站點的數(shù)量進行統(tǒng)計,并判斷北京市的918路公交車線路和北京市的852路公交車線路所包含的相同站點的數(shù)量是否達到數(shù)量閾值,如果達到數(shù)量閾值,則本實施例將北京市的918路公交車線路和北京市的852路公交車線路作為一個公交車線路組,否則,本實施例不會將北京市的918路公交車線路和北京市的852路公交車線路作為一個公交車線路組。
s120、針對每一個公交車線路組,根據公交車線路組中的公交車線路的屬性信息,確定一條代表該組公交車線路組中的公交車線路進行路線規(guī)劃的主公交車線路。
具體的,本實施例在將多條公交車線路作為一個公交車線路組之后,需要為公交車線路組設置主公交車線路,該主公交車線路主要用于在路線規(guī)劃過程中參與路徑計算,從而使公交車線路組中的其他公交車線路可以不參與路徑計算,以減小路線規(guī)劃過程中的路徑計算量。
本實施例中的主公交車線路可以為公交車線路組中的其中一條公交車線路,也可以為針對公交車線路組虛擬出的一條新的公交車線路;然而,無論主公交車線路是公交車線路組中的其中一條公交車線路,還是虛擬出的一條新的公交車線路,本實施例中的主公交車線路所應具備的特征通常包括:該 公交車線路所包含其所在公交車線路組中的所有公交車線路包含的站點或者線路換乘信息。只有主公交車線路具備了前述特征才能使得其代表其對應公交車線路組中的其他公交車線路進行路徑計算。因此,前述s120中,具體實現(xiàn)采用以下六種方式中的任意一種:
方式1、針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的站點的公交車線路作為主公交車線路;
方式2、針對每一個公交車線路組:根據公交車線路組中的公交車線路包含的站點虛擬出的一條包含該公交車線路組中所有公交車線路的站點的虛擬公交車線路,將該虛擬公交車線路作為主公交車線路。
方式2具體實現(xiàn)可如:將公交車線路組包含的所有公交車的站點提取出來,并去重;針對去重后的站點,根據各公交車線路得到相鄰站點之間的連通關系,從而得到所有公交車線路包含的站點之間的連通關系圖,得到虛擬出的主公交車線路。如圖2所示,假設公交車線路組包括三條公交車線路,其中公交車線路a包括站點p1-p2-p3-p6-p7-p8-p9,公交車線路b包括站點p3-p6-p7-p8-p9,公交車線路c包括站點p4-p5-p3-p6-p7-p8-p10;則將三條公交車線路的站點提取出來并進行去重后得到站點為p1、p2、p4、p5、p3、p6、p7、p8、p9、p10;根據三條線路包含的站點之間的連通關系,得到去重后的站點的連通關系為p1-p2-p3-p6-p7-p8-p9,p4-p5-p3-p6-p7-p8-p10,得到虛擬線路x為p1-p2(p4-p5)-p3-p6-p7-p8-p9(p10)。
方式3、針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的站點的公交車線路作為主公交車線路,若不能獲取到,則根據該公交車線路組中所有公交車線路包含的虛擬出一條包含該公交車線路組中所有公交車線路包含的站點的公交車線路,將該虛擬出的公交車線路作為主公交車線路。
方式4、針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路作為主公交車線路;
方式5、針對每一個公交車線路組:根據公交車線路組中的公交車線路包含的線路換乘信息虛擬出的一條包含該公交車線路組中所有公交車線路的 站點的虛擬公交車線路,將該虛擬公交車線路作為主公交車線路。
方式5中具體的實現(xiàn)方式如下:得到公交車線路組中每一個公交車線路的線路換乘信息,對線路換乘信息進行去重,將去重后的線路換乘信息的綜合作為主公交車線路。如圖3所示,假設公交車線路組包括四條公交車線路,其中公交車線路a的換乘信息為:線路1-線路a(上車站p3,下車站p8)-線路3;公交車線路b的換乘信息為:線路1-線路b(上車站p3,下車站p7)-線路4;公交車線路c的換乘信息為:線路1-線路c(上車站p3,下車站p8)-線路3;公交車線路d的換乘信息為:線路2-線路d(上車站p1,下車站p13);則對四條公交車線路的換乘信息進行去重后,得到換乘信息為:線路1-主公交車線路x(上車站p3,下車站p8)-線路3,線路1-主公交車線路x(上車站p3,下車站p7)-線路4,線路2-主公交車線路x(上車站p1,下車站p13)。
方式6、針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路作為主公交車線路,若不能獲取到,則根據該公交車線路組中所有公交車線路包含的線路換乘信息虛擬出一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路,將該虛擬出的公交車線路作為主公交車線路。
針對一個公交車線路組,將除主公交車線路之外的各個公交車線路稱為支公交車線路。
一個具體的例子,設定由北京市的300路內環(huán)公交車線路、北京市的300路外環(huán)公交車線路、北京市的300路快內公交車線路以及北京市的300路快外公交車線路形成一個公交車線路組,由于該公交車線路組中的北京市的300路內環(huán)公交車線路所包含的站點數(shù)量最多,且北京市的300路內環(huán)公交車線路所包含的站點覆蓋了北京市的300路外環(huán)公交車線路、北京市的300路快內公交車線路以及北京市的300路快外公交車線路所包含的所有站點,因此,本實施例可以將北京市的300路內環(huán)公交車線路作為該公交車線路組的主公交車線路,而將北京市的300路外環(huán)公交車線路、北京市的300路快內公交車線路以及北京市的300路快外公交車線路作為該公交車線路組的支公交車線路。
另一個具體的例子,設定由北京市的918路公交車線路和北京市的852路公交車線路形成一個公交車線路組,雖然該公交車線路組中的北京市的918路公交車線路所包含的線路換乘信息數(shù)量最多,但是北京市的918路公交車線路所包含的線路換乘信息并沒有完全覆蓋北京市的852路公交車線路所包含的所有線路換乘信息(如由于北京市的918路公交車線路并不停靠北京市的852路公交車線路所包含的部分站點,從而使北京市的918路公交車線路所包含的線路換乘信息并沒有完全覆蓋北京市的852路公交車線路所包含的所有線路換乘信息),因此,本實施例可以根據北京市的918路公交車線路和北京市的852路公交車線路所包含的所有線路換乘信息虛擬出一條公交車線路,該虛擬出的公交車線路所包含的線路換乘信息由北京市的918路公交車線路和北京市的852路公交車線路所包含的所有線路換乘信息形成,且該虛擬出的公交車線路的起點站和終點站與北京市的918路公交車線路和北京市的852路公交車線路的起點站和終點站相同;本實施例可以將該虛擬出的公交車線路作為該公交車線路組的主公交車線路,而將北京市的918路公交車線路和北京市的852路公交車線路均作為該公交車線路組的支公交車線路。
本實施例的公交車線路組中的支公交車線路可以用于進一步形成規(guī)劃出的路線;如在主公交車線路為公交車線路組中的其中一條公交車線路時,該公交車線路組中的支公交車線路可以根據其所包含的站點而作為規(guī)劃路線中的相應主公交車線路的備選路線;再如在主公交車線路為虛擬出的一條新的公交車線路時,該公交車線路組中的所有公交車線路均為支公交車線路,該公交車線路組中的其中一條或者多條支公交車線路應作為規(guī)劃路線中的公交車線路,而其他支公交車線路可以根據其所包含的站點而作為規(guī)劃路線中的相應支公交車線路的備選路線。
另外,本實施例中的公交車線路組還可以用于對公交車線路進行合理規(guī)劃等方面,本實施例不限制公交車線路組的其他具體用處。
實施例二、路線規(guī)劃方法。
本實施例所記載的方法可以在用戶側的智能電子設備(如手機、平板電 腦、導航儀等)中被執(zhí)行,也可以在網絡側的網絡服務器(如電子地圖app的服務器)中被執(zhí)行的,例如在實現(xiàn)在線規(guī)劃路線的過程中,本實施例所記載的路線規(guī)劃方法可以由網絡側的服務器(如云端服務器)等網絡設備執(zhí)行;再例如,在實現(xiàn)離線規(guī)劃路線的過程中,本實施例所記載的路線規(guī)劃方法可以由用戶的智能手機、平板電腦或者導航儀等設備執(zhí)行。本實施例不限制實現(xiàn)路線規(guī)劃方法的用戶設備或者網絡設備的具體表現(xiàn)形式,即本實施例不限制路線規(guī)劃方法所適用的硬件環(huán)境。
本實施例在規(guī)劃路線過程中是根據各公交車線路組的主公交車線路來規(guī)劃起點和終點所對應的路線的。也就是說,在針對起點和終點進行基于公交車的最短路徑計算過程中,本實施例是利用代表公交車線路組的主公交車線路進行最短路徑計算的。
本實施例所涉及的主公交車線路和公交車線路組是基于上述實施例一所記載的公交車線路設置方法而設置的。具體設置過程在此不再詳細描述。
本實施例的路線規(guī)劃方法的流程如圖4所示,且圖4所示的方法主要包括:步驟s200以及步驟s210。下面對圖4中的各個步驟分別進行說明。
圖4中,s200、接收攜帶有起點和終點的路線規(guī)劃請求。
具體的,本實施例可以基于用戶交互界面接收到攜帶有起點和終點的路線規(guī)劃請求。如可以是用戶在交互界面中的輸入框中輸入起點和終點,也可以是在電子地圖中進行選點得到起點和終點。
s210、根據預置的各公交車線路組對應的主公交車線路,規(guī)劃出從起點到終點的路線。
具體的,若主公交車線路為包含其所在公交車線路組包含的公交車線路的所有站點,則本實施例可以通過下述方式一實現(xiàn)從起點到終點的路線規(guī)劃;若所述主公交車線路包含其所在公交車線路組包含的所有公交車線路的線路換乘信息;則本實施例可以通過下述方式二實現(xiàn)從起點到終點的路線規(guī)劃:
方式一、本實施例根據所述起點和終點以及預置的各公交車線路組的主公交車線路進行路徑計算(如最短路徑計算),以得到路徑計算結果;確定路徑計算結果中的主公交車線路以及在主公交車線路上的上車站點和下車站點;根據上車站點和下車站點以及路徑計算結果中的主公交車線路所對應的 公交車線路組包含的公交車線路進行路徑計算,以得到從上車站點到下車站點的線路,將該線路確定為從所述起點到所述終點的路線。
即,本實施例方式一中,首先,根據所述起點和終點,在各主公交車線路中進行路徑計算,得到路徑計算結果,該路徑計算結果中包括乘坐哪個主公交車線路,以及在主公交車線路的哪一站上車(即上車站點)以及哪一站下車(即下車站點),路徑計算結果中可以是一條主公交車線路,即可以通過該主公交車線路直達起點和終點,即上車站點和下車站點均在同一條主公交車線路上,此時只需要根據該條主公交車線路組對應的公交車線路進行路徑計算來得到從上車站點到下車站點的路線(即從起點到終點的路線);路徑計算結果中還可以包括至少一條主公交車線路,即有換乘,此時需要通過在該至少一條主公交車線路之間換乘來得到從上車站點到下車站點的路線(即從起點到終點的路線),此時,需要根據上車站點和下車站點在該至少一條主公交車線路對應的公交車線路組所包含的公交車線路中進行路經計算,以得到從起點到終點的路線。
例如,以圖2所示的一條主公交車線路為例,假設根據起點s,終點e,從主公交車線路進行路徑計算后得到的結果為:從起點s步行到主公交車線路x的p2上車,從主公交車線路x的p10下車步行到終點e。則得到結果為主公交車線路x,上車站為p2,下車站為p10;則根據上車站和下車站,從主公交車線路x對應的公交車線路組中的三條公交車線路進行路徑計算,得到結果為:從起點s步行到公交車線路a的p2上車,在公交車線路a的p3/p6p7p8換乘公交車線路c,在公交車線路c的p10下車步行至終點s。
方式二、本實施例確定出距離起點最近的上車站點以及距離終點最近的下車站點;分別根據所述上車站點、下車站點進行路徑計算,在路徑計算過程中判斷主公交車線路的換乘信息中是否包含與上車站點所在第一路線和下車站點所在第二路線均具有換乘關系的主公交車線路;若有,則根據所述上車站點、下車站點、第一線路、第二線路以及與所述第一線路、第二線路具有換乘關系的主公交車線路所在公交車線路組中的公交車線路進行路經計算,得到從上車站點到下車站點的線路,將該線路確定為從所述起點到所述終點的路線。
即,方式二中,在分別根據上車站點和下車站點進行路徑計算的過程中,每擴展一個站點,則需要判斷一下主公交車線路的線路換乘信息中是否有與上車站點所在第一路線和第二路線具有換乘關系的主公交車線路,在若無繼續(xù)路經計算,若有則根據第一路線、第二路線和前述與第一路線和第二路線均具有換乘關系的主公交車線路所在的公交車線路組中的公交車線路進行路徑計算。
例如,以圖3為例,假設起點s,終點e,根據起點s和終點e以及各主公交車線路組的主公交車線路進行路徑計算的結果為:從起點s步行到站點s’(距離s最近的上車站點)乘坐路線1(即第一路線),在路線1的p3換乘主公交車線路x(即與路線1和路線2均有換乘關系的主公交車線路),在主公交車線路x的p7換乘路線4(即第二路線),在路線4的站點e’(距離e最近的下車站點)步行到e。則根據換乘站p3和p7從主公交車線路所在的公交車線路組包含的四條公交車線路進行計算可得到從起點到終點的路線為:從起點s步行到站點s’乘坐路線1,在路線1的p3換乘公交車線路b,在公交車線路b的p7換乘路線4,在路線4的站點e’步行到e。
需要特別說明的是,從公交車線路組中選擇的公交車線路可以為主公交車線路,也可以為公交車線路組中除主公交車線路之外的其他公交車線路。
本實施例可以采用現(xiàn)有的最短路徑算法來確定本次路線規(guī)劃的起點和終點之間的路線,本實施例不限制在路線規(guī)劃過程中所采用的最短路徑算法的具體表現(xiàn)形式。
實施例三、公交車線路設置裝置。
基于前述實施例一所示的方法流程的相同構思,圖5為本實施例的公交車線路設置裝置示意圖。如圖5所示,本實施例的裝置主要包括:獲取模塊300、線路組設置模塊310以及主線路設置模塊320。本實施例所記載的裝置可以設置于智能電子設備中,也可以設置于網絡側的網絡設備(如電子地圖服務器)中。本實施例不限制公交車線路設置裝置所在的智能電子設備的具體表現(xiàn)形式,即本實施例不限制公交車線路設置裝置所適用的硬件環(huán)境。
下面對圖5中的各模塊分別進行說明。
獲取模塊300,用于獲取各公交車線路的用于表征公交車線路的路線特征的屬性信息。
具體的,本發(fā)明實施例中能夠表征公交車線路的線路特征的屬性信息可以包括:公交車線路的線路名稱和/或公交車線路所包含的站點。這些屬性信息能夠在一定程度上描述公交車線路所要途徑的路段和站點。
如公交車線路的線路名稱通常為公交集團為公交車線路進行唯一編號的編號代碼(也可以稱為公交車線路的路數(shù)),如北京市的以下公交車線路:300路內環(huán)、300路外環(huán)、300路快內、300路快外,這4條公交車線路途徑的路段為三環(huán)路包含的所有路段;還如北京市以下公交車線路:特8路外、特8路內,這2條公交車線路途徑的路段為三環(huán)路包含的所有路段。
本實施例中的公交車線路所包含的站點是指公交車線路所??康乃姓军c(也可以稱為站名),如起點站、終點站以及起點站與終點站之間的所有中間站,而站點一般是設置在道路上的站點,因此公交車線路途徑的站點即能明確該公交車線路途徑的路段。由此可以看出不管是公交車線路的名稱還是公交車線路包含的站點均能表征該公交車線路途徑的路段(即該公交車線路的路線特征)。
環(huán)路公交車線路是指起點站和終點站相同的公交車線路,比如300路快內的起點站和終點站均是草橋;非環(huán)路公交車線路是指起點站和終點站不同的公交車線路。對于非環(huán)路公交車線路,上行方向的起點站往往是下行方向的終點站,而上行方向的終點站往往是下行方向的起點站,因此在本實施例中,對于非環(huán)路公交車線路會存儲兩組數(shù)據,一組數(shù)據為上行方向的起點站、終點站和中間站,另一組為下行方向的起點站、終點站和中間站。
本實施例中的公交車線路的路線通常是由相應的公交車行駛的路段形成。
線路組設置模塊310,用于根據各公交車線路的屬性信息,將各公交車線路中路線特征相似的至少一條公交車線路組成一個公交車線路組。
本實施例中的路線特征相似可以具體為:
方式1、線路名稱中包含有相同關鍵字(如線路名稱中的數(shù)字)且包含的相同站點的數(shù)量達到預定數(shù)量的多條公交車線路其線路特征相似。包含相 同站點的數(shù)量可以是指多條公交車線路所具有的共同的站點的數(shù)量,也可以是指多條公交車線路分別與其中一條公交車線路所具有的相同站點的數(shù)量。
優(yōu)選地,在一個實施例中,線路組設置模塊310包括:第一子模塊、第二子模塊、第三子模塊;其中的第一子模塊主要用于識別出各公交車線路的線路名稱中所包含的關鍵字;其中的第二子模塊主要用于將關鍵字相同的公交車線路組成一個待定公交車線路組;其中的第三子模塊主要用于針對每一個待定公交車線路組,根據待定公交車線路組包含的站點從待定公交車線路組中選取至少一條公交車線路組成公交車線路組。第三子模塊,具體實現(xiàn)可如下:針對每一個待定公交車線路組,執(zhí)行以下步驟:從待定公交車線路組中選取一條包含站點數(shù)量最多的公交車線路作為參考公交車線路;針對待定公交車線路組中的其余每條公交車線路,判斷每條公交車線路分別與參考公交車線路包含的相同站點的數(shù)量是否大于等于預置的數(shù)量閾值,若是,則保留,若否,則刪除;將保留的公交車線路以及參考公交車線路組成一個公交車線路組?;蛘?,第三子模塊,具體實現(xiàn)如下:針對每一個待定公交車線路組,判斷待定公交車線路組中公交車線路包含的共同站點數(shù)量是否大于等于數(shù)量閾值,若是則將該待定公交車線路組作為公交車線路組,若小于數(shù)量閾值則不將該待定公交車線路組作為公交車線路組。
方式2、起點站和終點站均相同,且包含的相同站點的數(shù)量達到預定數(shù)量的多條公交車線路其線路特征相似。包含相同站點的數(shù)量可以是指多條公交車線路所具有的共同的站點的數(shù)量,也可以是指多條公交車線路分別與其中一條公交車線路所具有的相同站點的數(shù)量。
優(yōu)選地,再另一個實施例中,線路組設置模塊310可以包括:第四子模塊和第五子模塊;其中,第四子模塊主要用于將起點站和終點站均相同的公交車線路組成一個待定公交車線路組;第五子模塊主要用于針對每一個待定公交車線路組,根據待定公交車線路組包含的站點從待定公交車線路組中選取至少一條公交車線路組成公交車線路組。第五子模塊具體實現(xiàn)可如下:針對每一個待定公交車線路組,執(zhí)行以下步驟:從待定公交車線路組中選取一條包含站點數(shù)量最多的公交車線路作為參考公交車線路;針對待定公交車線路組中的其余每條公交車線路,判斷每條公交車線路分別與參考公交車線路 包含的相同站點的數(shù)量是否大于等于預置的數(shù)量閾值,若是則保留,若否則刪除;將保留的公交車線路以及參考公交車線路組成一個公交車線路組?;蛘叩谖遄幽K具體實現(xiàn)可如下:針對每一個待定公交車線路組,判斷待定公交車線路組中公交車線路包含的共同站點數(shù)量是否大于等于數(shù)量閾值,若是則將該待定公交車線路組作為公交車線路組,若小于數(shù)量閾值,則不將該待定公交車線路組作為公交車線路組。
具體的,線路組設置模塊310會對不同公交車線路的屬性信息進行識別及判斷,以從各公交車線路中獲得公交車線路的路線特征相似的至少一條公交車線路,即線路組設置模塊310根據公交車線路的屬性信息將各公交車線路劃分為多個公交車線路組,一個公交車線路組中的各公交車線路途徑的路段較為相似。
主線路設置模塊320,用于針對每一個公交車線路組,根據公交車線路組中的公交車線路的屬性信息,確定一條代表公交車線路組中的公交車線路進行路線規(guī)劃的主公交車線路。
具體的,主線路設置模塊320在線路組設置模塊310將多條公交車線路作為一個公交車線路組之后,需要為公交車線路組設置主公交車線路,該主公交車線路主要用于在路線規(guī)劃過程中參與路徑計算,從而使公交車線路組中的其他公交車線路可以不參與路徑計算,以減小路線規(guī)劃過程中的路徑計算量。
本實施例中的主公交車線路可以為公交車線路組中的其中一條公交車線路,也可以為針對公交車線路組虛擬出的一條新的公交車線路;然而,無論主公交車線路是公交車線路組中的其中一條公交車線路,還是虛擬出的一條新的公交車線路,本實施例中的主公交車線路所應具備的特征通常包括:該公交車線路包含其所在公交車線路組中所有公交車線路所包含的站點或者線路換乘信息。只有主公交車線路具備了前述特征才能使得其代表其對應公交車線路組中的其他公交車線路進行路徑計算。只有主公交車線路具備了前述特征才能使得其代表其對應公交車線路組中的其他公交車線路進行路徑計算。
在一個實施例中,主線路設置模塊320可以包括:第六子模塊和/或第七 子模塊。當主線路設置模塊320僅包括第六子模塊時,第六子模塊主要用于針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的站點的公交車線路作為主公交車線路。當主線路設置模塊320僅包括第七子模塊時,第七子模塊主要用于針對每一組公交車線路組:根據公交車線路組中的公交車線路包含的站點虛擬出的一條包含公交車線路組中所有公交車線路的站點的虛擬公交車線路,并將該虛擬公交車線路作為主公交車線路。當主線路設置模塊320既包括第六子模塊又包括第七子模塊時;所述第六子模塊主要用于針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的站點的公交車線路作為主公交車線路,若不能獲取到則觸發(fā)第七子模塊;第七子模塊主要用于對第六子模塊不能獲取到主公交車線路的公交車線路組,根據該公交車線路組中的公交車線路包含的站點虛擬出的一條包含公交車線路組中所有公交車線路的站點的虛擬公交車線路,并將該虛擬公交車線路作為主公交車線路。
在另一個實施例中,主線路設置模塊320可以包括:第八子模塊和/或第九子模塊。當主線路設置模塊320僅包括第八子模塊時,第八子模塊主要用于針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路作為主公交車線路。當主線路設置模塊320僅包括第九子模塊時,第九子模塊主要用于針對每一個公交車線路組:根據公交車線路組中的公交車線路包含的線路換乘信息虛擬出的一條包含該公交車線路組中所有公交車線路的站點的虛擬公交車線路,將該虛擬公交車線路作為主公交車線路。當主線路設置模塊320既包括第八子模塊又包括第九子模塊時,第八子模塊主要用于針對每一個公交車線路組:從公交車線路組中選取一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路作為主公交車線路,若不能獲取到則觸發(fā)第九子模塊;第九子模塊主要用于對第八子模塊不能獲取到主公交車線路的公交車線路組,根據該公交車線路組中所有公交車線路包含的線路換乘信息虛擬出一條包含該公交車線路組中所有公交車線路的線路換乘信息的公交車線路,將該虛擬出的公交車線路作為主公交車線路。
本實施例的公交車線路組中的支公交車線路可以用于進一步形成規(guī)劃出 的路線;如在主公交車線路為公交車線路組中的其中一條公交車線路時,該公交車線路組中的支公交車線路可以根據其所包含的站點而作為規(guī)劃路線中的相應主公交車線路的備選路線;再如在主公交車線路為虛擬出的一條新的公交車線路時,該公交車線路組中的所有公交車線路均為支公交車線路,該公交車線路組中的其中一條或者多條支公交車線路應作為規(guī)劃路線中的公交車線路,而其他支公交車線路可以根據其所包含的站點而作為規(guī)劃路線中的相應支公交車線路的備選路線。
另外,本實施例中的公交車線路組還可以用于對公交車線路進行合理規(guī)劃等方面,本實施例不限制公交車線路組的其他具體用處。
實施例四、路線規(guī)劃裝置。
基于前述實施例二所示的方法流程的相同構思,圖6為本實施例的路線規(guī)劃裝置示意圖。如圖6所示,本實施例的裝置主要包括:接收模塊400以及路線規(guī)劃模塊410。本實施例的裝置可以設置于用戶側的用戶設備中,也可以設置于網絡側的網絡設備中,例如在實現(xiàn)在線規(guī)劃路線的過程中,本實施例所記載的裝置可以在用戶側的智能電子設備(如手機、平板電腦、導航儀等)中被執(zhí)行,也可以在網絡側的網絡服務器(如電子地圖app的服務器)中被執(zhí)行的,例如在實現(xiàn)在線規(guī)劃路線的過程中,本實施例所記載的裝置可以由網絡側的服務器(如云端服務器)等網絡設備執(zhí)行;再例如,在實現(xiàn)離線規(guī)劃路線的過程中,本實施例所記載的路線規(guī)劃方法可以由用戶側的智能手機、平板電腦或者導航儀等設備執(zhí)行。本實施例不限制實現(xiàn)路線規(guī)劃方法的用戶設備或者網絡設備的具體表現(xiàn)形式,即本實施例不限制路線規(guī)劃方法所適用的硬件環(huán)境。
接收模塊400,用于接收攜帶有起點和終點的路線規(guī)劃請求。
具體的,接收模塊400可以基于用戶交互界面接收到攜帶有起點和終點的路線規(guī)劃請求。如可以是用戶在交互界面中的輸入框中輸入起點和終點,也可以是在電子地圖中進行選點得到起點和終點。
路線規(guī)劃模塊410,用于根據預置的各公交車線路組對應的主公交車線路,規(guī)劃出從所述起點到所述終點的路線。
在一個實施例中,所述主公交車線路為包含其所在公交車線路組包含的公交車線路的所有站點;則路線規(guī)劃模塊410可以包括:第一路徑計算子模塊,用于根據所述起點、終點以及各公交車線路組的主公交車線路進行路徑計算;第一確定子模塊,用于確定出路徑計算結果中的主公交車線路以及在主公交車線路的上車站點和下車站點;第二路徑計算子模塊,用于根據所述上車站點和下車站點以及路徑計算結果中的主公交車線路所對應的公交車線路組包含的公交車線路進行路徑計算,以得到從上車站點到下車站點的線路,將該線路確定為從所述起點到所述終點的路線。
在另一個實施例中,所述主公交車線路包含其所在公交車線路組包含的所有公交車線路的線路換乘信息;路線規(guī)劃模塊410具體包括:第二確定子模塊,用于確定出距離起點最近的上車站點以及距離終點最近的下車站點;第三路徑計算子模塊,用于分別根據所述上車站點、下車站點進行路徑計算,在路徑計算過程中判斷主公交車線路的換乘信息中是否包含與上車站點所在第一路線和下車站點所在第二路線均具有換乘關系的主公交車線路;第四路徑計算子模塊,用于在第三路徑計算子模塊的判斷結果為有時,根據所述上車站點、下車站點、第一線路、第二線路以及與所述第一線路、第二線路具有換乘關系的主公交車線路所在公交車線路組中的公交車線路進行路經計算,得到從上車站點到下車站點的線路,將該線路確定為從所述起點到所述終點的路線。
第一路徑計算子模塊、第二路徑計算子模塊、第三路徑計算子模塊以及第四路徑計算子模塊可以采用現(xiàn)有的最短路徑算法來計算公交車路線,本實施例并不做嚴格的限定。
需要注意的是,本發(fā)明的一部分可以被應用為計算機程序產品,如計算機程序指令,當其被智能電子設備(如智能移動電話或者平板電腦等)執(zhí)行時,通過該智能電子設備的操作可以調用或者提供根據本發(fā)明的方法和/或技術方案。而調用本發(fā)明的方法的程序指令,可能被存儲在固定的或可移動的記錄介質中,和/或通過廣播或者其他信號承載媒體中的數(shù)據流而被傳輸,和/或被存儲在根據該程序指令運行的智能電子設備的工作存儲器中。在此,根據本發(fā)明的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令 的存儲器和用于執(zhí)行程序指令的處理器,其中,當該計算機程序指令被該處理器執(zhí)行時,觸發(fā)該裝置運行基于前述根據本發(fā)明的多個實施例的方法和/或技術方案。
對于本領域技術人員而言,顯然本發(fā)明并不限于上述示范性實施例的細節(jié),而且在不背離本發(fā)明的精神或者基本特征的情況下,能夠以其他的具體形式實現(xiàn)本發(fā)明。因此,無論從哪一方面來看,均應將實施例看作是示范性的,而且是非限制性的,本發(fā)明的范圍由所附權利要求而不是上述實施例的說明限定,因此旨在將落在權利要求的等同要件的含義和范圍內的所有變化涵括在本發(fā)明內。不應將權利要求中的任何附圖標記視為限制所涉及的權利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復數(shù)。系統(tǒng)權利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。