预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于Android平台的景区路线查询系统设计王亚州摘要针对目前景区导游APP缺少路线规划功能,设计了Android平台下的景区路线规划系统,提出了可变权值的Floyd最短路算法并应用到系统中。系统采用手绘地图作为底图,设计三个图层完成标记、路线的显示,通过记录关键点的经纬度和图片像素映射关系实现游客定位功能。测试结果表明系统能够根据游客选择的目的地和个性需求设计最优路线,系统具有实用性。【关键词】Android最短路Floyd算法景区路线规划随着社会经济高速发展、人们生活水平的提高,旅游产业得了到迅猛发展。目前,我国旅游景区的导视形式主要包括传统的人工导游和基于位置信息的语音讲解设备,这些方式提供的景区信息比较固定,而且费用较高,导致游客的游览体验不佳。与此同时,互联网技术和移动通信技术的快速发展为开发全新的景区导游方式提供了条件,特别是Android系统的出现,凭借着便捷的操作界面、丰富的功能和较低的学习成本迅速占领了市场,基于Android平台的景区导游系统开始出现在各大应用市场。通过研究现有的景区导游APP,发现其功能集中于景区景点基本介绍和周边饮食住宿推广,在景区内部的路径规划方面涉及较少。本文设计了一个Android平台下的景区路线规划系统,并将改进的Floyd算法应用到系统中,能够根据游客选择的目标景点安排游览路线。1相关技术Android是由Google公司推出的基于Linux平台的开源移动设备操作系统。Android操作系统采用了分层的架构,包括应用程序层、应用程序框架层、系统运行库层和Linux内核层。应用程序层包括系统内置的核心应用和用户开发的应用,开发人员使用Java语言调用应用程序框架层的API完成应用开发。Android平台具有开放性,允许任何厂商加入Android联盟,并且开发其应用程序的Java语言也是开源免费的,打破了以往阻碍移动产业创新发展的壁垒。2景区图结构表示法关于景区内部路线规划的研究,传统方法往往将景区图抽象为图论中的一个连通图,图中各个顶点代表景点,景点间的最短路定义为图中两点间的最短路。传统方法虽然可行,但是不具有实际应用意义,因为景区图的设计过于抽象,不能包含景区内部的复杂情况。本文意在设计一个能够实际应用的景区路线规划系统,对景区图结构进行了细致定义。景区图中除了包含有“景点”点之外,还应包含有“路口”点、“公共服务”点、“路线定位”点,多种类型点构成了景区连通图中的顶点,景区中的道路定义为图中各点之间的连线。其中“路线定位”点是景区道路上具有代表意义的点,用来定位Android手机的位置。3系统设计实现3.1系统框架设计该系统采用C/S模式,客户端为搭载Android系统的智能手机,支持无线上网、GPS定位等功能,用来从服务器下载查询景区信息、上传游客位置信息;服务器端为运行在ApacheTomcat下的javaweb项目,为客户端提供查询、下载服务。系统整体架构如图1所示。3.2最短路算法设计Floyd算法是圖论中求解两点间最短距离的经典算法,但是算法只给出了求解最短路的基本思想,并没有给出最短路包括的点以及遍历顺序。并且在实际应用中需考虑游客的特殊需求,比如不走陡峭道路、避开拥挤人流等,这时在求解到达目标景点的最优路线前需要重新计算图中个边的权值,不能直接使用距离作为权值。本文设计的最短路求解流程如下:(1)根据游客在系统中选择的条件计算图中各条边的权值,权值计算公式为:qij=dij+(a+b)dij(1)式(1)中dij代表点i到点j的实际距离;a取1时代表游客期望平坦道路,取0代表游客不在意此项;b取1时代表游客期望回避拥挤人流,取0代表游客不在意此项;qij代表点i到点j的路线权值。(2)计算当前游客所在点到目标景点最优路径,使用Floyd算法计算最短路矩阵R的伪代码描述如下,其中rij的初始值为j时,表示i与j直接相邻;初始值为0时,表示i与j不直接相邻:fork←1tomdofori←1tomdoforj←1tomdoif(qik+qkj<p>qij←qik+qkj;rij←rik;在最短路矩阵R中通过如下方法能够得到点vi到vj的路线:如果rij=j,vi到vj最短路为vi→vj;如果rij=k,rkj=j,vi到vj最短路为vi→vk→vj。依此类推,任意两点vi与vj的最短路均可在R中求得。3.3系统实现由于景区内部地图比较复杂,现有地图引擎不包括景区详细路线数据,绘制地图数据成本较高,所以本系统采用手绘地图作为底图。手绘地图不仅能够展示详细的景区内部路线,而且其独特的风格更能够吸引游客。具体实现包括以下方面:3.3.1图层实现本系统设计了以下三个图层,用来展示手绘地图、标记物、路线:MapView层:用来显示手绘地图,通过加载Bitmap,将普通图片显