武汉公共交通换乘查询设计与实现毕业论文
2021-11-01 22:19:45
摘 要
本文的主要研究内容是设计并实现武汉市公共交通换乘查询系统,系统的核心是换乘算法,此前与之相关的算法有dijkstra、遗传算法、N次换乘算法等,结合系统功能考虑,本文选择的是N次换乘算法,以换乘最优为基础,再得到其余的最优方案。最后搭配一个简易的单页面应用,为用户提供便于使用系统功能的快速通道,完成了一个基本的换乘查询系统。主要工作内容如下:
(1)基础数据获取:本文利用python对8684网公交和地铁的线路数据进行了爬取。爬取大致分为三步,第一步获取线路分类数据,第二部获取对应分类的线路集合,第三步获取具体线路数据。最后再根据线路数据解析出站点数据,并对应好线路进行存储。
(2)N次换乘算法的设计与实现:总共有0、1、2次换乘这三种情况。先对同类型站点针对三种换乘情况分别进行分析、设计、实现,然后以此为基础延展出不同类型站点的换乘。
(3)完成前端单页面应用:结合后端的功能接口,完成具有换乘查询、线路查询、站点查询功能的基础单页面应用。页面功能主要分为公交、地铁两大类,每一类都包括上述三个查询功能,每个功能都对应一个用户输入栏和结果展示组成的组件页面。
关键词:换乘查询系统;单页面应用;换乘算法
Abstract
The main content of this research is to design and implement the Wuhan public transport transfer query system. The core of the system is the transfer algorithm. Related algorithms include dijkstra, genetic algorithm, N-time transfer algorithm, etc. Considering the function of the system , this paper chose N-time transfer algorithm. This algorithm is based on the optimal transfer to get other optimal solutions. Finally, with a simple single-page application, It will provide users with a fast channel to use the system, and they will form a basic transfer query system. My main work is as follows:
(1) Get basic data: This article uses python to crawl the bus and subway line data on the 8684 website. There are three steps in the crawling process, the first step is to get the line classification data, the second step is to get the line set, the third step is to get the specific line data. Finally, the station data is parsed and stored based on the line data.
(2) Design and implement N-time transfer algorithm: There are three cases of 0, 1 and 2 transfers. First, I will analyze, design, and implement the same type of station for three kinds of transfer situations, and then use this as a basis to get the transfer scheme of different types of stations.
(3) Complete front-end single-page application: Combined with the back-end functional interface, I will complete the basic single-page application with transfer query, line query, and site query functions. The functions of the page are mainly divided into two parts: bus and subway. Each part includes the above three query functions. Each function corresponds to a component page composed of a user input field and a result display.
Key Words:Transfer query system;Single-page application;Transfer algorithm
目录
第1章 绪论 1
1.1 课题背景 1
1.2 换乘算法研究现状 1
1.3 研究内容 2
1.4 论文结构 2
第2章 换乘查询系统关键技术研究 4
2.1 后端环境概述 4
2.2 线路和站点数据爬取 4
2.2.1 爬虫基本原理 4
2.2.2 爬取数据过程 4
2.2.3 数据存储 7
2.3 换乘算法 7
2.3.1 换乘算法简介 7
2.3.2 同类型站点换乘 8
2.3.3 不同类型站点换乘 13
第3章 公共交通换乘查询系统需求分析 15
3.1 后端功能需求分析 15
3.2 数据库需求分析 16
3.3 前端页面需求分析 17
第4章 公共交通换乘查询系统设计与实现 19
4.1 系统设计模式简介 19
4.2 其他数据获取 19
4.3 后端接口设计与实现 20
4.4 前端页面设计与实现 22
第5章 公共交通换乘查询系统评估与分析 24
5.1 功能评估分析 24
5.2 性能评估分析 25
5.3 系统不足与建议 25
参考文献 26
致 谢 27
第1章 绪论
1.1 课题背景
虽然人们生活水平日益提高,私家车的数量也越来越多,但是武汉市的交通状况并不好,对于一些经济发达的地区,驾驶私家车出行大部分情况下会遭遇堵车,所以更多人选择成本更低的公交或地铁作为出行方式,这同样也造成了工作日人们对公交和地铁的高需求。交通系统的顺畅对该城市的可持续性发展是必要的,为了缓解武汉的交通压力,各大网站和地图都提供了相应的公交和地铁换乘查询功能,方便人们选择公共交通出行。在普及换乘系统之前,人们大多采用查看站点信息牌和询问路人等方式来获取换乘等信息,这些方式效率很低,而且局限性很大,如果去了一个陌生的城市,有一个换乘查询系统显得尤为重要。
关于公共交通换乘的算法也有很多,比如dijkstra算法,但是该算法也有问题,它不能算出换乘次数最优的结果,这与现今状况不符,因为随着城市交通系统的不断完善,时间和距离已经不是最重要的了,人们更多考虑的是最少换乘的方案。所以对于一个智能公共交通换乘查询系统来说,核心功能就是根据用户输入的起点和终点给出换乘最优的方案,这不仅能极大方便乘客,而且也不受时间和地点的影响,数据的正确性也能得到保障,这些只需要拿起手机或打开网站,进行简单操作就能获取自己需要的换乘方案。