城市公交换乘系统毕业论文.docx
- 文档编号:8130281
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:29
- 大小:203.45KB
城市公交换乘系统毕业论文.docx
《城市公交换乘系统毕业论文.docx》由会员分享,可在线阅读,更多相关《城市公交换乘系统毕业论文.docx(29页珍藏版)》请在冰豆网上搜索。
城市公交换乘系统毕业论文
城市公交换乘系统毕业论文
前言
随着我国社会城市化建设的高速发展,城市人口的增加以及私家车辆的剧增使得城市交通面临越来越严峻的压力。
相应的,公交车作为城市内最大的交通工具,它的服务水平也越来越受到人们的关注。
近些年来随着计算机技术的快速发展,人们也将计算机技术应用到了道路交通查询以及管理方面,大大方便了人们的生活。
国内外也出现了许许多多的道路查询的工具,如谷歌地图,XX地图等。
而本文则以简单的城市公交查询系统作为研究对象。
当然在这之前有许多关于公交换乘的算法,如Dijkstra算法、遗传算法、胁算法,燃烧算法和扩展算法。
本文则以扩展法为基础,将公交线路的结点进行排序,这样使得查询更加快捷,提高了工作效率。
在大多数城市,乘坐公交从某个始发地到目的地一般换乘次数不会超过两次,所以本文只做直达,换乘一次,换乘两次的研究,对于更多换乘次数的查询则不作研究。
1绪论
为了改善城市交通带来的交通拥塞、能源紧张、噪声干扰、废气污染,世界各大城市都在研究大力发展公共交通的政策和途径。
如果能够提供一种服务,为市民特别是外来旅游、出差、就医等急需了解本地道路情况的人们提供方便、快捷、经济、高效地利用公交线路的方案,将更加方便他们的出行和生活。
1.1选题背景
这些年城市里私家车越来越多,但绝大多数人来说,上下班也好,出行也好,还是要乘坐公共交通工具的,如说公交车。
在极力保证城市可持续发展之路与还不发达的交通路线的情况下,如何让人们方便地出门成了各个城市管理部门所最关心的问题。
我国城市公交乘客信息系统正处于快速发展阶段,各种公交线路的查询方式也如雨后春笋般出现。
在我国乘客可以获得的公交信息还不够完善,乘客一般获得公交信息的方式一般有电话、交通图、网上查询、向熟人问讯等常规方式。
我国实施城市的可持续发展之路,包括城市交通的可持续发展,所以大力提倡改善客运结构,大力发展公共交通,提高公共交通服务水平显得尤为重要。
1.2国内外研究的状况
1.2.1国外的相关研究状况
在公共交通的研究方面,发达国家走在世界的前列并取得了很大的研究成果。
尤其是在最近几十年,随着计算机技术的进步和地理信息系统技术的发展。
发达国家广泛应用地理信息系统技术在公共交通的规划和管理之中。
洛衫机市交通委员会研究建立了企业级的公交GIS系统,服务于公共交通的规划、运营、管理和效益评定。
加拿大的卡尔加市也建立了企业级的GIS系统。
1996年美国联邦公共交通管理局还专门发布了《适用于公共交通的地理信息系统国家规范》,通过规范GIS数据来推动GIS技术在公共交通中的应用。
此外,日本、英国、法国、韩国等国家也投入了大量的人力和物力从事交通地理信息系统的建设和研究,并取得了显著的成果。
建立了一种在对公共交通网络优化的基础上,运用系统工程理论将交通流诱导技术、差分GPS定位技术、地理信息系统技术、地图匹配技术、电子技术以及智能卡技术等先进技术进行集成,形成集信息服务、网络通讯于一体的先进的公交规划管理体系。
1.2.2国内相关的研究状况
地理信息系统技术的发展为交通地理信息系统的应用提供了强有力的支持。
目前,在我国,各大中型城市纷纷运用先进的科学技术手段来改造交通管理和交通服务模式。
南京市建立了公共交通基础信息系统,该系统是以VisualBasic为基本编程工具,以Access为基础的数据库管理软件,以MapInfo的MapX为空间管理工具。
该系统对南京市公交网络的服务水平进行了科学地评估,找出了公交网络中服务水平薄弱环节,为南京市的公交系统的发展起到了重要的作用。
重庆市研究开发了“重庆市公共交通管理信息系统”。
该系统已实现了公交线路、公交站点等基础地理信息设施的静态查询。
北京市建立了“北京市公交查询系统”。
该系统实现了公交站点、公交线路、两地之间等不同形式的查询,但该系统所返回的查询信息仅仅是以文本的形式给出的,并没有实现有关图形信息的显示,缺乏直观性。
杭州市应用地理信息系统(GIS)和GPS技术,实现车辆的动态调度和实时监控,并对公交车辆的运行情况,提供电子站牌实时显示车辆位置。
其中GIS系统负责接受车辆定位数据,完成车辆信息的地图映射。
功能包括地理信息和数据信息的输入输出、地图的显示和编辑以及空间数据查询等。
乘客出行中获得信息困难,除去在杭州,上海等少数几个城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。
在我国一些城市中,有不少装饰华美的公交站台,但在这些站台上却找不到实用的城市交通图。
缺乏专门的交通信息发布管理机构,乘客获得的信息准确性得不到保证。
目前,我国大多数城市对于交通信息的发布没有专门的管理机构和规章制度。
在城市交通信息服务需求小的情况下尚可应付。
但随着城市交通信息服务需求的增长,从事交通信息服务的人员和企业数量的增加,需要有专门的管理机构和制度。
当前的城市交通信息服务存在着混乱和低效的问题,有些甚至是对乘客的误导。
1.3期望目标
由于计算机的使用,使得人们在管理、应用及服务等各个领域使用数据方面变得更加简洁,更加方便,大大提高了工作效率,产生了以计算机为主体,以人为辅助的局面。
在此我所设计的公交车查询系统就是为了方便人员在数据查询方面的操作,使得他们在日常生活中都会达到事半功倍的效果,减轻了人力的负担,方便了数据的存储,增加了安全性。
本研究设想以某人去某陌生城市办事,想乘坐该城市的公交车去目的地B,通过本查询系统,可以让此人直观地知道因该乘哪路公交车可以到达目的地B。
如果没有直达目的地B的公交车,通过本系统也可以查询到相应的转车信息,使此人以转最少的车,用最短的时间到达目的地B。
2公交算法的研究
对于一个GIS系统的建立来说,采用何种算法也是很中重要的,因为它不仅关系到空间数据结构如何组织,而且还会影响到系统应用的效率问题。
一个好的算法既可以优化空间数据结构,又可以提高系统的响应速度。
2.1公交数据的分析
数据是地理信息系统的核心部分,数据的组合结构的设计决定了系统功能实现的程度。
1)公交数据的种类:
公交数据主要有公交站点、公交线路、以及公交路段等数据组成。
2)公交线路分析
根据对实际情况分析,公交线路是比较复杂的,一般可以分为一下几类:
(1)完全的双向线路。
这种线路有两个端点站,在这两个端点站之间双向行车,而且两个方向的行车路线是相同,经过相同的站点序列和街道序列,但在线路上同名字的站点都是分列在街道的两旁的,因此同一个名字是对应于两个地理位置上不同站点。
这种线路一般来说在两个方向上的交通状况是不同的,因为他们分别在左行线和右行线上行驶。
其结构如图1所示。
图1完全的双向线路
(2)完全的单向线路。
这种线路的行车是单向的环形的。
线路内可以用名字唯一唯一标识在地理位置上的站点,这种线路比较简单。
如图2所示。
图2环形线路
(3)单/双行线结合的线路
这种线路的特点是部分单行线路和双行线路结合,在某些路段由于道路路况的限制只让单一方向的车辆行驶,而在其他路段允许车辆双向行驶,因此在这样的线路中两个方向的站点序列与道路序列是不完全相同的。
其结构示意图如图3所示。
图3单/双行线结合的线路
(4)单环形线和双环行线
单环形线和双环行线分别是单向线和双向线路的特殊情况,是单向线和双向线在环形路上的特殊表达。
在实际的应用中,单环形线路归为单向线路处理,双环形线路归为双向线路处理。
综上所述,公交线路的类型可以看出,对于公交线路不能简单用一个字段表示,在存储时应以上行或下行以示公交来回所经过的车站,使各个公交路线所经过的各站点信息更加准确。
4)公交站点的分析
(1)位于不同地点的同名站点
一般来说,在具体交通枢纽位置的地段会有很多公交线路经过,为了不至于在同一个站点停靠太多的车辆阻塞交通,会在相隔不远的几个地方建立几个车站分别停靠不同线路的汽车来分流线路密集的压力,如图4所示,这些站点通常具有相同的名字,这些站点之间距离不远一般可以认为在同一个站点,这一点在搜索路径的时候尤为重要。
图4不同地点的同名站
(2)紧邻不同名站点.
两个站点不同,但在同一道路上紧邻,如两个站点位置只隔不到100米,步行不要花费太多的时间,其结构图如图5所示。
图5紧邻不同名站点
2.2公交网络的抽象
2.2.1公交站点的抽象
公交站点在公交网络中是非常重要的点状设施,它是公交网络中拾起和卸下资源的结点位置,所以在建立公交网络模型时,必须考虑它们的表达和对整个网络的影响。
在实际生活中,同一条公交线路上的两个不同方向的站点和不同公交线路上的站点分布情况是较为复杂的,所以必须对公交站点进行一定的分析,抽象成为网络中的结点,这一点对网络的拓扑关系表达是非常重要的。
下面将对一些情况进行说明。
1)同一公交线路两个方向上的同名站点的抽象在同一公交线路上,两个方向上的同名站点的空间位置是重合的(如图6(a)),
2)两个方向上的同名站点抽象为一个结点(如图6(b))。
(a)实际公交线站点示意图(b)抽象为一个节点
图6一条公交线路上两个方向的同名站点的抽象
3)不同公交线路的紧邻站点的抽象。
这种情况的抽象较为复杂,以几种情况为例进行说明。
(1)站点位置完全重合,即站点名字不同但地理位置重合(图7(a)):
(2)两个站点不重合,但在统一道路上紧邻,比如两站点之间仅隔30米左右(图7(b));
(3)在两条道路交叉口的各自道路上紧邻(图7(c))
(a)站点重合(b)同一道路上紧邻站点(c)不同道路上紧邻站点
图7线路的紧邻站点的分布情况
站点重复的情况最简单,多个站点视为同一站点,抽象为一个结点。
对于具有紧邻关系的站点的抽象是非常关键的,它的目的是模拟人们在不同线路之间换车的真实情况,以提高路径查询的正确性。
因为在实际的换车情况中,一定范围内的步行是允许的也是必须的。
所谓紧邻是一个距离概念,用以描述公交站点间空间位置上的距离关系。
根据人们的实际行为和平均公交路段的长度,定义紧邻距离为:
d<=w,w是一个人为干预的经验值,来确定适度的步行距离,将满足这些条件的站点抽象为一个结点,如图8所示。
图8为一个结点
2.2.2公交线路的抽象
公交线路在抽象的公交网络中可以抽象成连接各结点的有向边。
根据实际情况可以分为以下3类:
1)完全的双向线路。
公交车在这两个端点之间双向行车,两个方向上的行车路线是相同的,经过同样的站点序列和街道序列,因而可以抽象成由一条双向边连接的各站点,如图9所示。
图9线路的抽象
2)单向环形线路。
这种线路的行车路线是单向环形的,可以抽象一个单向的环形,如图10所示。
图10线的抽象
3)部分路段是单行线的线路。
根据实际情况这种线路可以抽象为部分路段是单向的,部分路段是双向的,如图11所示。
图11路段是单行线的线路的抽象
2.3公交换乘算法的研究
对于公交换乘的算法,很多学者都进行了一些研究,其中很多算法是基于最短路径的,例如:
Dijkstra算法、遗传算法、胁算法和燃烧算法等。
但对公交乘客的心理调查表明:
在公交换乘方案的选取上,首先要考虑的因素是到达目的地的换乘次数要最少,其次才是要求路径最短。
因此,基于最短路径的的公交换乘算法并不能满足实际的需要。
在目前的公交换乘算法中,基于换乘次数最少的最短路径算法——n次公交换乘算法是比较符合人们出门时选择公交线路时的实际要求的。
根据对公交乘客调查的情况来看,换乘次数最少是公交乘客考虑的第一要素,出行距离最短为第二要素,因此,本公交查询系统将换乘次数最少作为最优路径算法的第一约束条件,出行距离最短作为第二约束条件。
1)基本思想
该算法根据人们的出行习惯以换乘次数最少为约束条件进行设计的。
其算法的思想描述如下:
假设A站点为起始站,B站点为终点站。
可以分为以下几种情况:
(1)直达的情况(如图12(a))
首先,检查经过A站的车是否有直接到达B站的,如果有且仅有一条则这条路线就是所满足的最优路径。
否则,再考虑所走路线的远近,选择距离最近的乘车方案。
(2)换乘一次车的情况(如图12(b))
如果没有直达车,就会考虑换一次车的情况:
即经过A站点的车与经过B站点的车有公共站点C吗?
如果有,则可以在公共站点C处转车。
如果不止一个站点C,则选择距离最近的换车方案。
(3)换乘2次车的情况(如图12(c))
如果没有换成一次车的方案,则又要考虑乘坐经过A站点的车到某一C站点下车,经过C站点与经过B站点的车是否有公共站点D吗?
如果有,就再到D站点转车,两次转车可到达B。
如果A站点到B站点有多种转乘两次车的情况,则选择距离最近的乘车方案。
(a)直接到达的情况(b)换乘一次的情况
(c)换乘二次的情况(d)换乘多次的情况
图12公交车换乘情况
(4)换乘多次车的情况(如图12(d))
对于三次或三次以上换乘的才能到达目的的情况,在实际生活中已经没有什么意义了,因而在本系统中不给与考虑,作为没有可选的公交换乘方案处理。
2)具体实现
该算法的基本思想是分别从起点站A、终点站B出发,通过比较公交网络上各个站点的可换乘的站点,追踪A到B的可能路径,然后比较可能路径的距离来确定最小路径。
其算法如下:
(1)输入起始站点A和目的站点B,看是否有A到B直达的乘车方案,如果有则直接输入结果,没有则继续执行步骤2;
(2)根据输入的站点进行优化,引入紧邻站点A=D(A,W)和B=D(B,W)(W表示乘客在乘车时对步行距离的最大心理承受值,为一人为干预经验值);
(3)在公交站点数据库中查出经过A及其紧邻站点D(A,W)的公交线路L(i)(i=l,2,3,…,m,m为正整数)以及经过站点B及其紧邻站点D(B,W)的公交线路S(J)(j=l,2,3,…,n,n为正整数);
(4)判断L(i)=S(J)是否成立。
若有一条线路满足要求,则该公交线路即为最优线路,输出结果;若有几条线路满足条件,.则从公交线路数据库中查处线路经过的站点,然后根据公交线路数据库计算各站点间的距离,计算出各条公交线的距离,选择一条距离最短的线路即为最优线路,输出结果;若不成立,则继续步骤5。
(5)从公交线路数据库中查出经过站点A的公交线路L(i)的站点E(i,g)(i=l,2,3,…,m;g=l,2,3,…,n;m,n为正整数)以及经过站点B的公交线路F(j,h)(j=l,2,3,…,p;h=l,2,3,…,q;p,q为正整数):
(6)判断E(i,g)=F(j,h)是否成立。
若有一个站点满足条件,则该站点即为一次换乘的站点。
从A站点出发,在该站点换乘即可到达B站点。
若有一对或多对公交线路满足要求,从中选择一对距离最短的公交线路即为最优线路,输出结果。
若有几个站点满足要求,则先分别求出每一个站点的最短路径的换乘方案,然后比较各换乘方案的距离,选择所有方案中距离最短的换乘方案,输出结果。
若没有,则继续执行7。
(7)从公交站点数据库中查询经过E(i,g)的公交线路T(k)(k=l,2,3,…,m;m为正整数),从公交线路数据库中查询线路T(k)的站点G(k,w)(k=l,2,3,…,m;w=1,2,3,…,n;m,n为正整数);
(8)判断G(k,w)=F(j,h)是否成立。
若有某个站点E满足条件,则站点E为第二换乘站点。
从站点A经过一次换乘(假设换乘点为站点D),可以到达站点E,从站点E换乘公交车直达目的站点B。
按照步骤4)、5)、6)的方法求出从站点A到站点E的一次换乘的最优路线,在按照2)、3)的方法求出从站点E到目的站点的最优线路。
两个换乘站点和两个最优线路即组成了从起始站点A到目的站点B的最优路线。
若有多个站点满足G(k,w)=F(j,h),则分别求出各站点的最优换乘方案,比较个方案的线路距离,选择一种最优一条线路,并结束运算输出结果;
(9)将上三种输出结果比较,选择最优一条线路,输出结果并结束运算;
如果上述步骤没有找到合适的公交线路,则输入“没有找到转车次数不超过两次的公交线路”。
结果运算。
根据公交线路的实际情况,认为三次以内的换车是比较合理的,超过三次的转车的情况对于一名乘客是不能忍受的,所以将不予考虑。
图13算法流程
3系统需求分析
3.1系统运行环境需求分析
操作系统:
Win9x/Me/NT/2000/XP/2003
软件配置:
系统必须安装有JDK,TOMCAT,MicrosoftSQLServer2000
数据库配置:
MicrosoftSQLServer2000在PC机中新建数据库,建立各个数据表、关系图。
3.2功能需求分析
(一).公交查询系统
系统的主要开发包括,客户端应用程序主要是指前台的开发和后台控制。
服务器端数据库的初始化,数据表,关系图的建立,删除。
1.站站查询——只要在我们设计的首页中相应的地方输入起站点和要到达的目的地站点,点击“查询”按钮,就可以查到你要到达目的地的所有乘车方式,这里所有的乘车方式包括了直接到达目的地的和所有需要换乘才能到达的路线。
这样节省了一些想直接到达目的地乘客的时间也方便了一些想再中途办事的人。
2.后台管理——这个后台管理系统体现了人性化的设计。
可以根据公交实际的线路的增添、线路的修改、站点的增添、站点的删除进行改进。
只要在管理员登陆后,就可以增加线路、修改线路、删除线路、增加站点、修改站点、删除站点等来完成与实际相符合的路线。
这一功能更加的体现了公交线路的灵活性,
4系统设计
4.1系统总体结构设计
4.2系统功能结构设计
公交查询子系统是这个系统的一个重要的模块,它快捷、方便、准确的提供了乘客所需要的乘车路线。
查询模块
(一):
检查用户是否录入了出发站点,如果没有录入,则提示:
请将查询条件填写完整!
(二):
检查用户是否录入了目标站点,如果没有录入,则提示:
请将查询条件填写完整!
(三):
如果出发站点和目标站点都填写了,则进入系统服务类根据给定的条件进行查找,查找的具体实现为:
(1):
首先获得包含所有线路的列表
(2):
如果列表为空,就说明当前的数据库中没有线路数据,直接返回。
(3):
然后找出所有包含2个或两个以上站点的线路
(4):
然后找出所有包含出发站点的线路
(5):
如果当前数据列表中没有包含出发站点的线路,则直接返回
(6):
然后循环所有包含出发站点的线路,使用每一个作为查询乘车路线的起始线路。
(7):
进入一个具体的查找乘车线路的的方法(getOneNeedLine)
(8):
在getOneNeedLine方法内,首先判断当前传入的线路是否包含目标站点,如果包含,直接返回。
(9):
如果不包含目标站点,则判断换车次数,如果换车次数已经到达了2次,则直接返回。
(10):
然后以当前路线的其他站点作为出发站点:
作为出发站点的条件是:
该站点没有在当前的乘车路线中经过;
(11):
然后查找经过新的出发站点的所有线路。
这些新的线路必须包含出发站点,并且还是在当前的乘车路线中没有经过的。
(12):
然后以第10步和第11步所生成的合法数据进行递归调用getOneNeedLine方法,获得所有的乘车路线。
(13):
最后返回一个包含所有能够从出发站点出发,并且能够到达目标站点的所有的换车次数不超过2次的乘车路线。
后台管理模块是很重要的一个模块,为了不让普通乘客随意的添加路线、修改路线、删除路线,我们给后台设计了专用的帐号和密码,只供专业人员进入,进行整个系统数据的修改工作。
后台管理模块
(一)添加线路:
清空线路名称和站点列表中原有的内容。
将线路选择列表禁用。
启用保存按钮。
(二)修改线路:
设置线路名称和站点列表中的内容为线路选择列表中指定的线路的信息。
将线路选择列表禁用。
启用保存按钮。
(三)保存线路:
保存用户的输入信息,并且根据用户的操作自动执行添加或者修改操作。
并将页面还原为初始状态。
(四)添加、修改、刪除站点跟上述添加线路、修改线路、删除线路操作大同小异就不一一介绍了。
(五)返回操作:
返回到线路查询页面。
图15后台管理模块图
整个系统的设计好像是分了模块,但是很多模块之间的设计都在相互的影响着,做某个模块的时候可能需要调整其它的模块,所以这些模块都是在相互作用的同时相互改进,最后达到统一和谐的一个整体。
4.3系统用户权限的界定
为保证系统数据的安全性,防止非法访问数据和出现数据丢失、数据随意改变现象,需要对数据库实施保护。
主要保护措施是:
防止非法访问,对使用权限做出划分,不同身份的人员进入系统后操作的权限进行界定;防止故障的产生必定进行定期的备份。
具体说明如下:
在用户管理与权限设置方面,根据系统的实际情况和从简化系统出发,对于前台所有乘客都是开放的,但后台数据库做严格的权限控制,只能管理员才能进入。
使用整个系统的人员,可以划分为2类:
系统管理员:
系统管理人员对系统拥有最高权限,可以对后台控制模块进行操作,由于后台控制模块可以控制整个系统的所有数据的增,删,改操作,所以我们在前台就设计了一个访问后台的登陆器来直接设定系统管理员,前台设定系统管理员的界面。
普通乘客:
普通乘客指不需注册的用户,他的权限最低,在公交查询系统他可以进行所有的线路查询的权利,但是没有增加个修改路线的权限,他是两种用户中权限最低的用户。
4.4数据库设计
数据库设计是建立数据库及其应用系统的技术,是信息系统开发和建设中的核心技术。
数据库设计是指对于一个给定的应用环境,结构最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用的需要(信息要求和处理要求)。
由于本系统面向的对象有2个,即普通乘客和系统管理员,所以在数据库分析中就要考虑二方面的因素。
(1)对于普通乘客来说,就他们关心和能够使用的功能总结出如下需求信息。
用户查询:
对于任何用户,只需浏览本系统的首页,就可以根据自己的需求进行查询。
(2)对于系统管理员来说,他的权限最大,除了以上的功能,他还具有的功能主要体现在后台管理。
前台功能分为公交查询模块和后台数据管理模块这二个部分组成。
先来看看整个网站的首页效果图
图16网站首页
5公交查询系统的实现
下面来看整个公交查询系统的设计流程,从后台数据管理模块到站站查询模块,把每个功能的设计流程描叙如下:
5.1后台数据库管理模块的实现
后台管理模块要实现路线的添加、删除、修改;站点的输入、删除、修改。
(1)首先,显示数据输入的界面,由于后台是一个支持前台正常工作的一个系统,所以我们需要给后台设计一个登陆帐户和密码。
来保障系统能够正常运行。
(2)当用户输入了数据,单击”保存”按钮后,根据输入的数据到后台检查是否有不符合的输入,如果有则返回输入界面。
如果没有则对后台数据操作,比如添加、修改。
再添加线路时一定不要有重复的路线出现;在添加站点时站点与站点之间要用‘,’进行分隔。
(3)根据数据库的后台操作成功与否返回提示。
这里我们给出了后台登陆、线路添加和删除的代码与相应的图片。
这里介绍的就是后台登陆模块,并且给出代码。
我们需要填写用户名和密码单击“确定”按钮才能顺利的进入后台管理区。
后台登陆界面如下
后台登陆的代码如下
<%
Condbcon=newCondb();
Strstr=newStr();
Stringpname=request.getParameter("pname");
pname=str.toChinese(pname);
pname=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 城市 公交 换乘 系统 毕业论文