基于PHP的车辆GPS轨迹回放软件设计与实现_第1页
基于PHP的车辆GPS轨迹回放软件设计与实现_第2页
基于PHP的车辆GPS轨迹回放软件设计与实现_第3页
基于PHP的车辆GPS轨迹回放软件设计与实现_第4页
基于PHP的车辆GPS轨迹回放软件设计与实现_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘 要 随着国内经济的迅猛增长,人民的生活水平显著提高,而一些其他问题也随之 而来,私家车的数目的增多导致了交通的拥堵,绿色出行的理念慢慢被人们接受并 提倡。使用公共交通工具既缓解了交通的压力,使得出行更为便捷,又减少了对环 境的污染。 本文讨论了基于 PHP+MySQL 的公交轨迹回放系统软件的设计与实现,其中重点 描述了系统软件的实现,包括系统分析、系统调查、数据流程分析、功能设计、数 据库设计等。系统采用 Web-GIS 技术,通过百度地图和 php 实现对公交车的 GPS 位 置信息管理。本系统的主要功能模块如下:查询公交车的线路信息、提供车辆换乘 导航服务。查询某一辆公交车的实时 G

2、PS 信息、车辆当前位置、车辆运行轨迹。系 统通过浏览器实现公交车轨迹的回放、当前位置显示等功能,方便了百姓乘坐公交 车以及工作人员管理公交车。 关键词关键词:GPS;轨迹回放;WebGIS。 Abstract With the rapid growth of the domestic economy and peoples living standards improved significantly, while some other problem has cropped up, the increasing number of private cars has led to traff

3、ic jams, the concept of green travel slowly being accepted and promoted. Using public transport both to ease the pressure of traffic, making travel more convenient, but also reduce environmental pollution. This paper discussed the design and implementation of PHP + MySQL bus track playback system, w

4、hich focuses describes the implementation of system software, including system analysis, system survey, data flow analysis, functional design, database design. System uses Web-GIS Baidu Maps and php technology to realize the bus GPS location information management. The main functional blocks of the

5、system are as follows: Query bus line information, providing transfer vehicle navigation services. Check a bus in a real-time GPS information, the current position of the vehicle, the vehicle trajectory. System through the browser implementations bus track playback, the current position display func

6、tion to facilitate the people to take the bus and the bus staff management. Keywords: GPS;track playback;WebGIS 目录目录 引言 .1 第一章 系统分析.2 1.1 系统需求分析.2 1.2 用户需求.2 1.3 系统可行性分析.3 第二章 系统开发技术准备.4 2.1WEB-GIS 技术介绍.4 2.1 系统开发所需工具.4 2.2 开发环境的搭建.4 第三章 系统设计.8 3.1 系统总体结构设计.8 3.2.数据库设计.9 3.2.1 数据库的完整性.9 3.2.2 数据库设计.

7、9 第四章 系统实施.13 4.1 程序设计.13 4.1.1 连接数据库模块设计.13 4.1.2 地图模块实现.14 4.1.3 菜单模块.14 4.1.4 系统的数据传输.15 4.1.5 查询公交线路信息.15 4.1.6 查询位置信息.16 4.1.7 公交换乘方案查询.17 4.1.8 车辆轨迹数据.18 4.1.9 车辆实时位置信息查询.20 4.1.10 车辆轨迹回放.20 4.2 系统测试.21 第五章 结论.26 参考文献.27 致谢 .28 1 引言 信息化时代的来临使得人们对信息的需求与日俱增,人们的衣食住行已经都与 之息息相关。现在人们越来越重视效率,人们已经开始掌握

8、最新最快的的消息,传 统的行业的执行方式面临着挑战,公交系统同样如此。人们可以通过网络了解到自 己想要知道的资料,可以通过网络了解最新发生的新闻事件,但是,人们为什么不 可以通过网络来了解自己在等待的公交车现在到底在哪里,还要等多久。 本系统的开发可以解决这一问题,通过访问本系统,人们可以知道自己去某一 位置应该如何乘车,知道某一路公交车现在到了什么地方,还有多久能到站,知道 自己距离目的地还有多远。这些系统功能的实现大大的提升了人们乘坐公交车的效 率。例如上班族下班后通过使用本软件,可以知道车辆的位置,就可以决定自己什 么时候离开公司,减少自己的候车时间;外来务工人员通过使用本软件可以更容易

9、 的在一个陌生的城市里出行;工作人员通过本系统,可以直观的了解某一线路的某 一辆车的运行情况,根据需要进行车辆的管理和调度,方便乘车人员,为公司赢得 好评。 本系统使用 Web-GIS 技术实现车辆位置信息的管理,使用百度地图 API 实现位 置轨迹在地图上的回放如何查询车辆的运行信息,以及百度地图基本功能的实现。 主要研究内容是根据公交车终端返回的数据得到公交车 GPS 位置、公交车的运行轨 迹、公交车的运行情况等信息,然后通过使用 Web-GIS 技术, php+Nginx+MySQL 技术以及使用百度地图的 API 接口将车辆的位置信息和轨迹信息在地图上显示出来, 方便百姓使用,同时让管

10、理人员更加直观的了解公交车的运行情况,通过本系统查 看公交车的当前位置,运行轨迹,运行参数等信息,方便公交车的管理与调动,并 对公交车有一定的监控功能,包括车速是否超速,车辆的运行线路是否正确,车辆 是否有拒载的行为等。 2 第一章 系统分析 1.1 系统需求分析 为了明确系统需求,首先要对现在市面上的同类软件进行对比分析。只有对比 了类似软件的功能优点和不足才能更加完善的做出自己项目的设计、开发,以达到 软件符合更加人性化和合理化的要求。项目的需求分析主要是通过询问软件使用者 对该项目功能上的需求和界面、数据、使用工具、操作复杂度等进行了解分析,然 后从不同渠道了解同类型软件的功能状况和界面

11、友好度得出相关信息。最后,综合 这些信息确定本项目的相关需求。 本项目为基于PHP的公交信息查询后台管理软件设计与实现,系统采用 PHP、Mysql和Nginx作为项目开发环境,在PC机上进行开发、测试。因此,在硬件的 要求上需要一台装有Windows系统和IE浏览器的PC机。由于系统要用到地图模块,所 以要保证系统有互联网接入。 经过认真分析得出,系统的主要需求功能如下:实现页面的地图功能,包括简 单的地图缩放、平移、拖拽、2D/3D 地图切换,卫星图切换;实现呼和浩特市范围 内某一位置的查询,并在地图上标记出来。实现公交乘车导航,输入起始点位置, 在页面上实现导航线路,显示换乘方案;实现某

12、一线路查询功能,输入某一线路, 查询该线路的站点信息,显示线路运行轨迹;实现查询某辆公交车 GPS 数据信息, 输入车辆编号,显示车辆 GPS 数据;实现查询某辆公交车的当前位置信息,在地图 上显示出来;实现查询某辆公交车的运行轨迹,输入车牌号,在地图上动态的显示 车辆的某一时间段内的运行轨迹。 1.2 用户需求 要设计一个优秀的系统软件,就要明确用户对系统的实际需求,包括功能需求 与操作需求。本系统对如下四个方面进行了系统的用户需求分析: 用户的信息需求:用户可以通过本系统得到如下信息,公交车线路信息,公交 车换乘信息,位置查询信息,公交车GPS数据信息,公交车实时位置信息,公交车运 行轨迹

13、信息等。根据用户的需求,初步确定系统功能结构如下图: 3 公交轨迹回显系统 公交 线路 查询 查询 位置 公交 换乘 车辆 GPS数 据查 询 车辆 实时 信息 车辆 运行 轨迹 图 1-1 用户需求功能 用户的处理需求:界面友好,系统操作应简明易懂,用户无需过多的操作即可 得到自己需要的查询结果,同时,功能也要完整,符合实际工作需要。 系统的适用性和通用性:系统采用B/S结构,可以避免由于操作系统的不同造成 的不便,系统采用php技术,语言风格简明易懂,易于后期的系统功能的扩充与维护。 系统的安全性需求:用户操作只能执行查询操作,不能有涉及到危害数据库的 操作,由于本系统主要功能为查询,所以

14、可以保证数据库的安全,同时建议服务器 端应及时对数据进行备份,防止因为某些不可抗拒因素造成的损失。 1.3 系统可行性分析 现阶段国内百姓的出行方式以公共交通工具为主,绝大部分城市的公交系统都 已经完善,现在人们面临的问题是,如何提高乘车效率,减少自己的候车时间,选 择合理的换乘方式。本系统主要解决的就是这些问题。 本系统采用的是百度地图的 API 接口,其功能丰富,交互性强,界面友好,对 于浏览器的兼容性强。 php 语言是一门功能非常强大的脚本语言,它继承了 c,java 等语言的优点,功能强大,语言简洁,是目前主流的页面开发使用的脚本 语言,页面将 javascript 和 php 融合

15、起来,功能丰富,非常适合本项目的开发。 系统可以提供基本的位置查询,公交线路查询,公交换乘查询,车辆位置、GPS 数据查询,车辆轨迹回显等功能,用户可以通过这些功能可以更好的改善自己的乘 车体验,选择自己的乘车方案,提高乘车效率。工作人员可以通过本系统对公交车 的运行情况进行管理。 4 第二章 系统开发技术准备 2.1Web-GIS 技术介绍 Web-GIS 系统指的是基于 internet 平台,应用软件采用网络协议,运用在 internet 的地理信息系统。百度地图是典型的 WEBGIS。Web-GIS 的核心是在 GIS 中 嵌入 HTTP 标准的应用能够体系,实现 internet 环

16、境下的空间信息管理和发布。全 球范围内任意的 www 节点均可访问 GIS 服务,是真正的大众化的 GIS 服务,目前广 泛应用于生产生活当中。 2.1 系统开发所需工具 本系统采用 php+mysql+nginx 作为开发环境,所使用的工具如下:PHP Version 5.2.17 压缩版,nginx-1.2.9,mysql-5.6.11,UtraEdit 编辑器, Firework,Internet Explorer 浏览器等。 PHP 全拼为 Hypertext Preprocessor,中文名为超文本预处理器,是一种通用 的开源脚本语言,由于吸收了 c,java 等语言特点,非常适用于

17、 B/S 结构。 MySQL 是关系型数据库管理系统,它的特点是体积小,速度快,成本低,开放 源码,因此在中小型项目中使用较多。 Nginx 为高性能的 HTTP 和反向代理服务器,同样开放源代码,而且稳定性好, 功能丰富,系统资源消耗低。 UtraEdit 是一个强大的文本编辑器,能突出 php 语言指令,实现 html 的标签 颜色显示,因此使用本软件进行项目代码编写。 Firework 是一个常用的图片处理工具,使用简便,适用于网页所用图片的裁剪 以及渲染等操作。 Internet Explorer 为用户量最大的浏览器之一,因兼容性强而著称。本系统 使用 IE 浏览器作为测试工具可以避

18、免由于浏览器的差异造成的页面显示异常等现象。 2.2 开发环境的搭建 1安装 mysql,解压到 d:nginxmysql。 在系统属性中配置环境变量,path 路径添加如下信息: 5 D:nginxmysqlbin。 修改 mysql 目录下的 my.ini 文件 basedir = d:nginxmysql datadir = d:nginxmysqldata port = 3306 character_set_server=utf8 点击开始菜单,输入 cmd 进入控制台:mysqld -install mysql -defaults-file = “d:nginxmysqlmy.ini

19、”到这里,mysql 数据库安装完 成,启动服务,执行:net start mysql,以后 mysql 会在 windows 启动时自动 启动。 2配置 php 修改 php-recomcond.ini 为 php.ini,修改 extension_dir = D:/nginx/php/ext extension=php_mysql.dll extension=php_mysqli.dll cgi.fix_pathinfo=1 date.timezone = Asia/Shanghai fastcgi.impersonate = 1 cgi.rfc2616_headers = 1 将 ena

20、ble_dl = Off 改为 enable_dl = On 将 php 目录下的 libmysql.dll 放到 c:/windows 下,至此,php 配置完成 3nginx 配置 打开 conf 目录下的 nginx.conf,修改: location / root www; index index.html index.htm index.php; 以及 location .php$ root www; fastcgi_pass :9000; 6 fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $docum

21、ent_root$fastcgi_script_name; include fastcgi_params; 最后生成的目录如下: 图 2-1.系统开发环境目录 4下载 RunHiddenConsole.exe,编写批处理文件 start_nginx.bat echo off REM Windows 下无效 REM set PHP_FCGI_CHILDREN=5 REM 每个进程处理的最大请求数,或设置为 Windows 环境变量 set PHP_FCGI_MAX_REQUESTS=1000 echo Starting PHP FastCGI. RunHiddenConsole D:/nginx

22、/php/php-cgi.exe -b :9000 -c D:/nginx/php/php.ini echo Starting nginx. RunHiddenConsole D:/nginx/nginx.exe -p D:/nginx stop_nginx.bat echo off echo Stopping nginx. taskkill /F /IM nginx.exe nul echo Stopping PHP FastCGI. 7 taskkill /F /IM php-cgi.exe nul exit 这样,php 和 nginx 服务就会同时启动了。 这时可以做

23、一下测试,编写 index.php,内容为,在浏览 器上输入 http:/localhost:8088/index.php,如果访问到的页面是关于 php 的版 本信息介绍页面则环境搭建成功。 图 2-2 测试环境截图 8 第三章 系统设计 3.1 系统总体结构设计 需求分析部分已将系统功能大致罗列出来,根据需求分析的结果,再对这些功 能分类、模块化,经过整理分析,确定系统功能如下: 地图初始化:系统需要使用地图展示查询结果,所以需要使用地图模块,本系 统使用的是百度地图。 地图控件的添加:为了方便地图的使用,需要在地图上添加操作控件。 查询某一线路信息:输入线路名称,查询线路详细的站点信息,

24、以及该线路在 地图上的运行轨迹。 查询某一位置信息:输入要查询的位置名称,查询该位置在地图上的位置,并 在地图上标注出来。 查询公交换乘方案:输入起始点和终点的位置,查询两地之间的公交换乘方案, 在地图上展示出来,并在界面右侧描述详细的换乘方案。 查询车辆 GPS 数据:输入要查询的线路名,选择某一车辆,在数据库中查询该 车辆的历史 GPS 数据,并实现将结果分页显示。 查询车辆当前位置:输入要查询的线路名,选择某一车辆,在数据库中查询该 车辆的当前 GPS 数据,并将该数据运用到地图模块,在地图上显示出来。 查询车辆运行轨迹:输入要查询的线路名,选择某一车辆,在数据库中查询该 车辆的历史 G

25、PS 数据,将这组数据传送至地图模块,在地图上动态的展示车辆的运 行轨迹。 功能模块图如下: 9 车辆轨迹回放系统 地图模块查询线路轨迹回放 地图 初始 化 查询 某一 位置 信息 地图 控件 添加 查询 某一 线路 信息 查询 公交 换乘 方案 查询 车辆 GPS 数据 查询 车辆 当前 位置 查询 车辆 轨迹 图 3-1.系统功能模块图 3.2.数据库设计 3.2.1 数据库的完整性 数据库设计既要全面的涵盖系统的所有功能模块,又要保证数据的完整性和可 操作性。数据库设计要根据系统的需求设计出相应数据表,明确数据表之间的关系, 按照要求定义数据表中的字段属性,设置好各个表字段的主键外键关系

26、,减少由于 操作不当造成的系统数据错误,删除异常等现象。 本系统通过设置表字段的主键外键达到约束数据的唯一性和相互依赖的目的, 使以后系统表数据的增删改查操作更加简单、安全。 3.2.2 数据库设计 本系统的数据库设计主要为数据表的设计,系统所需的数据表有车辆位置信息 数据表 gpsdata,车辆历史 GPS 表 gpshistory,车辆表 busid,线路表 lineid。数 据表之间的关系如下: 10 线路表 P PK K线线路路编编号号 线路名称 公司编号 发车间隔 公司编号 车辆表 P PK K车车辆辆自自编编号号 车辆名称 线路编号 线路名称 是否检测大间隔 GPS历史数据 P P

27、K K车车辆辆编编号号 线路名称 线路编号 终端号 GPS时间 日期 时间 经度 纬度 速度 方向 海拔 运行状态 中门 后门 前门 运行 下一站编号 距离 历史数据 保存的数据 发送用时 接受用时 总行程 GPS数据 P PK K车车辆辆编编号号 线路编号 GPS数据日期 经度 纬度 速度 偏移角 下一站编号 人数 发送时间 方向 运行状态 离开标志 图 3-2 数据库关系图 线路表以线路编号为主键,车辆表、GPS 历史数据表、GPS 数据表主键均为车辆 编号,这样可以方便查询,通过车辆编号可以查询到车辆所属线路,车辆 GPS 历史 数据,车辆 GPS 数据等信息。 1GPS 历史数据表(g

28、pshistory) 表格说明:该表格记录了公交车运行的相关信息的历史数据。主要为车辆在某 一时刻的 GPS 位置信息,通过该数据可以查询车辆在某一时刻的运行信息,如所处 的位置,车辆的运行方向等,通过车辆连续的位置数据可以粗略的绘制出车辆的运 行轨迹。 表 3-1 gpshistory 表 字段名称字段含义字段类型数据长度备注 O_LINENAME 线路名称 varchar50 O_LINENO 线路编号 varchar3 O_TERMINALNO 终端号 varchar10 O_BUSNAME 车辆名 varchar10 O_GPSDATETIME GPS 时间 datetime O_DA

29、TE 日期 Date O_TIME 时间 Time 11 O_LONGITUDE 经度 varchar15 数据单位为分 O_LATITUDE 纬度 varchar15 数据单位为分 O_SPEED 速度 varchar3 O_DIRECTION 方向 varchar3 O_HEIGHT 海拔 varchar5 O_RUNSTATUS 运行状态 varchar3 O_MIDDOOR 中门 varchar3 O_REARDOOR 后门 varchar3 O_FRONTDOOR 前门 varchar3 O_RUN 运行 varchar3 O_NEXTSTATIONNO 下一站编号 varchar3

30、 O_DISTANCE 距离 varchar3 O_HISTORYDATA 历史数据 varchar50 O_RESERVED 保存的数据 varchar50 O_SENDTIME 发送用时 varchar20 O_RECEIVETIME 接受用时 varchar20 O_TOTALMILE 总行程 varchar10 2车辆实时信息表 gpsdata 表格说明:此表记录了车辆的实时信息,主要包括车辆编号,所属线路编号, GPS 数据的日期,车辆的经纬度数据,车速,下一站编号,车辆上下行等数据,根 据查询此表所得的数据,可以在地图上显示出车辆的当前位置,此表中的数据时刻 在更新,保证查询结果的

31、准确性。 表 3-2 gpsdata 表 字段名称字段含义字段类型数据长度备注 BusNO 车辆编号varchar(6) 6 LineNo 线路编号varchar(3) 3 GPSDATE GPS 数据日期 datetime Longitude 经度varchar(10) 10 数据单位为分 Latitude 纬度varchar(10) 10 数据单位为分 Speed 速度 smallint(5)5 12 Angle 偏移角 smallint(5)5 NextStationNo 下一站编号 smallint(5)5 ManNum 人数 smallint(5)5 SLFlagtinyint(3)

32、3 SendDateTime 发送日期 datetime Direction 方向 tinyint(3)3 RunStatus 运行状态 tinyint(3)3 LeaveFlag 离开标志 int 3线路表 lineid 表格说明:此表主要记录了现有的线路信息,以及所属的公交公司的信息,方 便查询车辆的线路。 表 3-3 lineid 表 字段名称字段含义字段类型数据长度备注 O_LINENO 线路编号 varchar(3)3 O_LINENAME 线路名称 varchar(50)50 O_FILIALENO 公司编号 varchar(6)6 O_FILIALENAME 公司名称 varch

33、ar(50)50 O_CANCEL_TIME 收车时间 smallint(5)5 4车辆表(busid) 表格说明:本表格主要记录了车辆的一些信息,包括车辆的编号、名称、所属 线路编号、线路名称等,通过这些信息可以了解车辆与线路之间的关系。 表 3-4 busid 表 字段名称字段含义字段类型数据长度备注 O_BUSNO 车辆自编号 varchar(6)- O_BUSNAME 车辆名称 varchar(6)- O_LINENO 线路编号 varchar(3)- O_LINENAME 线路名称 varchar(20)- O_ISSINGLEUP DATE 是否检测大间隔 smallint(5)-

34、 13 第四章 系统实施 4.1 程序设计 4.1.1 连接数据库模块设计 本系统使用的是 MySQL 数据库,使用的脚本语言为 php,所以此模块主要是通 过 php 语言访问数据库,数据库用户名为 root,密码为 tianxunceshi,要连接的数 据库为 zsgj,连接数据库流程图如下: 开始 输入用户名、密码 验证用户名 N 输入要连接的数据 库 Y 验证数据库是 否存在 N 连接数据库成功 Y 结束 图 4-1 连接数据库流程 首先验证输入的用户名和密码是否正确,如果不正确则提示错误,返回重新输 入,如果正确则验证所连接的数据库是否存在,如果数据库不存在,则提示错误, 14 如果

35、正确则连接数据库成功,至此,数据库连接模块完成。将这一模块代码写入 conn.php 中,其他页面如需使用数据库,只需要在页面中写入 include(conn/conn.php); 即可引用该文件,达到连接数据库的目的,增强代码的可重用性。 4.1.2 地图模块实现 本系统使用百度地图作为地图展示页面,百度地图 javascript API 是一套由 javascript 语言编写的应用程序接口,能帮助用户在网站中构建功能丰富、交互性 强的地图应用,包含构建地图的基本功能的各种接口,提供本地搜索、线路规划等 数据服务,在互联网领域被广泛的应用,同时百度地图 API 推出了开源的类库,方便 开发

36、人员学习使用百度地图 API。用户在注册百度地图 API 的密钥后,可以免费使 用百度地图的功能。关键代码如下: 这里申明使用百度地图的 API,其中 ak 为百度地图的用户密钥,可以在百度 http:/ 在 php 文件中嵌入 javascript 代码,通过调用百度地图 API 中的 Map 方法完 成地图的初始化,初始化关键大妈如下: 首先在标签中申明三种地图格式 #allmap width: 100%;height: 100%;overflow: hidden;margin:0; #l-mapheight:100%;width:78%;float:left;border-right:2

37、px solid #bcbcbc; #r-resultheight:100%;width:20%;float:left; 分别定义地图占页面的比例,然后通过 var map = new BMap.Map(allmap); 实现地图的初始化,centerAndZoom 方法设置初始化地图后的中心点,addControl 方法添加控件,包括比例尺控件 ScaleControl、缩放控件 NavigationControl、2D/ 卫星图控件 MapTypeControl,以及默认地图控件 MapTypeControl,从而完成地图绘 制。 4.1.3 菜单模块 系统使用 frame 布局,菜单采用

38、可折叠菜单,菜单文件为 func.php。 15 菜单内容共有六项:查询公交信息、查询位置信息、公交换乘导航、车辆轨迹 数据、查询车辆位置、车辆轨迹回显。菜单通过 html 的 display 属性设置表单是否 可见,关键代码如下:onclick=if(bfq.style.display=none) bfq.style.display=;showbfq.innerText=查询公交信息; elsebfq.style.display=none;showbfq.innerText=查询公交信息; 这里通过一个 onclick 方法,判定菜单是否折叠,从而实现可选择的显示菜单。 每个菜单向都是通过

39、form 表单提交数据到功能实现页面。 4.1.4 系统的数据传输 在 func.php 页面中通过 form 表单传出数据,在功能实现页面接收数据,接受 数据代码如下: 按照系统功能需要向 javascript 中传送数据代码: var param = ; 如果要传送的数值为数组,则使用: var p = new Array(); p = ; 这些数据将地图页面使用,完成系统功能。数据传输时应注意,如果有汉字字 符需要传输,则要将 php 文件保存为 utf-8 的编码格式,并且要设置 html 语言的编 码同样为 utf-8,通过 meta 标签进行设计,这样可以在避免传输过程中出现乱码。

40、 系统使用的终端中传回的数据中,GPS 数据是以分为单位的,在使用前,要进 行数据处理,将其转换为度表示。 4.1.5 查询公交线路信息 输入公交线路名,通过调用百度地图的 API 进行站点信息查询线路信息及站点 信息,流程图如下: 16 开始 输入要查询的线路 名 数据提交到功能实 现页面 查询线路信息 显示结果 结束 检查是否有此 信息 Y N 图 4-2 查询公交线路信息流程图 输入要查询的线路名,通过 form 表单从 func.php 页面提交到 cxgjmap.php 页 面,通过 php 技术接受数据,将数据传入地图实现的 javascript 代码中,通过调用 百度地图 API

41、 的 busSerach 方法,创建 busline 对象,通过 busline 对象调用 getBusLine 方法实现获取线路,再通过 getBusList 方法获取线路站点列表。 如果查询到结果,则在地图上绘制出该线路的运行路径,并在右侧显示详细的 站点信息,如果没有查询到此线路,则返回重新输入。 4.1.6 查询位置信息 根据输入的位置信息在呼市范围内查询该位置,功能模块的流程图如下: 17 开始 输入要查询的位置 名 数据提交到功能实 现页面 查询位置信息 显示结果 结束 检查是否有此 信息 Y N 图 4-3 查询位置信息流程图 用户选择查询位置信息功能,输入某一位置名称,点击确定

42、按钮,通过 form 表 单传入 wzcxmap.php 中,将数据通过 php 技术传入到 javascript 中,调用百度地图 的 LocalSearch 方法查询位置信息,并将结果在地图上标注出来。如果查询到结果, 则在地图上标注出该位置,如果没有查询到,则返回重新输入。 4.1.7 公交换乘方案查询 公交换乘方案查询功能模块的流程图如下: 18 开始 输入起始点,终点 位置 数据提交到功能实 现页面 查询换乘方案 显示结果 结束 检查目的地是 否可达 Y N 图 4-4 公交换乘模块流程图 选择公交换乘导航模块,输入起始点、终点位置,确定提交。将数据传入到 javascript 的地

43、图实现模块中,通过百度地图的 TransitRoute 方法进行路径查询, 通过 policy:BMAP_TRANSIT_POLICY_AVOID_SUBWAYS 方法设置换乘方案,根据本系统 的需要设置为只乘坐公交车。如果查询到可行的换乘方案,则在地图上显示换乘路 径,页面右侧显示详细的换乘方法,如果没有可行的换乘方案,则返回重新输入。 4.1.8 车辆轨迹数据 显示某一辆公交车的 GPS 数据信息模块的流程图如下: 19 开始 输入要查询车辆的 车牌号 数据提交到功能实 现页面 访问数据库,查询 该车辆的GPS数据 显示结果 结束 检查数据库中 是否有此数据 Y N 图 4-5 查询车辆

44、GPS 数据流程图 输入车辆的车牌号,通过 func.php 的 form 表单将数据传入 table.php 中,执 行查询语句: select * from gps where O_BUSNAME = $BusNO 如果查询到此记录的信息,将得到的结果在 table 表单中显示出来,这里设置 为分页显示,每页显示 5 条数据,通过 php 技术实现分页操作;如果没有查到此信 息,则显示暂无记录,重新输入。 分页显示功能中首先通过声明变量并赋值 pagesize 实现每页数据大小的设置, 然后通过查询数据库中该记录的总数量,并通过与 pagesize 之间的运算得出数据应 该划分的总页数。在

45、数据显示时通过在 select 语句中添加 limit 限制其输出数据的 数量,通过设置 page 实现数据上一页、下一页、首页和尾页的跳转,并输出当前页 数和总页数信息。 20 4.1.9 车辆实时位置信息查询 查询某辆公交车实时位置信息功能模块的流程图如下: 开始 输入要查询车辆的 车牌号 数据提交到功能实 现页面 访问数据库,查询 该车辆的GPS数据 绘制当前位置 结束 检查数据库中 是否有此数据 Y N 图 4-6 查询车辆实时位置流程图 用户输入要查询的线路,然后选择要查询的车辆,确定提交后,在 cxclwz.php 页面中实现功能,首先根据输入的车辆信息查询数据库 select L

46、ongitude,Latitude from gpsdata where BusNO = $busno $busno 为定义的 php 变量,被赋值为$_POSTBusNO,如果查询到结果,则将 这条信息记录里的经纬度信息提取出来,传入到地图模块,通过百度 API 中的 map.addOverlay(marker1) 添加 marker1 的标注点,如果查询不到,则提示输入有误。 4.1.10 车辆轨迹回放 显示某一辆公交车在地图上的轨迹信息功能模块的流程图如下: 21 开始 输入要查询车辆的 车牌号 数据提交到功能实 现页面 访问数据库,查询 该车辆的GPS数据 绘制运行轨迹 结束 检查数据

47、库中 是否有此数据 Y N 图 4-7 车辆轨迹回放模块流程图 用户输入要查询的车牌号,确认提交后,在 gjhxmap.php 中查询 gpshistory 数 据库中是否有此记录,查询语句为: select Longitude,Latitude from gpshistory where BUSNO = $busno 如果可以查询到此记录信息,则将查询到的 GPS 数据通过 php 技术传入 javascript 的地图实现模块中,调用百度地图 API 的 Polyline 方法在地图上显示 出轨迹,再调用 DrivingRoute 方法将车辆的运行动态的在地图上显示出来。通过 button

48、 控制轨迹回放是否开始;如果未查询到此信息,则返回重新输入。 4.2 系统测试 软件测试的目的主要是对系统的功能模块是否能正常工作进行验证,尽量减少 由于系统的原因对用户在实际应用过程中造成的损失,当然,由于测试用例的限制, 这里只是初步测试,更多的问题可能要在系统测试运行中被发掘。 这里主要是验证本系统的功能是否实现,测试结果如下: 22 图 4-8 为地图模块,显示的是以呼和浩特市为中心,缩放级别为 12 的地图,在 此页面上可以通过鼠标操作实现地图的拖拽、缩放、平移、切换 2D/3D 图、查看卫 星图等功能。 图 4-8 地图模块 图 4-9 为菜单模块,显示系统主要功能目录,在此页面可

49、实现每一个菜单的折 叠功能,减少对页面布局的占用,使页面更加简洁,方便用户使用。 图 4-9.菜单模块 图 4-10 为查询公交线路信息结果截图,用户按照提示输入要查询的线路,例如 查询 79 路公交车,提交后查询结果如图:在地图部分显示出该线路的运行轨迹,在 地图右侧显示详细的站点信息,方便用户直观的了解线路信息。 23 图 4-10.查询公交线路信息 图 4-11 为查询位置信息结果截图,如要查询内蒙古工业大学,在输入框输入提 交后,系统执行查询,将查询结果的位置在地图上标注出来,如果查询结果不唯一, 则用字母 A,B,C 等进行区分,并显示该地点的地址信息、电话信息等。 图 4-11 查

50、询位置信息结果 图 4-12 为公交换乘导航结果截图,如要查询从内蒙古工业大学到内蒙古农业大 学的换乘方案,在输入框输入起点和终点信息,执行查询,将换乘轨迹在页面上显 示出来,右侧显示多种详细换乘方案,用户根据自己需要选择方案。 图 4-12 公交换乘导航结果 图 4-13 为查询车辆 GPS 数据成功结果截图,图 4-14 为查询失败截图。例如用 24 户输入要查询车牌号为 4252 的车辆 GPS 数据,系统在页面下方显示车辆的 GPS 数据, 分页显示,每页显示五行,方便用户查看数据。 图 4-13 查询车辆 GPS 数据结果 图 4-14 查询车辆 GPS 数据失败 图 4-15 为查询位置结果截图,例如用户查询编号为 1007 的车辆的当前位置信 息,在输入框中输入确定后,系统执行查询,在地图上显示出查询结果,通过本功 能可以方便用户了解某一车辆的当前动态。 图 4-15 查询结果截图 图 4-16 为车辆轨迹回放结果截图,例如要查询编号为 0001 的车辆的运行轨迹, 提交查询请求后,系统执行查询,将结果在地图上显示出来,首先显示出该车辆在 过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论