999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于最少換乘算法的公交查詢系統

2018-02-02 11:04:02宋爽張維石
電腦知識與技術 2018年1期

宋爽+張維石

摘要:分析公共交通網絡結構的特征,基于圖論的方法,明確公交網絡中最短路徑的意義。根據對公交乘客出行心理的調查,發現換乘次數最少是首要考慮的因素。從節省存儲空間、提高運算速度出發,將最少換乘次數問題轉化為最短路徑問題,設計并實現了一個基于最少換乘算法的公交查詢系統。以大連市具體的公共交通情況為例,證明系統是實用有效的。

關鍵詞:公交查詢;公交網絡;最少換乘;最優路徑;Dijstra算法

中圖分類號:TP319 文獻標識碼:A 文章編號:1009-3044(2018)01-0096-03

Abstract: Analysing the characteristics of public transport network structure,and using method Based on graph theory,the significance of the shortest path in the public transport network is defined. According to the survey of bus passengers' travel psychology, it is found that the least number of transfers is the primary consideration. Starting from saving storage space and improving operation speed, the minimum transfer number problem is transformed into the shortest path problem,a bus inquiry system Based on least transfer algorithm is designed and implemented. Taking the specific public traffic in Dalian as an example, it is proved that the system is practical and effective.

Key words: public transport query; public transport network; least tranfer; optimal path;Dijstra algorithm

1 背景

在城市化水平不斷提高的當代中國,各個城市的公共交通也隨之快速發展。隨著“低碳生活,綠色出行”概念的提出,以及大連市內各種私家車限行政策和公交車優惠政策的實行,使得人們更愿意選擇公交車作為出行必要的交通工具。公共交通已經成為城市化發展和全面提高城市化水平的首要問題,是人們出行的首要選擇,越來越多的公交路線被提供,給人們出行帶來便利的同時,也給人們的選擇帶來了更大的困擾。在綜合考慮時間、距離、票價等因素的基礎上,人們更傾向于選擇以換乘次數最少為第一基準、時間最短為第二基準的路線作為出行路線。以大連市現有的公共交通情況為例,基于Android平臺,使用開源的、與操作系統無關的SQLite數據庫,通過對百度地圖API的調用,設計并實現了最少換乘算法下的移動公交查詢系統。

2 系統設計與實現

2.1 系統總體設計

系統采用結構化的方法進行總體設計,即把一個復雜系統的功能實現過程分解成各個子模塊的功能實現過程,這種分解過程是自頂向下、逐層分解,使得每個子模塊實現的功能都控制在人們容易理解和處理的范圍內,并能夠保持子模塊功能的獨立性。系統主要分為兩大功能模塊,一是服務端后臺管理模塊,面向公交管理人員,主要實現了公交基本信息的管理,系統公告的管理、交互信息的管理等功能;二是客戶端用戶查詢模塊,面向普通用戶,主要實現了公交信息基本查詢、換乘查詢、熱點搜索、留言板等功能。

服務端后臺管理模塊中的公交基本信息管理主要用于添加、刪除或修改正在營運的公交線路、站點、運行時間、票價等基礎信息數據。系統公告管理主要用于發布重要事項和通知,例如線路站點臨時變更信息、線路暫時停運信息等。交互信息管理主要用于對用戶的意見建議進行反饋,提供人性化管理給用戶。

客戶端用戶查詢模塊中的公交信息基本查詢主要用于進行線路、站點、運行時間以及票價等的查詢。換乘查詢主要用于為用戶提供起始站和目的站間最合適的路徑規劃。熱點搜索主要用于搜索當前位置周邊的KTV、飯店、商場等信息并在地圖上顯示給用戶。留言板主要用于普通用戶進行意見反饋、分享實時公交信息等。

2.2 數據庫設計

客戶端采用Android自帶的輕量級關系型數據庫,占用資源低,在嵌入式系統中,大概只需要幾百K的內存,能夠支持主流的操作系統,同時能夠跟很多程序語言相結合,比起Mysql、PostgreSQL這兩大開源的數據庫,處理速度更快。

服務端采用SQL Server關系型數據庫,具有使用方便、與相關軟件集成度高等優點,已逐漸成為Windows平臺下進行數據庫應用開發較為理想的選擇之一。而且,由于其易操作性及友好的界面,贏得了廣大用戶的青睞,尤其SQL Server與其他數據庫如Access有良好的ODBC接口,可以將其轉成SQL Server數據庫。服務端主要設計三個數據表來存儲公交信息,分別是線路表、站點表以及線路-站點表,其數據字典如表1、表2以及表3所示。

2.3 查詢功能設計

公交查詢系統中最主要的功能就是公交基本信息和換乘路徑的查詢,以下分別簡單介紹線路查詢模塊、站點查詢模塊、換乘查詢模塊和到站時間預測模塊。

2.3.1 線路查詢模塊

系統根據用戶輸入的線路在本地數據庫進行查詢,如果該線路存在,則直接顯示查詢結果;如果不存在,則聯網進行查詢,首先判斷線路輸入是否為空或不合法,如果是則彈出錯誤提示,否則在后臺數據庫中查詢線路的所有信息,包括公交名稱、始末車時間、站點總數和票價。如果存在查詢結果,則將其顯示,否則提示線路不存在。endprint

2.3.2 站點查詢模塊

系統根據用戶輸入的站點訪問本地數據庫,如果站點存在,則返回途經該站點的線路列表,用戶選擇一條指定線路后,返回途徑該站點的線路列表;如果不存在,則進行聯網查詢,首先判斷站點輸入是否為空或不合法,如果是則彈出錯誤提示,否則在后臺數據庫中查詢該站點,找到途經的所有線路。如果存在查詢結果,則將其結果顯示,否則提示站點不存在。

2.3.3 換乘查詢模塊

換乘查詢功能是系統最重要的模塊,用戶輸入起始站和目的站,系統查詢數據庫數據并根據最少換乘算法,設計合適的出行路線。系統首先訪問本地數據庫,判斷起始站是否存在,如果起始站存在,則再次訪本地數據庫,判斷目的站是否存在,如果目的站存在,則返回換乘路線供用戶選擇。用戶選擇其中一個路線,可顯示該路線的具體方案。

2.3.4 到站時間預測模塊

公交車輛到達時間預測主要利用GPS定位系統、乘客手機GPS定位系統來獲取乘客和待乘公交車之間的距離,再根據公交車輛當前的速度,和具體道路交通狀況,從而估算出公交差到乘客所在位置大致需要的時間,提前5-10分鐘提醒乘客。

3 核心算法分析與實現

3.1 公交網絡及最短路徑

公交網絡是由線路和站點組成的,一條公交線路需要經過若干個站點,一個公交站點又會有若干條公交線路經過,公交線路與線路之間通過共有的站點產生聯系,而公交站點與站點之間則通過線路產生聯系。將公交站點用有窮非空的點集合V來表示,公交線路用有向帶權的邊集合E來表示,構成的二元組G=(V, E)則可以表示一個公交網絡數據模型。

最短路徑問題是圖論中研究的一個經典算法問題,旨在尋找圖中任意兩頂點之間的最短路徑。公交網絡中最短路徑問題可以描述為從起始站點S出發到達目的站點E,其中S和E之間可行的線路往往不只一條,而是有很多條,那么這么多可行的線路中哪一條是最短的呢?這里的“最短”可以是指實際經過的路程最短,也可以拓展為許多方面的最高效率問題,比如時間最短、費用最少、線路利用率最高等標準。

3.2 傳統的Dijkstra算法

經典的圖論與計算機算法的有效結合,使得新的最短路徑算法不斷涌現。目前提出的最短路徑算法中,使用最多、計算速度比較快,又比較適合于計算兩點之間的最短路徑問題的數學模型就是經典的Dijkstra算法。

Dijkstra算法是典型的單源最短路徑算法,用于計算從一個頂點到其余各頂點的最短路徑,由Dijkstra EW于1959年提出,適用于所有弧的權均為非負的情況,主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。該算法的基本思想是:設G=(V, E)是一個帶權有向圖,把圖中頂點集合V分成兩組,第一組為已求出最短路徑的頂點集合(用S表示,初始時S中只有一個源點,以后每求得一條最短路徑 , 就將加入到集合S中,直到全部頂點都加入到S中,算法結束),第二組為其余尚未確定最短路徑的頂點集合(用U表示),按最短路徑長度的遞增次序依次把第二組的頂點加入S中。在加入的過程中,總保持從源點v到S中各頂點的最短路徑長度不大于從源點v到U中任何頂點的最短路徑長度。此外,每個頂點對應一個距離,S中的頂點的距離就是從v到此頂點的最短路徑長度,U中的頂點的距離是從v到此頂點只包括S中的頂點為中間頂點的當前最短路徑長度。

Dijkstra算法存在的局限性:實現Dijkstra算法的核心步驟是從未標記的點中選擇一個權值最小的弧段,這是一個循環比較的過程,必須把所有的點都掃描一遍。在大數據量的情況下,由于傳統的Dijkstra算法求解最短路徑問題運用了關聯矩陣、鄰接矩陣和距離矩陣,在存儲圖形數據和進行運算時,需定義N×N的數組,其中N為網絡的結點數,當網絡的結點數較大時,將占用大量的計算機內存,同時大數組運算起來是很浪費時間的。

3.3 基于最少換乘的最優路徑選擇算法

最少換乘算法的一個明顯缺陷是隨著換乘次數的增加,搜索速度會越來越慢,因此根據大連市公交線路的實際情況,本文認為三次及以內的轉車是比較合理的,超過三次的轉車情況在這里不予考慮。算法具體步驟如下:

1) 直達:設經過起點S或其附近的線路為集合Ls,對應的經過終點E或其附近的線路為集合Le,尋找Ls與Le的交集,如果有則存在從起點S到終點E的直達線路,輸出結果,結束運算,如果沒有則進行下一步。

2) 一次換乘:設起點S乘車能直達的站點為集合Ms,Ms中的站點及其鄰近站點所經過的路線為集合Lms,尋找Lms與Le的交集,如果有則存在從起點S到終點E的一次換乘線路,輸出結果,結束運算,如果沒有則進行下一步。當搜索到的方案數目達到設定的最大方案數目maxCase時,結束搜索。

3) 二次換乘:設能夠直達終點E的站點為集合Me,Me中的站點及其鄰近站點所經過的路線為集合Lme,求Lms與Lme的交集,如果有則存在從起點S到終點E的二次換乘線路,輸出結果,結束運算,如果沒有則進行下一步。當搜索到的方案數目達到設定的最大方案數目maxCase時,結束搜索。

4) 三次換乘:設起點S通過一次換乘所能到達的站點為集合Mms,Mms中的站點及其鄰近站點所經過的路線為集合Lm,求Lm 與Lme的交集,如果有則存在從起點S到終點E的三次換乘線路,輸出結果,結束運算,如果沒有則進行下一步。當搜索到的方案數目達到設定的最大方案數目maxCase時,結束搜索。

4 結束語

根據城市公交運行的實際情況以及人們出行的具體需求,以大連市為例,基于Android平臺,利用Java和JSP編程語言,設計開發了基于百度地圖的移動公交查詢系統,實現了對公交的線路信息、站點信息、換乘信息的查詢以及個性化定制服務,例如:語音搜索、到站提醒等功能,為用戶出行選擇高效快速的乘車路線提供了幫助。

參考文獻:

[1] 崔琳. 城市公交線路查詢系統的設計與實現[J]. 宿州學院學報, 2011, 26(8):46-48.

[2] 文斌. 基于Android的移動公交輔助導航系統設計與實現[J]. 成都信息工程學院學報, 2012, 27(5):437-442.

[3] 何苑, 郝夢巖. 基于百度地圖的移動公交查詢系統的設計與實現[J]. 山西電子技術, 2015(5):45-47.

[4] 程璐瑤, 馬宏琳. 城市公交線路信息查詢系統的設計與實現[J]. 科技創新與應用, 2017(27):110-111.

[5] 王進. 實時公交查詢系統的優化設計和實現[D]. 北京: 北京郵電大學, 2013: 32-38.

[6] 羅在文. 基于移動智能平臺的公交查詢系統[D]. 重慶: 電子科技大學, 2015.

[7] 劉茂華, 韓卯, 王巖, 等. 移動GIS公交查詢系統的實現分析[J]. 遼寧工程技術大學學報:自然科學版, 2015(3).

[8] 石巖.公交車自助線路查詢系統的開發與測試[D]. 北京: 北京郵電大學, 2010.

[9] 陶佩楓. 城市公交查詢系統的設計與實現[D]. 長沙: 中南大學, 2008.

[10] 鮑江宏, 關毅璋. 基于矩陣運算的公交查詢高效算法[J]. 計算機工程與應用, 2008, 44(10):198-200.endprint

主站蜘蛛池模板: 黄色污网站在线观看| 久久黄色一级片| 99精品伊人久久久大香线蕉| 国产真实乱人视频| 国产又色又爽又黄| 欧美激情视频一区| 99re经典视频在线| 国产一二视频| www中文字幕在线观看| 欧美国产视频| 亚洲一区二区成人| 91免费国产在线观看尤物| 天堂va亚洲va欧美va国产| 欧美成一级| 91精选国产大片| 久操线在视频在线观看| 国产日韩精品一区在线不卡 | 中文字幕av无码不卡免费| 麻豆精品在线视频| 成年A级毛片| 国产浮力第一页永久地址 | 日本国产一区在线观看| 日韩欧美国产综合| 久久精品人妻中文视频| 国产亚洲欧美在线视频| 成人免费黄色小视频| 亚瑟天堂久久一区二区影院| 免费aa毛片| 国产日韩av在线播放| 国产亚洲欧美日本一二三本道| 成人av专区精品无码国产| 日韩亚洲高清一区二区| 又爽又黄又无遮挡网站| 精品国产欧美精品v| 国内自拍久第一页| 22sihu国产精品视频影视资讯| 99精品伊人久久久大香线蕉 | 亚洲精品国产综合99| 欧美日韩第二页| 亚洲天堂网在线视频| 青青青视频免费一区二区| 精品黑人一区二区三区| 尤物精品视频一区二区三区| 亚洲欧洲综合| 亚洲精品自拍区在线观看| 91成人在线观看| 99精品免费欧美成人小视频| 国产一级片网址| 中文一级毛片| 在线免费亚洲无码视频| 欧美第二区| 夜精品a一区二区三区| 欧美第一页在线| 2021国产乱人伦在线播放| 亚洲高清无码精品| 97久久精品人人| 国产精品亚欧美一区二区三区| 亚洲Aⅴ无码专区在线观看q| 91丝袜乱伦| 亚洲国产日韩一区| 亚洲精品天堂自在久久77| 天天激情综合| 亚洲大尺码专区影院| 在线免费看黄的网站| 在线不卡免费视频| 国内a级毛片| 亚洲国产成熟视频在线多多| 精品视频一区在线观看| 亚洲成在人线av品善网好看| 搞黄网站免费观看| 欧美日韩在线亚洲国产人| 国产欧美日韩另类| av在线人妻熟妇| 午夜综合网| 中文字幕天无码久久精品视频免费| 制服丝袜一区二区三区在线| 在线播放真实国产乱子伦| 熟妇丰满人妻| 9久久伊人精品综合| 国产精品对白刺激| 亚洲无码高清一区二区| 欧美成人日韩|