武汉市公交查询系统设计报告1.系统目标随着城市化发展,城市出现了交通拥堵,交通事故频发和空气污染问题相关的专家指出,通过城市中公共交通可以减轻上述问题。然而由于城市的公交线路多,错综复杂,不仅对外来工作学习旅游的人,就是对本地人来说,都会给他们出行乘车造成困扰,降低了人们搭乘公交车的机率。本系统即以提供公共交通线路查询,站点查询以及在指定起始点和终止点后,提供给客户搭乘方案,以及其他的如模糊查询,周边设施查询,堵车提醒等为目的,是人们可以方便快捷了解当地道路状况2.数据结构分析2.1.数据对象数据包括城市数字电子图、城市公交线网购成和公交站点分布图形及属性数据、城市道路网图形和属性数据、公交线路运营情况、线路包含的所有、站点、线路运行起止时间。它们分别用Shape格式和关系型数据的形式存储;2.2.公交数据库的设计为了能在电子地图查询、显示公交信息,需要建立公交车站表(BusStation)、公交线路表(BusRoad)以及每个公交车路线表(BusOrieation)。以下为设计的表:表格1公交车站表(BusStation)字段名陈数据类型大小描述站名(site_name)Varchar50站点名称IDInt流水号表格2公交线路表(BusRoad)字段名陈数据类型大小描述线路名(line_code)Varchar50公交线路名称IDInt流水号起点(startPointID)Int起始站点ID终点(endPointID)Int终点站点ID表格3公交车表(Bus)字段名陈数据类型大小描述公交车名(name)Varchar50公交车名IDInt流水号起点站名ID(startPoint)Int公交车起始站点终点站名ID(endPoint)Int公交车终止站点表格4公交车站线路表(BusOrieation)字段名陈数据类型大小描述线路名(line_code)Varchar50公交线名IDInt流水号公交车IDInt关联到公交车表格5站点关联景物表(StationScenery)(为模糊查询做服务)字段名陈数据类型大小描述站点名(stationID)Varchar50站点名称IDInt流水号景物名称(Scenery)Varchar关联到景物基于此表,设计相应的算法,如换乘算法,以下为换乘算法:(1).当用户输入起始点A和中点B时,首先遍历所有的线路表,如果一条线路包含了A和B时,则可以直达,如情况一;(2).再查看经过A的线路和经过B的线路是否有同一个站点C,如果有的话就是一次换乘方案,情况二;(3).如果上述无结果,先乘经过A的线路到达某一站C,查看经过C的公交与经过B的公交有无交叉点,如有,即得到了二次换乘的结果。(4).基于上述的换乘方案,我们可以记录换乘次数,提供换乘最少的乘车方案。可以量测每种方案的线路长度,通过排序,得出距离最短的方案,一般来说,距离越短,用时就越少,因而可以认为是时间最少的乘车方案。通过距离量测还可以得到搭乘taxi的费用。通过记录下每种方案的换乘路线的计费情况,将各个方案的费用加起来,得到费用,提供费用最少的方案。(5).但是考虑到使用者可能对终点车站不熟悉,需要通过一些地名而非车站名进行操作,因此需要进行模糊查询。3.软件模块设计3.1模块组织该系统模块主要分为两个部分,即数据管理模块和服务功能模块。详细地说,功能模块包含了站点查询(主要是对某个站点的信息查询,包括其位置,途经的公交车等信息)、线路查询(对某号码公交车途经的站点进行查询、浏览)、搭乘查询(在用户自定义的起始点和终止点之间,查询出行的多种方案,供他们选择);系统后台的数据管理模块主要是对数据的录入、管理以及更新。图表1模块示意图3.2模块设计站点查询:输入数据:站点名称输出数据:站点属性信息线路查询:输入数据:线路ID输出数据:途径站点名称搭乘查询:输入数据:起始站点和终止站点输出数据:出行方案模糊查询:输入数据:景物名称输出数据:附近站点名4.其他设计4.1.界面设计界面主要由菜单栏、工具栏、类容面板以及查询面板组成,示意如下:表格4界面样式