手机定位下交通空间信息描述与推理性研究
2018-01-22曹昕燕王强
曹昕燕,王强,2
(1.长春大学 电子信息工程学院,长春 130022; 2.科大讯飞股份有限公司 大数据部门,合肥 002230)
0 引言
随着城市发展进程的加快,交通拥堵问题已经严重影响到了居民的出行,解决交通拥堵问题迫在眉睫。而解决交通拥堵问题的关键技术就是交通信息的采集。大数据和“互联网+”已成为了时代发展的前沿,手机移动端成为信息交互的重要手段。手机定位技术也得到了迅速发展,基于GPS定位和基于移动运营网的定位技术成为手机定位技术的主流。利用Android平台开发采集空间信息,能够更加方便快捷地采集手机用户的交通信息数据,随着交通信息的增多,对交通空间信息的研究显得尤为重要[1]。
本文在阐述手机定位技术的基础上,开发了基于Android平台的一种对交通信息进行采集系统(包括经度、纬度、时间、所在位置),并通过对采集的用户交通数据进行处理,最后将所处理的数据录入到ArcGIS进行可视化表达并作出推理性研究。
1 手机定位技术
手机定位技术通过特定的定位技术来获取移动手机或终端用户的位置信息,在电子地图上标出被定位对象的技术或服务。定位技术有两种,一种是基于GPS的定位;一种是基于移动运营商的定位[2]。基于GPS的定位方式是利用手机上的GPS定位模块将自己的位置信号发送到定位后台来实现手机定位的;基站定位则是利用基站对于手机的测算距离来确定手机位置的[3]。后者不需要手机具有GPS定位能力,但是精度很大程度上依赖于基站的分布及覆盖范围的大小,误差会超过一公里。前者定位精度较高。此外还有利用Wifi进行小范围内定位的定位方式[4]。
2 在Android平台下进行应用开发
2.1 Android系统开发框架
Android的系统架构和其他操作系统一样,采用分层的架构,从架构图看,Android由应用程序层、应用程序架构层、系统运行库层和Linux内核层[5]组成。
Android的整个操作系统都基于Linux内核层,在Linux内核之上是系统运行层,在这里面有很多程序包都是用c或者c++编写。在系统运行层还有一个java运行环境,在这里面有一些核心包。Android用的类库IO,activity等就在这里面,这里面还有一个虚拟机能够很好地模拟手机状态[6]。在这层之上就是应用程序框架层,这是手机开发非常重要的一层,提供手机开发的最基本的API。最顶层是应用程序层,应用程序就是在这一层进行开发,它们之间的关系是:应用程序层调用应用程序框架层,应用程序框架层是用java编写,因此需要调用系统运行层以及需要在基于Android运行环境进行运行,最后要交给Linux底层进行硬件交互运行[7]。
2.2 开发环境的搭建
在Android开发环境的过程中,需要四个部分ADT、Eclipse、Java SDK、Android SDK、Android 开发环境搭建流程,如图1所示。
图1 Android开发环境搭建流程图
2.3 系统设计
2.3.1 系统功能
本文旨在提取用户的位置信息,在事先征得用户应允的前提下对用户位置信息进行提取,所以并不会存在隐私问题。本设计预达到的功能是获取用户的位置信息,通过手机App采集数据,提取用户的经度纬度坐标、时间、地点、街道,并将所得数据上传至服务器进行存储。
2.3.2 软件设计
Android平台主要采集的是用户的经度纬度、时间、地点、街道等数据,Android平台开发的App是通过Java语言来调用手机本身的定位模块从而达到定位目的的,当然也要结合当前百度地图SDK显示当前位置。软件设计如图2所示。
图2 软件设计流程图
启动手机Android应用,判断手机的GPS和无线网络是否打开,如果没有打开将会出现闪退,开启上传服务,并在后台运行服务,调用百度地图API以及手机定位硬件获取实时位置。如果获取数据失败则舍弃,重新定位,成功进行下一步。获取成功后,检测手机网络状况。若手机网络良好,获取本机Mac地址、IP、设备号、连同定位经纬度数据、地址、时间、街道等数据一并上传至服务器;如果网络不好则舍弃,等待网络重新进行定位,服务器返回成功状态码,本次数据采集结束。采集频率为5分钟一次。
2.3.3 功能模块设计
系统主要用于设计采集用户的经纬度坐标、地点、街道、时间,然后再上传到服务器,主要由8模块组成:activity模块、网络模块、采集时间范围模块、远程服务器访问模块、定位信息环境模块、广播模块、百度API模块、App应用创建模块。
activity模块:整个应用程序的界面,负责填加按钮、填加文本、文本框、增加图片、改变长宽等等。
网络模块:主要来判别用户有没有打开GPS和无线服务。如果没打开的话,将不会运行,在GPS和无线服务都打开的情况下,每5分钟采集一次定位数据,给远程服务器模块进行处理代码。
对采集时间进行限定作用:因为本次采集数据时间点不会采集那么大量,所以在时间上进行了限定,上午7点到9点左右、中午11点到14点左右、下午16点到19点左右,选择用户上下班时间。
远程服务器访问作用:对定位成功的数据上传到服务器。
运行环境信息:将手机基本信息进行上传,包括手机系统、手机版本、手机IMEI号、手机网络的MAC地址等等。
广播模块的作用:主要起到activity到service的桥梁作用。
百度地图模块的作用:通过手机本身定位硬件模块,再通过调入API在百度地图上进行显示。这一块将在下一节进行详细介绍。
Application的作用:保护App应用软件能够运行。
3 可视化表达及推理性研究
随着交通信息的增多,对交通信息的研究显得尤为重要。美国环境系统研究所(简称ERSI)开发出了新一代GIS产品,将采集的数据录入到ArcMap中,ArcMap提供强大的坐标存储功能,本次设计采用的是WGSI1984坐标,WGS1984还是一种投影坐标系名称,它可以显示地球上任意一点的位置,如图3、图4所示。
图3 ArcMap的长春地图
图4 ArcMap图层
图5 App界面
4 系统测试
本设计测试在长春市市区进行,选取时间为上、下班时间,选取若干个用户为实验对象,为了保护个人隐私,所以对用户进行匿名处理。首先,打开手机,开启APP开始进行数据采集。App界面如图5所示。采集的数据上传至服务器,将采集的数据存储到Excel中,如表1所示。
表1采集数据
本次实验研究的分别是长春市的人民大街、自由大路、卫星广场、卫星路、工农广场等比较拥堵的路段,将采集的数据录入到ArcMap中,如图6所示。
图6 ArcMap录入数据界面
5 结语
利用手机定位数据,提取个体、区域及通道交通出行特征参数并进行时空分布分析是研究重点。对用户定位数据进行了采集,对重点区域进行了可视化表达,为长春交通问题的解决提出了全新的方案。同时,基于手机定位信息的交通出行及状态分析,为交通规划、交通管理提供基础数据及技术支持。
[1] 苟锡荣,左小清,张用川. 基于GPS浮动车的数字速度模型在城市交通状态演变分析中的应用:以昆明市为例[J]. 科学技术与工程,2013(11):3172-3177.
[2] 张燕兵. Android手机定位与地图设计与实现[D].长春:吉林大学,2013.
[3] 吴擒龙. GPS轨迹提取云服务平台[D].长春:东北师范大学,2014.
[4] 窦丽莎,曹凯. 出行者子停留语义推断模型框架[J]. 山东理工大学学报(自然科学版),2012(6):17-22.
[5] 欧阳鸿,刘建勋,刘毅志,等. 基于步行GPS轨迹的路网提取方法[J]. 计算机与现代化,2014(2):124-128.
[6] 王力军,何友全.一种以空间换时间的快速查找算法的设计与应用[J]. 重庆科技学院学报(自然科学版),2009(3): 132-134.
[7] 马占刚. 基于手机的交通信息采集及处理技术[D].重庆:重庆交通大学,2009.