时间:2024-05-22
孙咸磊,许捍卫
(1.河海大学 地球科学与工程学院,江苏 南京 210098)
基于移动设备的定位跟踪系统及其实现
孙咸磊1,许捍卫1
(1.河海大学 地球科学与工程学院,江苏 南京 210098)
利用Android移动平台和百度地图API,开发了基于B/S架构的移动设备定位跟踪系统。该系统利用移动设备内置GPS芯片采集定位数据,再通过GPRS无线网络通信传输至服务器,并在浏览器端实现对移动设备的实时定位跟踪。系统运行稳定,定位快速准确,为GPS服务于信息化管理提供了一种低成本解决方案。
GPS;移动设备;定位跟踪;GPRS
近年来,随着具有强劲处理能力、空间定位、移动网络通信等功能的移动智能设备的爆发式发展,使得在移动智能设备上构建移动定位跟踪系统成为人员或者货物定位跟踪的理想方案。本文采用百度地图提供的地图数据服务和百度定位SDK的定位服务,开发了基于B/S模式的移动设备定位跟踪平台以及Android手机平台下的客户端软件。移动端定位位置由百度定位SDK根据移动端GPS、WiFi、基站确定,手机客户端和数据服务器之间通过GPRS方式进行网络数据传输。
系统由移动设备客户端和服务器接收端组成(如图1所示)。其中,移动设备客户端程序基于Android平台,综合利用百度定位SDK、内置GPS、WiFi、基站确定位置,并通过GPRS网络传送数据至接收服务器;服务器接收端主要包括数据接收、数据展示等模块,前者负责监听移动设备发送的位置信息并将其存储在数据库中,后者通过Ajax技术利用百度地图API实时绘制移动设备位置到地图中。
图1 系统结构图
Android是一种基于Linux平台的自由及开发源代码的操作系统。Android平台由操作系统、中间件、用户界面和应用软件组成。由于其开放性和可移植性,Android的应用领域逐渐扩大到智能手机、平板电脑、电视、机顶盒、汽车设备、导航仪等大部分电子产品。随着智能手机和平板电脑爆发式发展,截至2010年末,Android已成为全球第一大智能手机操作系统。
百度地图Android定位SDK为基于移动客户端开发的LBS应用程序提供基础定位功能,可通过GPS、网络(WiFi、基站)混合定位,返回当前所处的位置信息。使用百度地图定位SDK时,若用户设置GPS优先,则优先使用GPS进行定位,如果GPS定位未打开或没有可用位置信息,且网络连接正常,定位SDK则会返回网络定位的最优结果。百度定位SDK的定位原理如图2所示。百度定位SDK的特点为:①精度高,GPS:30 m以内,WiFi:30~200 m,基站:100~300 m;②流量小,网络定位请求流量约0.3 K/次;③速度快,网络定位时间小于1 s。
图2 百度定位SDK原理图
GPRS是GSM移动电话用户可用的一种基于包的无线通信服务。它将通信速率从56 K/s提升到114 K/s,并且支持计算机和移动用户的持续连接,具有较高的数据吞吐能力,其通信方式稳定,支持TCP/IP协议,方便与Internet进行无线数据传输。
Android平台的程序可使用Java语言在Eclipse中进行开发。该定位跟踪系统移动设备客户端利用百度定位SDK调用获取位置信息,将位置信息进行必要的处理,最终发送到数据接收服务器。客户端核心流程如图3所示。
图3 客户端核心流程图
2.1.1 移除低精度点
系统使用的百度定位SDK在GPS信号无法正常获取的情况下,会利用网络定位,但网络定位精度会低很多。无论GPS定位,还是网络定位,百度定位SDK都会返回位置的范围半径,GPS定位的范围半径在0~100 m,而网络定位的范围半径在0~1 000 m。系统通过设置合适阈值,可移除位置范围半径太大的低精度点。GPS信号异常时,利用网络定位可在精度合适的范围内进行位置信息采集。
2.1.2 判断位置移动
定位数据随着时间的累计会达到较大的数据量,为了保证Web监控模块检索数据的效率和稳定性,系统通过设置发起2次定位请求的间隔时间来进行定位,从而减少定位数据量。对于每次接收的位置数据,都和上一次的位置进行比较,如果位置移动距离大于设置好的阈值,则认为位置移动,继续正常执行数据发送程序,否则舍弃该次定位数据,继续监听等到下一次定位。
2.1.3 发送位置数据
在Android SDK中已经集成了Apache的HttpClient模块,使用该模块,可使用http协议进行网络连接,传送数据。系统中具体的数据发送代码如下:
该模块的主要功能为进行数据监听,接收从移动设备发送的位置数据,完成对数据库的连接、读取、存储、断开和执行SQL语句的操作,完成对位置数据入库以及对Web端监控模块的数据查询操作。
本系统的服务器接收模块由php编写,监听并接收从移动设备发送的位置信息,根据已有的数据库信息,将位置信息存入数据库。
基于Web模式的监控模块主要使用百度地图JavaScript API进行位置展示,同时运用Ajax技术进行网页无刷新的数据更新。百度地图API是一套由JavaScript语言编写的应用程序接口,使用百度地图API接口可快速在网站中构建功能丰富、交互性强的地图应用。Ajax是一种用于创建更好更快、交互性更强的Web应用程序的技术。其核心是JavaScript对象XmlHttpRequest,通过该对象直接与服务器通信,在不重载页面的情况下与Web服务器交换数据。
本系统Web监控模块采用Ajax异步通信技术,每隔一段时间读取一次数据库,获得移动设备的实时位置,再通过百度地图API在矢量要素层重新绘制移动设备的位置信息,从而实现在Web端通过浏览器对移动设备进行实时跟踪监控。
系统测试在河海大学鼓楼校区内进行,服务器端为笔者之前购置的在美国西海岸加利福尼亚州圣何塞市机房内的虚拟主机,具有独立IP,对中国大陆访问速度快。移动端采用摩托罗拉Defy526智能手机(搭载Android 4.0.3系统),定位时间间隔为10 s。移动设备客户端效果如图4所示,Web端监控效果如图5所示。
图4 移动设备客户端截图
图5 Web监控端截图(红色为历史轨迹点,蓝色为当前实时位置点)
本系统采用分布式网络架构,综合运用Android嵌入式系统、百度定位SDK、百度地图API和GPRS网络实现了对移动设备的实时位置跟踪监控。系统运行稳定,定位实时且准确,所需成本低,结构简单,为人员位置监控、移动目标跟踪等提供了简单有效的解决方案,具有广阔的应用前景。
[1] 杨云源.移动GIS定位技术研究[J].地理空间信息, 2009,7(2): 67-70
[2] 张舒.基于GPS/GSM的个人定位系统设计[J].北华大学学报:自然科学版, 2012(1): 121-124
[3] 韩琼,张恒,郭际明.基于GPS的定位跟踪平台设计与实现[J].国土资源信息化, 2012(4): 57-61
[4] 刘鹏飞,王军.哈尔滨市邮政局GPS车辆管理系统设计与应用[J].通信管理与技术, 2012(1): 55-56
[5] 凌大荣.卫星定位系统在军事物流中的应用与发展[J].军事经济研究, 2010(3): 33-35
[6] 严明良,缪一钧.基于基站定位和GPS的双定位跟踪系统架构和实现[J].今日电子, 2012(12): 59-61
[7] 余霖,任向林.极限编程及其Android开发应用[J]. 电脑编程技巧与维护, 2012(16): 47
[8] 魏志强, 黄亮,王明江.基于短信的远程控制与追踪系统设计与实现[J].微处理机, 2011(3): 92-95
[9] 罗国豪.GPS定位监控信息系统在道路运输业中的应用[J].交通标准化, 2005(9): 112-114
[10] 李立梅.GPS定位报警系统[J].太原科技, 2003(1): 39-41
Location Tracking System Based on Mobile Devices
bySUN Xianlei
Using Android system and Baidu Map Api,we developed the online GPS real-time locating and tracking system based on B/S mode.The system
GPS positioning data via the embedded GPS chip in mobile devices,sended GPS coordinates and attribute infomation back to the data server by using GPRS wireless network communication technology and showed the real-time location of mobile device in a browser window.The experimental results show that the system runs stably and it can be fast and accurate positioning.
GPS,mobile devices,location tracking system,GPRS
P228.42
B
1672-4623(2014)02-0111-03
10.11709/j.issn.1672-4623.2014.02.039
2013-06-03。
项目来源:国家自然科学基金资助项目(41101374)。
孙咸磊,硕士,主要研究方向为地理信息系统开发与应用。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!