基于Android的校园导航系统路径规划的研究与应用

基于Android的校园导航系统路径规划的研

究与应用

摘要:以高校为研究对象,将数字校园与GPS手机导航系统相结合,利用移动GIS的先进性,在目前最流行的Android平台下,结合ESRI推出的ArcGIS Android API插件,设计了一款校园智能手机导航系统。以中北大学为例,完成了系统的架构设计,介绍了数据组织及系统的功能,经过对比三种经典的最短路径算法后选择采用Dijkstra算法来实现校园智能手机导航系统中最短路径的选择。该校园智能手机导航系统的实施,为校园新生及校外来访人员提供了方便、快捷的智能导航服务。

关键词:GPS手机导航;移动GIS;ArcGIS for Android;Dijkstra算法;最短路径

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2014)06-1294-05

Research and Application of Campus Navigation System Path Planning Based on Android WU Qi1,LIN Jing1,Y ANG Jiang-tao2,3

(1.School of Computer Science and Control Engineering,North University of China,Taiyuan 030051,China; 2.Science and Technology on Electronic Test and Measurement Laboratory,North University of China,Taiyuan 030051,China;3.Key Laboratory of Instrumentation Science&Dynamic Measurement of Ministry of Education,North University of China,Taiyuan 030051,China)

Abstract:Regarding colleges and universities as the research objects and combining the digital campus with GPS mobile navigation system,a smartphone campus navigation system is designed by using the mobile GIS,Android platform and ESRI’s ArcGIS Android API plug.Taking the campus of The North University of China as an example,the paper realizes the design of system architecture,describes data organization and the function of system. After comparing three kinds of classical shortest path algorithms,the authors select Dijkstra algorithm to achieve the shortest path selection in the smartphone campus navigation system.The implementation of the system provides a convenient,fast and intelligent navigation services for freshmen and visitors.

Key words:GPS mobile navigation;mobile GIS;ArcGIS for Android;Dijkstra algorithm;shortest path

随着高校校园的逐渐扩建以及对外交流的日益增多,来高校参观、访问的人也越来越多,但高校面积一般都很大,机构和重要建筑分布错综复杂,来访者要经过一番周折才能到达目的地。而且高校一般很少提供纸质的地图向来访者提供导航服务,因此,建立具有校园信息查询、智能导航服务等功能的系统,对高校提高人性化服务水平很有必要。

目前,国内高校对于基于PC的校园智能导航研究得比较多,如清华大学虚拟校园、华中科技大学校园导航系统。相比之下,大部分高校对Android系统上的校园导航都缺少研究,而今Android开发技术日新月异,将传统PC机的导航系统用Android技术实现已成为可能。随着移动通信的发展,手机已经不仅仅是解决通话的问题了,它渐渐成了集通信手持电脑于一体的移动计算工具,人们对手机所赋予的功能也已经扩展到分布式计算、移动位置服务等更高端的领域。导航软件在智能手机中的应用现已成为研究热点之一,越来越多的互联网应用被移植到智能手机中来,不但充分发挥数据业务运营商的潜力,而且极大的提高了用户对手机多功能需求的满意度,给人们的生活带来了方便。本课题基于这种考虑,设计了一种基于Android的校园智能手机导航系统。采用Dijkstra算法并利用GIS系统的空间数据特性,根据实际情况对任意两点间最短路径进行规划,在智能手机平台上实现了优化路径选

择,为新生和校外来访人员提供了非常便捷的服务。本系统实用性强,易于开发、管理和升级,很好地解决了初次来学校的新生和校外来访人员所遇到的问题,既方便了新生和校外来访人员,又提高了学校的美誉度,具有很好的应用价值[1]。

1 系统开发理论基础

1.1 系统背景介绍

校园是大学生日常活动的主要空间。大学校园通常具有面积大、开放性强、建筑布局分散、各类设施杂乱等特点,校园地理信息相对来说比较复杂。这给校园内的每一个人尤其是对大一新生和校外来访人员带来诸多不便。因此,开发出一个为新生和校外来访人员提供校园信息服务的智能手机导航系统十分必要[2,3]。1.2 移动GIS技术

地理信息系统(简称GIS)[4]是一种特定的十分重要的空间信息系统,是在计算机软、硬件系统支持下,对整个或部分地球表层(包括大气层)的有关地理分布数据进行采集、存储、管理、运算、分析、显示和描述的技术系统。移动GIS[5]是GIS(地理信息系统)从静态走向动态环境的重大发展,通过综合运用GPS的精确定位技术、便携移动设备(如掌上电脑、智能手机)、移动通信技术和GIS的空间信息处理能力,使野外工作者能够利用该系统实时地获取、存储、更新、处理、分析和显示地理信息。

1.3 ArcGIS for Android介绍

ArcGIS for Android将GIS的适用范围从办公室扩展到移动Web。发布时,ArcGIS for Android 将包括一个应用程序,您将能够从Android Market应用商店下载这款称为ArcGIS 的应用程序。这个应用程序类似于已经发布的ArcGIS for iOS和Windows Phone应用程序。使用该ArcGIS应用程序,您能够浏览https://www.360docs.net/doc/7317712405.html,或ArcGIS Server提供的地图,并且利用程序中提供的工具进行搜索,识别位置和要素,测量线和面,以及编辑[6]。

2 系统设计

2.1 系统结构设计

本系统的结构分为服务器端的搭建和客户端软件的开发。使用ArcGIS Server在服务器计算机上搭建一套完整的地图服务,能够发布自己的地图和随时对地图信息进行编辑。客户端软件所要开发的功能有地图显示、地图定位、位置搜索、选择图层、路径导航等。系统功能结构图如图1所示。

图1 系统功能结构图

2.2 数据库设计

1)在图层中创建一个线要素Road,用于表示地图中的道路,再给该要素添加属性,为了方便与最短路径的计算,添加了道路的长度、限速值、行驶时间、端点信息等属性,OBJECTID是自动生成的用于唯一标识一个要素,SHAPE是指要素的类型,这里是几何类型,由于Road是线要素,所以系统也会自动生成SHAPE_LENGTH属性,默认表示该线段的几何长度,SpeedLimit和DriveTime都是自己另外添加的属性,为计算最短路径功能所用。如表1所示。

2)为了实现智能导航系统的选择图层功能,再向图层中添加一些生活常用的信息点,如医院、停车场、电影院、美食、银行、加油站、超市等,所以又添加了11个点要素:Food、Hospital、Shop、Park、KTV、Movie、Bank、Gas、Medicine、KFC、Mcdonald。每个要素各对应有自己的属性表,由于他们都类似,下面只列出其中的一个表,如表2所示。

表1 道路信息表

表2 医院信息表

3 核心问题和难点问题

路径导航功能是该系统最核心且最有难度的功能,路径导航就是用户设定一个起点(或以当前定位点为起点)和一个终点,系统采用一种最短路径算法来通过计算求出所设起点到

终点的最优路径。在空间决策模型中,实现行驶最优路径的规划算法是空间决策的核心内容。只有构建出最优路径模型,系统终端获取的地理位置信息才能够最迅速快捷地用到校园导航路线的选择和优化中。

3.1 三种最短路径算法的比较与选择

本系统最核心的算法就是导航功能中的最短路径选择算法,为了选择最适合于本系统的最短路径算法,对常见的三种最短路径算法进行分析和比较,归纳出这三种最短路径算法的对比如表3所示。

表3 三种最短路径算法对比表

根据对比可以看出,Dijkstra算法在时间和空间上都是优于Floyd算法和Bellman-Ford 算法的。不足之处就是Dijkstra算法不能处理含负权边的图。但根据本系统的实际情况,地图中的道路长度一定为正数,最短行驶时间也一定为正数,所以对于本系统来说,Dijkstra 算法的这个缺陷可以忽略不计。因此,本系统选用Dijkstra算法来计算导航功能中的最短路径问题。

3.2 经典Dijkstra算法过程分析

Dijkstra算法也是求单源最短路径的算法,思想就是以源点s为中心,向外层层扩展,直到扩展到终点为止。算法思路如下[7]:

1)初始化:设源点s的dis[s]=0,除源点外的其他点dis[i]=无穷大,同时把所有的结点的状态都设为未扩展状态;

2)循环V次:在未扩展的点中取一个dis值最小的点i,把结点i标记为已扩展的,并对和点i相邻的每一个点j进行松弛操作,即更新dis[j]的值;

3)算法结束后,对于任意的点i,dis[i]就是源点s到结点i的最短距离。

算法的伪代码如下:

For each v ∈V(G)

do dis[v] = INF;

dis[s] = 0;

把结点都插入优先队列Q

while Q非空do

i = Q.top();

把i标记为已扩展

For each edge(i,j)do

If j未标记and dis[j] > dis[i] + w[i,j] then

dis[j] > dis[i] + w[i,j]

如果用普通的邻接矩阵来存储图的结构,只能在每次循环里面再用一个循环来找出dis 值最小的结点,那么时间复杂度将是O(V2)。所以为了优化时间,可以使用优先队列来保存所有结点的dis值,优先队列的内部实现一般都是使用二叉堆,所以建立和维护这个优先队列的时间复杂度是O(log|V|),所以Dijkstra算法的总时间复杂度是O(E+V*log|V|),空间复杂度是O(V+E)。4 系统功能及其实现

4.1 系统主要功能

我们要实现的是校园智能手机导航系统,服务的对象是入学不久的新生和初到校园的校外来访人员,所以此系统的设计应遵从“界面直观,功能鲜明,使用简便”的原则,从而为新生和校外来访人员了解校园环境提供便捷和帮助。系统具有的功能大致如下:1)数据的更改和删除。由于高校校园逐渐扩建,校园地理环境不断变化,对于已经建成的校园导航系统,进行及时准确的更新十分必要。系统可以在数据库中对现有的数据进行删除、修改,从而实现对校园地图和属性的及时更新。2)数据的查询和显示。用户可以通

过输入关键词后在地图上搜索地点。对于显示在地图窗口的地图可以进行放大、缩小、漫游等操作,用户还可以根据自己的需要及兴趣点控制各个图层的显示,使查询的信息更加明显。3)空间分析查询。打开客户端软件时,手机进行实时GPS定位,获取当前位置后在地图上显示位置坐标,并显示附近的地图信息。基于“Dijkstra算法”的最短路径导航功能还可以对任意两点可以进行最短路径的查询和导航,这是系统最核心的功能,用户通过输入起点(或以当前定位点为起点)和终点可以迅速查询出两点间最短路径,为新生和校外来访人员提供了非常便捷及人性化的服务。

4.2 性能测试分析

1)GPS定位功能实现。在移动端采用坐标定位的方法,如果手机的GPS定位功能已开启,地图会自动定位,获取到当前的坐标时,地图控件会自动平移到当前的位置。界面如图2所示。

2)搜索地点功能实现。在搜索框中输入关键词地名,例如“金虎超市”,点击搜索按钮,就会向服务器发送请求,若能找到,则返回它的坐标,然后客户端就在地图中显示一个蓝色的点,表示搜索的位置。界面如图3所示。

3)选择图层功能实现。基于用户兴趣点选择图层,其中包含的图层有:美食、医院、超市、停车场、KTV、电影院、银行、加油站、药店等。用户选择感兴趣的图层后,可以在地图上显示对应的图标。界面如图4所示。

4)路径导航功能实现。采用Dijkstra算法实现最短路径的选择,当用户设置起点(或以当前定位点为起点)和终点后地图会在该两点显示标记,点击导航按钮后,地图上就会显示出从起点到终点的一条最优路径。界面如图5和图6所示。

图2 GPS实时定位界面图3 关键词搜索地点界面图4 兴趣点选择图层界面

图5 最短路径导航界面(用户设置起点)图6 最短路径导航界面(以当前定位点为起点)

5 结束语

校园智能手机导航系统的建立是校园数字化的一种体现,为学校日后建立综合校园管理体系奠定了基础。利用Dijkstra算法实现了最短路径的选择,获得的最短路径的属性数据得以显示,提供了及时且更直观的校园导航系统的信息。通过测试,本系统起到了为新生报到和校外来访人员提供指南导航的作用,提供了方便、快捷的智能导航服务信息,从而提高了学校管理水平和工作效率。系统服务于高校的规划和建设,可以为高校的发展做出一定的贡献。基于Android平台可以快速有效地进行系统开发,极大地减少了程序开发工作量,缩短了开发周期。可以实现高效、无缝的系统集成,这是未来GIS程序开发的发展趋势。随着GIS的发展的日新月异,相信其应用领域也将有更大拓展。希望该系统的设计方案和核心模块的功能实现方法能为此类系统的设计提供一定的参考。

参考文献:

[1] 王福平,乔丹,王俊彩,胡长中.基于嵌入式的校园智能导航系统设计[J].计算机应用,2011,31(z1):146-148.

[2] 刘永轩,原凯敏,刘芬等.基于GIS的山西师范大学新生报到导航系统[J].科技情报开发与经济,2010,20(32):107-109.

[3] 虞昌彬,谢潇.基于.Net平台的校园新生导航系统[J].福建电脑,2008,10:121-122.

[4] 唐伟奇.校园地理信息系统的开发与实现[J].科学技术与工程,2006,6(8):1102-1118.

[5] 袁满,于海洋.基于ArcGIS Mobile的油田移动GIS系统架构与实现[J].科学技术与工程,2011,11(20):4800-4803.

[6] 周靖雄,陈友飞.基于ArcGIS Android API的GPS 手机导航系统关键技术的研究与

实现[J].数字技术与应用,2012(4):45-48.

[7] 王燕. GIS/GPS技术在物流信息系统设计中的应用[J].物流技术:装备版,2013,32 (1):246-266.

相关文档
最新文档