|
公交线路查询程序下载 算法描述:
本算法得到北京工业大学交通研究中心陈艳艳老师的指导。
本系统有别于其它的公交线路查询系统,将地铁和轨道交通纳入了换乘范围
,可设置不同的搜索条件,如优先选择地铁、少的换乘、少的费用、时间最少等条件,得到满足要求的换乘路线。
主要算法特点是
根据公交站点信息,构造虚拟含换乘边在内的公交路线虚拟路网,共有约22万个路段、2.3万个站点参与路径计算。根据不同的公交线路的速度赋不同的权值,对不同的换乘进行处理,
优选快速公交线路,求到最优换乘路径。换乘确定在300米之内+等车时间,
公交-地铁-城铁之间换乘考虑北京实际情况,加大换乘权重,从而求出最佳换乘方案。
新增功能
根据公交网络(含地铁城铁)计算最优出行路径。
为了使计算出的路径尽可能合理,程序换乘部分扩展的大量的路段。
操作简单,用鼠标分别选中起始点和目的地点,系统自动计算最佳换乘路线。
由于公交数据变化很大,计算出的换乘路径仅供参考。
图层控制,用户可以通过图层选项,根据喜好,定制地图显示方式。
界面下面信息框显示相关公交路线,路径信息,和地址附近的公交站点信息。
区域设施,按住鼠标左键在地图上画方框包含查询区域,显示区域内的各类地址名称。
包含大量的学校、机构、企事业等地址,共有1.7万多个个地址可供查询。支持模糊查询方式,在关键词栏中写入地址关键词,点击查询按钮,会在下面列表框中显示所有与该关键词相近的地址,鼠标双击相应的地址,该地址会在地图上显示出来,并在下面信息框中显示附近的公交车站及公交线路。
程序说明
本程序由个人从底层开发,没有使用其他商用GIS组件或支持包。程序运行简洁、高效
,直接运行,不需要安装。
现有功能(以北京地图为例):
信息包括:市区街道、路段信息、企业单位、居住小区、学校、医院和酒店等。支持多个图层(绿地、河流、街道等)
地图浏览:鼠标滚轮放大、缩小。按鼠标左键拖动地图移动。
信息查询
快速地址查询,在信息框输入栏中输入地址关键词,即可查出与该关键词有关的所有地址,鼠标双击列表框中列出的地址,可以动态显示该地址在地图上的位置。关键词如输入“医院”“工业”等。
路经查找:
提供对话框输入和鼠标捡取两种方式输入起始点和终点,对话框方式注意要输入正确的地址名。对最短路算法进行了改进,查找最快路经(时间最少),即路经避开速度慢的路段,走速度快的路段,最快路经通常优先选择环路。并给出这条路径所需大概的时间和经过
站点名称。
支持键盘方式:方向键上下左右移动地图,home,end放大缩小地图,键盘空格键从新搜索出最快路。
公交线路最优乘车路径查询(包括公交、地铁和城铁) 优先选择轨道交通(地铁城铁),时间优先,距离优先。算法计算中考虑换乘时间、车辆发车间隔(等车时间)、换乘站距离等因素。
下面是在不同搜索条件下的算法计算出的结果示例,红圈为换乘点,出发点:知春里;终点:体育馆西路
|
路面公共交通优先,或费用最少

换乘最少的出行方案:公交车一次换乘,起点乘坐826路公交车到珠市口换乘743路到达终点。
在路面交通良好的情况下,这种选择换乘较少,速度较快,且比乘坐轨道交通花费少。预计花费2元 |
轨道交通优先(优先选择地铁城铁)

优先乘坐地铁的出行方案(时间最短)
三次换乘,换乘1:公交386路知春路站换乘城铁13号线;换乘2:城铁13号线西直门站换乘地铁2号线;换乘3:地铁2号线崇文门中换乘公交16路到达终点。
这种路径选择虽然换乘较多,由于乘坐轨道交通出行,避免了路面的拥堵,实际速度可能会快于方案1。花费7元 |
程序可以根据出行者的不同需求,得到符合用户要求的最满意乘车路径;另外软件可以根据路段交通的历史信息推测当前的路段信息,使乘客的出行路线尽可能避开可能的拥堵路段,提高出行的效率。
其它:
做GIS程序只是个人的爱好,缺点多多,请多多指正。
需要考虑的问题:
同样的起始点路径可能不同:由于同名的公交车站点可能在相近的不同地方,分别属于不同的公交线路。起始点的选择一般采用搜索到的第一个名称。这就造成同样的起始点而搜索的路径不同。
起点终点进行了特殊的算法处理,包括更改部分路段属性参数,但计算结束后,没有恢复原值,影响后来的计算,所以当路径计算次数较多时,路径计算会不准确,换乘较多,这时建议从新运行程序。(这个问题我会找时间修正)
各个公交线路的权值设定不尽合理,如设定环线权值过小,使最佳线路尽可能走环线,但实际上并不是非最佳。需要根据情况进行调整。
程序
求出公交换乘示例。
芍药居到工会大楼的公交路径及站点如图所示,芍药居乘坐119路,到安定门地铁站换乘地铁2号线,到地铁阜成门站换乘932路,到达工会大楼。
|