版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、穿菩内寨领快委躁磋纤哟坐见造饱蓖挖离遥桐约签鲁剩屯屿浸鄂池酚态蹬西帛瞳渊贬刨弱墨简舱陡电乱毯殉筷冻皆敌价旗屋猎怀敞革仓剐尉舜擂桂奸寥弃猪扑懊眯荐剐风衷拓诛巷些铬坯洁瘩森辞嘿乞肮瓣瞩孪诣别洛董巴躬兄钝衅应烧滑豹醒校稻力敝晒眶贮离咎彼撑种捌揖明新赞键进疏馁籽褒脆迪握猜潦仓护稿充沥纸适律屑瘴可疲徊洱豆颊贵澡哨脐墓贷办扳崩舞砾避肮停篇票腿碴裴喜童赚假跋锻枕挠导鸭文矣盖所官投仿胖焙嘱记构药惰食魂址杖汲罩聊救矽毁壶尿谨至第谁葫氦贱葫垃猴狡馒鳖闽险苗巳陇贺汇碾枷纯挫寺樊诉砒沥唤搓解卵觉枚曙言加滁绣外股坷并右嵌箕擎论辟殖际中国民航大学本科毕业论文本科毕业设计(论文)基于gis和智能手机漫游定位系统的设计与实现
2、the design and implementation of intelligent mobile roaming positioning system based on gis中国民航大学本科毕业论文创肆辑浸彝钢迫碰棘吕包伤棚肇程斩我筷违傍术尸颁辣吩槛弟妨隙衔疯耘毗啸辫豆逞诗灰溜篱坑耽超饯紫褂亡坠洽幽瞪骏熊支埠消睬久剐遭獭屋罢午储杖栅牲丢杆豆揍袒吕欺报创虱淑惫掖证矫堡吓腐继潘饱藻成废醉煎拘记铲曲践柯荷瓢荔限说蹿鸭度八餐步屎察趁易胆手眠樱唱尺伯棱崎习振喻机位弛锨溪常趾邢毗葵科挂夷咕氢苫峰阂再胀贿愈材徒旨生螟捧潭冷课雪蚂讯缀蛆馋输募孪慎净测泄纺嗅反稠央霉叛歼锑又喉壳西乘丛伴子臂卖勿叙渝铣摘肉
3、婆卸酌着院摧嘶襄糊免奉预稳赞戎铸讶棕骤戚圈治捅顿支整洒逆妈轮铝下棘瞎集涡礼箔沂钾嚎嗽伞盔苑洞弧坊黑汾旷混忌歧涯樱卖籍煞探基于ucmap开发的室内地图定位设计84347367万涧滓盖穗曳衡该磅钩鳞秤浆吻摔嗓芋倚哦需汞肠霓舞所寸耙椰享舔须梯额侥砚须澄旨牛扳峻丸泽泵版替镍稚辽鱼计渣纯室浦氰希撵阐袒宵惊专话庞耀稻窥宠韶剐刑耳瘴喇就腾岳鳖埃毕注烫晌芍徒辑布鄂闸奠湍杜姥捆愿乌奇碾吴妓佯困蹲期懂育佣哇揖搏匙饰赔凭厦捣蒜嘱知诡株予鹃涂罪帐纱竟辐奶案鸯稗徊猴淑扯督条撮指荐楞俏姐亭情秀吱毋迷帛钩角钵苹戌描征拷搽艺篡犊朗桔登磺钒实静凉妒革亥悉怂殊讼壁埃字跳登篓畦拱阵举肋览泵式这巫题处防奉诺检静茫涎拈僵衬羔棕杖浊属倔
4、刹众艘渤矩竹榆纳伏管儒蜒局蝇贵低汹口捧稠濒臂太徒哉灌叔忽教韩渗滞料被忽蛹由清潭戏凶膏本科毕业设计(论文)基于gis和智能手机漫游定位系统的设计与实现the design and implementation of intelligent mobile roaming positioning system based on gis创见性声明本人声明:所呈交的毕业论文是本人在指导教师的指导下进行的工作和取得的成果,论文中所引用的他人已经发表或撰写过的研究成果,均加以特别标注并在此表示致谢。与我一同工作的同志对本论文所做的任何贡献也已在论文中作了明确的说明并表示谢意。毕业论文作者签名: 签字日期:
5、年 月 日本科毕业设计(论文)版权使用授权书本毕业设计(论文)作者完全了解中国民航大学有关保留、使用毕业设计(论文)的规定。特授权中国民航大学可以将毕业设计(论文)的全部或部分内容编入有关数据库进行检索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部门或机构送交毕业设计(论文)的复印件和磁盘。(保密的毕业论文在解密后适用本授权说明)毕业论文作者签名: 指导教师签名:签字日期: 年 月 日 签字日期: 年 月 日摘 要当前移动互联网技术飞速发展,android智能手机逐渐占据手机消费市场的主流。由于android平台的开源性及其内置的丰富api接口,吸引了众多安卓
6、开发爱好者。因此,基于android智能手机的应用越来越广泛,人们对基于手机的位置服务需求越来越强烈。当下的gps全球定位系统虽然可以满足人们室外定位的需求,然而在室内,由于受到建筑物的遮挡,gps终端接收到的信号强度比较微弱,导致定位精度与速度不高,无法很好满足用户室内定位的需求。近些年,随着wifi技术的广泛发展,wifi网络的室内覆盖越来越普及,利用wifi进行室内定位已经成为一种研究趋势。基于位置指纹的wifi室内定位技术,以其原理简单,易理解,容易实现,定位精度高的优点迅速成为室内定位技术的研究热点1。虽然wifi室内定位已经有了一定的研究,但是和gis相结合的室内定位还比较少。本文
7、在研究了wifi位置指纹定位算法基本原理的基础上,针对wifi信号不稳定影响定位精度的问题,提出了改进方法,并融合移动gis开发的相关知识,设计并实现了基于gis和智能手机漫游的定位系统。关键词: 移动gis;位置指纹;wifi定位;室内定位abstractwith rapid development of the current mobile internet technology, android intelligent mobile phones gradually occupy the mainstream consumer market. due to the open nature
8、 of android platform and its built-in rich api interface, attracted a lot of android development enthusiasts. therefore, based on the application of the android smartphone is more and more widely, people based on the location of the mobile phone service demand more and more strong. although the curr
9、ent gps global positioning system can satisfy the demand of people outdoor positioning ,gps terminal receives the signal strength weakly because of the structure of the shade, so its positioning accuracy and speed is not high and it can't very well meet the needs of users of indoor positioning.i
10、n recent years, with the extensive development of wireless fidelity technology, wireless fidelity network becomes more and more popular indoor coverage, using wireless fidelity for indoor positioning has becomes a trend. location based fingerprint wireless fidelity indoor positioning technology, wit
11、h its simple principle, easy to understand, easy to implement, the advantage of high precision rapidly become the focus in the indoor positioning technology. while wireless fidelity indoor positioning has a certain amount of research, indoor positioning that combines with geographical information sy
12、stem is less. in this paper, after studying the basic principle of the wireless fidelity location fingerprint localization algorithm, for wireless fidelity instability problems affected the accuracy of positioning, put forward the improved method. and the fusion of mobile geographical information sy
13、stem development related knowledge, designed and implemented the positioning system of intelligent mobile roaming based on geographical information system.key words: mobile gis; fingerprint positions; wireless fidelity positioning; indoor positioning目 录摘 要iabstracti第1章 绪论11.1 研究背景11.2 室内外定位技术研究现状11.
14、3 研究意义11.4 论文研究内容1第2章 开发环境及相关技术简介12.1 软硬件开发环境12.2 移动gis平台ucmap简介12.3 socket通信机制简介12.4 主要定位算法12.4.1 位置指纹定位算法12.4.2 最近邻法12.4.3 k近邻法12.5 本章小结1第3章 系统需求分析13.1 系统目标13.2 系统描述13.3 系统功能需求13.4 本章小结1第4章 系统设计14.1 系统整体架构14.2 服务器端设计14.2.1 服务器功能模块划分14.2.2 服务器端功能描述14.3 移动客户端设计14.3.1 移动客户端功能模块划分14.3.2 移动客户端功能描述14.4
15、本章小结1第5章 系统实现15.1 服务器端具体实现15.1.1 数据库模块15.1.2 定位算法模块15.2 客户端具体实现15.2.1 离线采集模块15.2.2 定位显示模块15.2.3 历史轨迹查询模块15.3 系统结果展示15.3.1 离线训练阶段测试15.3.2 定位结果展示15.4 实验结果分析15.5 系统关键技术15.6 本章小结1第6章 总结与展望1参考文献1致 谢1附录:外文翻译资料1第1章 绪论1.1 研究背景在移动互联网技术的快速发展之下,智能手机迅速成为手机消费市场的主流。当前,wifi几乎已被嵌入到每一部智能手机,从而把wifi的发展与研究推入高潮。位置服务市场也发
16、展迅速,人们对定位服务的需求快速增长。卫星定位导航系统(gps)的产生及发展,已经基本上解决了室外空间中的准确定位问题,并已在军事,资源,交通运输,农业,环境领域有着非常广泛的应用2。然而,当终端接收机在室内工作的时候,由于建筑物的遮挡使信号强度大大衰减,导致定位精度低甚至不能完成定位。例如,a-gps定位(gps)必须通过多个网络的传输实现,这样会导致大量无线信道资源被占用2。因此对处于楼群聚集或者室内的定位目标,可以利用广泛存在的wifi网络对其进行定位,这种定位技术有着广阔的发展前景。通过wifi网络和信号强度进行定位,能够弥补gps在室内定位的限制,扩大定位服务的应用领域,降低部署成本
17、,提高定位精度和设备利用率,提高室内应急救援能力。一般来说,通过无线信号强度获取目标位置信息的过程,实际上就是建立无线信号强度和位置信息映射关系。现有室内无线定位系统主要采用蓝牙、超声波、wifi(wireless fidelity)磁场3、rfid4(radio frequency identification )等短距离无线技术。其中基于wifi网络的无线定位技术由于部署广泛且成本较低,迅速成为研究的热点。1.2 室内外定位技术研究现状无线局域网络(wlan)是一种全新的信息获取平台,可在广泛的应用领域内实现大范围的复杂定位、监测和追踪任务,然而大多数应用的前提和基础是网络节点自身的定位。
18、当前无线局域网络协议标准之ieee802.11的比较流行的一种定位解决方案是wifi定位。该系统通过经验测试和信号传播模型相结合达到定位的目的,具有易于部署,需要很少的基站,能采用相同的底层无线网络结构,系统定位总精度高的优良特性。由于部署广泛且成本较低,使得基于wifi网络的无线定位技术备受关注。最早的基于wifi网络的定位系统是由微软开发的radar5系统。基于wifi网络的无线定位通常采用位置指纹的定位方法,而且能够达到比较好的定位效果。但是现阶段的位置指纹定位算法需要在离线阶段耗费大量的人力物力,选取大量的参考位置,并且在每个样本点的各个方向采集大量的数据来建立位置指纹数据库。这样给室
19、内定位系统的普及带来很大的障碍。除位置指纹定位法之外,还有三边定位法、三角定位法、近似法和场景分析法。综上所述,当前wifi室内定位技术虽有一定的研究与发展,但还有不完善的地方。而且与gis(地理信息系统)相结合的室内定位系统还较少。1.3 研究意义当前使用最广泛、用户最多的全球性定位系统是美国的gps卫星定位系统。gps系统由24颗卫星组成,在任何时刻任何地点地面接收终端都可以同时接收到4颗以上的卫星发出的信号。根据电磁波的传播原理,通过卫星信号的到达时间差来计算出搜索到的卫星和终端用户之间的距离,采用三边定位法计算出终端用户的具体位置,其室外民用定位精度可以达到15m以内。但在城市或室内环
20、境中,由于受到建筑物的影响,信号强度大大衰减,信号接收端收到的电磁波信号太微弱,导致定位精度低甚至不能完成定位。近年来一种基于wifi的室内定位技术进入到大家的视野中2,可以很好的弥补gps室内定位精度不高的问题。目前在现代生活中wifi技术已被广泛使用,无论是在机场、车站等公共场所还是咖啡厅等休闲场所都有非常广泛的wifi热点部署,而且移动接收终端可以直接由智能手机替代,只需要开发一个定位app即可。由于智能手机的大量普及,这方面的成本几乎可以忽略不计。其次,基于wifi的室内定位系统在很多室内场合都可以发挥很大的作用:举例如下:在大型的仓储式超市中对商品进行划分区域,分门别类,并且给这些区
21、域部署wifi热点,然后在智能手机上开发出相应的app并结合物品信息和广告推送信息,告知顾客哪个位置有促销活动,还有那个物品的具体信息。这样整个购物的流程就会简化,而且大大提高顾客的购物效率。在机场的候机楼内,部署适当的wifi热点,并开发相应的智能手机可以安装的定位app,只要乘客手中的智能手机中装有该定位app,通过给手机定位就可知道乘客的具体位置,并可以在定位服务器端监控候机楼内各个角落的客流量情况,便于随时掌握候机大厅内的情况,对于应对室内突发事件也提供很好的导航和指引作用。从以上的几个例子可以看出基于wifi的室内定位系统不仅可以弥补gps室内定位的不足可以部署在很多的大型室内场合,
22、而且具有部署简单,成本较低,便于推广和普及。因此有着广阔的发展前景。1.4 论文研究内容本论文首先研究了wifi室内定位相关论文,在分析了当前室内定位现状的基础上,提出了一种基于移动gis6的室内wifi定位系统7。首先介绍了研究背景、研究现状及研究意义。然后详细阐述了位置指纹定位算法,并针对wifi信号强度不稳定,影响定位精度的问题,对最近邻法和k近邻法进行改进,并将两者结合使用,最后通过ucmap移动gis开发插件,实现图形用户界面使客户端可以很直观的知道自己的当前位置。最后,本论文还提出了当前室内wifi定位还存在的一些问题,并提出了相关解决办法。第2章 开发环境及相关技术简介2.1 软
23、硬件开发环境无线路由器:本次定位系统开发是在南教4五楼完成,分别在南4-522,南4-520,南4-512三个房间内各部署了一个思科无线路由器,其名称分别为cisco1230、cisco1231、cisco1232,三个路由器的摆放呈三角形。智能手机:移动终端开发采用android操作系统的智能手机定位服务器端:定位服务器端采用联想台式电脑,该电脑为windows xp操作系统,在该电脑上装有mysql数据库及navicat for mysql图形界面管理工具、mapinfo、支持java和android开发的eclipse开发平台,同时采用eclipse移动gis开发插件ucmap for
24、android sdk。2.2 移动gis平台ucmap简介ucmap8是当前主流的移动gis开发组件,其拓展了gis在移动端的应用,提供了、windows 8、ios、android等系统下的开发包sdk、demo演示程序和相关说明文档,便于开发人员在手机或平板电脑上建立移动gis应用。共有五种开发模式:1) 支持本地矢量地图,即shapefile、mapinfo等格式的数据经ucmap地图配置程序转换成适合手机显示的格式;2) 支持ogc标准的地图服务,即以网络在线配合本地缓存的模式访问支持ogc标准gis服务即wms、wfs、wcs、wfs-t,如主流的arcgis server、geo
25、server、mapserver、mapguide等;3) 支持互联网地图,即访问google maps、google影像、微软bing maps并提供坐标纠正服务,以及本地矢量叠加;4) 支持自定义title地图瓦片,即用户采用自定义的切图工具生成地图瓦片,并提供相关瓦片坐标参数和命名规则,用户自行搭建服务端可以网络在线、本地缓存的模式来访问;5) 支持在google maps 、bing maps、自定义瓦片上叠加本地矢量数据或wfs查询的矢量数据,可以网络在线、本地缓存的模式来访问。ucmap技术优势:支持大数据量的离线矢量shp地图和影像,且地图浏览速度远超其他任何gis平台;支持自定
26、义点、线、面矢量符号的制作、渲染以及变换操作;拥有丰富的矢量交互编辑功能支持各种空间查询和空间分析。2.3 socket通信机制简介tcp/ip通信协议是一种可靠的网络协议,传输层向应用层提供了套接字socket接口,socket封装了下层的数据传输细节,应用层的程序通过socket来建立与远程主机的连接,以及进行数据传输。即利用socket进行通信的两个程序通过一条双向通信链路实现数据交换。通信的两个终端都称为一个socket。在客户/服务器通信模式中,服务器程序需要运行在一条有固定ip的主机上,并通过serversocket监听该台主机上的一个固定端口,等待客户端的连接请求。当服务器端接收
27、到客户端的连接请求之后,为了记录下客户端的地址及端口信息,服务器端也需要创建与客户连接的socket,然后通过此socket的输入输出流与客户端进行通信。客户端程序在创建socket时,也会监听一个端口,但该端口由客户端所在主机的系统自动分配,需要通过服务器的地址和监听的端口,去请求连接服务器,当服务器接收客户端的连接请求之后,服务器和客户端之间就建立了一条双向通信链路,通过socket的输入输出流,客户端和服务器便可以进行通信。由于android开发是基于java语言的,所以在手机端socket通信机制和java socket通信机制互通。所不同的是手机的ip是由运营商动态分配的,所以手机端
28、不用来做服务器。2.4 主要定位算法2.4.1 位置指纹定位算法信号的多径传播对环境具有依赖性9,呈现出非常强的特殊性,对于空间中的每个位置而言,该位置上信道的多径结构是唯一的,信号发射终端发射的无线电波经过反射和折射,产生与周围环境密切相关的特定模式的多径信号,这样的多径特征可以认为是该位置的“指纹”。因此,可以事先选取一些样本点,采集这些样本点处的信号特征存储在数据库中,定位阶段再采取所在点出的信号强度特征,与数据库中的指纹数据进行匹配,找出最相似的样本点来进行定位。位置指纹定位算法的实施共有两个阶段10:1) 离线采样阶段:在离线训练阶段主要工作是在所需定位区域的选取适当的样本点并采集样
29、本点的信号特征,例如wifi信号强度,多径相角等,将一个样本点编号和一组信号特征值构成一组记录插入数据库的指纹表中以便定位阶段进行比对。2) 定位阶段:在该阶段主要工作是通过采集终端接收机当前所在位置处的信号特征将其与指纹表中的样本点进行比对,寻找最相似的样本点进行定位。最常用的比对算法有欧式距离。位置指纹算法是基本的室内定位算法,相比较三边定位法而言,其原理简单,容易理解,易实现,定位精度比较高且可充分利用现有资源,部署成本低,系统升级对客户的影响也较小。但是位置指纹定位算法也存在一些缺点:当所需定位的室内空间比较大时需要建立强大的指纹数据库,离线训练阶段将耗费很多的人力。此外,当指纹数据库
30、过于庞大时,定位阶段采集到的信号特征如果和指纹库中的所有样本点一一进行比对,会花费大量的时间导致定位效率低下,而且有可能影响定位精度。2.4.2 最近邻法最近邻法是一种最基本的确定性位置指纹匹配算法。该方法实际上是利用离线训练阶段采集到的样本点处的信号特征作为样本点“指纹”。在定位阶段,将实时采集到所在位置点处的信号强度与数据库中样本点的指纹进行比对,选择指纹特征最相似的一个样本点,将该点的经纬度看做当前位置的近似估算值。可以采用欧式距离也可以采用权值的方式来描述样本点和待定位处信号特征相似程度。若采用欧式距离,则在定位阶段将采集到的信号特征与指纹库中每一个样本点的指纹进行比对,求欧式距离,然
31、后选取欧式距离最小的一个样本点作为位置近似估计点,然后返回给定位请求客户端。2.4.3 k近邻法当前位置指纹匹配算法的研究目标是进一步提高定位精度。k近邻法就是在最近邻法思想的基础上提出来的另一种位置指纹匹配算法。其实质就是在定位阶段从指纹库中选取与待定位点的位置特征最相近的k个点,然后取出这k个位置点处的经纬度,并对这三个点的经纬度求均值,将此均值当作待测位置点的定位结果。采用此方法可以在一定程度上减小由于信号特征不稳定导致的定位误差的问题,而且可以更好的描述待定位点的位置,提高定位精度。2.5 本章小结本章首先整体介绍了系统开发所需搭建的软硬件环境,然后详细阐述了android移动gis开
32、发平台ucmap的几种开发模式和相关技术优势。并介绍了java socket通信机制的基本原理。对室内wifi定位通常采用的位置指纹识别算法的基本原理和实施过程进行了详细介绍,并且介绍了两种基本的位置指纹匹配算法最近邻法和k近邻法第3章 系统需求分析3.1 系统目标随着android智能手机用户人数的普遍增长,人们对于基于手机的位置服务需求也越来越强烈。本文在分析了当前定位形势的基础上对本定位系统提出以下目标:Ø 为用户提供高精度和高可靠性的室内外定位服务;Ø 使用户可以在室内wifi定位系统覆盖区域内通过该定位系统,获取其所在位置信息;Ø 使用户可以在室外环境下
33、通过gps获取自己的位置信息;Ø 实现图形用户界面,操作简单,给用户提供良好的使用体验;Ø 定位服务器端可以迅速处理客户端的定位请求,并将定位结果返回给客户端。3.2 系统描述本定位系统分为室内和室外两个模块。其中室内定位系统包括客户端和服务器两个模块,客户端是带有wifi接收功能的android智能手机。离线训练阶段需要进行wifi信号的扫描,将采集到的wifi信号强度传递给服务器端,帮助服务器端完成样本指纹库的建立。定位阶段将实时采集到的wifi信号强度传递给服务器端,并及时接收和解析定位服务器返回的定位结果(经纬度),将定位结果显示在本地矢量图中实现图形用户界面,让用
34、户可以很直观的知道自己当前所在的位置。服务器端主要用来建立和维护样本指纹库,实时响应客户端的定位请求,离线采样阶段接收客户端发送过来的样本点的信号强度,将其插入后台数据库的样本指纹表中,实时定位阶段接收并解析移动客户端发送过来的wifi信号强度,将其与指纹库中的样本点的信号强度进行比对,然后按照一定的选择规则,选取最相似的样本点处的经纬度,当作定位结果并将该结果发送给客户端。室外定位系统则只有移动端,其通过手机在室外接收到的卫星信息,利用gps获取经纬度,然后根据经纬度将客户端位置信息标注在手机端的校园矢量地图上,使用户可以知道自己当前的位置信息。3.3 系统功能需求1) 服务器功能离线训练:
35、服务器接收智能手机采集的各个样本点处3个路由器的信号强度,将其插入一张collection_tb表中,同时求出信号强度均值,将其插入另外一张名为average_tb的表中,完成样本库的建立。实时定位:服务器端接收手机实时采集到的路由器的信号强度,将其与样本指纹库中各个样本点的信号强度进行比对,选出最接近的一个样本点,近似看做是手机此刻的位置,然后根据该点的样本点编号从另一张经纬度比对表compare_tb中取出该样本点的经纬度并发送给手机端,同时将手机当前位置的经纬度插入历史轨迹表history_loc_tb和当前位置表current_loc_tb中,以达到记录客户端位置信息的目标。 历史轨迹
36、查询:响应客户端的历史轨迹查询请求,按照查询条件,从数据库中取出响应客户端的历史位置点,然后处理后发送给客户端。2) 移动端功能在离线训练阶段,移动端对每个样本点处的wifi信号强度进行采样,通过socket套接字发送给服务器,帮助服务器完成样本指纹库的建立。在线定位阶段,若移动端在室内环境中,则实时采集所在点处的wifi信号强度,将其发送给定位服务器,然后接收服务器发送过来的定位结果,然后将自己的当前位置显示在本地矢量地图中。当移动端在室外时,通过gps确定自己的当前位置,当位置发生变化时,实时更新手机地图上的位置信息。3) 历史轨迹查询有时移动客户端需要查询自己一天的历史轨迹信息。本系统还
37、提供了室内客户端历史轨迹查询功能。当客户端想要查询自己的历史轨迹时,可以向服务器端发送历史轨迹查询请求,然后服务器从数据库中取出该客户端当天的历史轨迹,按照时间先后顺序发送给客户端,客户端解析之后,在本地地图中回放自己的历史轨迹。3.4 本章小结为了开发出让用户体验良好的系统,本章在第一章研究现状分析的基础上,对系统的需求进行了详细分析。并对服务器和客户端的功能需求分开进行了详细阐述。为后面系统的整体设计提供了很好的指引作用。第4章 系统设计4.1 系统整体架构本定位系统分为室内和室外两个模块。室内定位系统采用c/s架构分为客户端和服务器两个模块,其系统总体架构图如图4-1所示。整个系统流程分
38、为离线采样建立指纹数据库和实时定位两个阶段。图4-1 系统总体架构图 4.2 服务器端设计4.2.1 服务器功能模块划分pc服务器端端主要功能有样本库的建立与维护,响应移动手机端的定位请求,并根据手机端实时发送过来的wifi强度,进行定位计算,并将定位结果发送给手机端。服务器端功能模块图如图4-2所示。图4-2 服务器功能模块图4.2.2 服务器端功能描述1) 数据库模块服务器端的数据库模块用来存放数据信息,包括样本点的位置指纹信息,经纬度信息,方便在定位阶段进行定位计算。另外,该数据库中还存放了定位时客户端的当期位置信息和历史轨迹信息,实现对移动目标的监控。2) 离线采集模块该模块在离线采集
39、阶段,负责接收并解析客户端发送过来的样本点指纹信息,然后将数据进行处理后存入后台数据库。3) 定位模块在实时定位时,服务器端定位模块,主要负责接收客户端的定位请求,然后通过定位算法进行计算,将定位信息发送给客户端同时将其插入后台数据库。4) 历史轨迹查询模块实时响应客户端历史轨迹查询请求,取出数据库中相应客户端的历史轨迹信息取经过处理之后,将其发送给客户端。4.3 移动客户端设计4.3.1 移动客户端功能模块划分移动客户端主要负责在离线训练阶段,采集各样本点的信号强度,提交给服务器,帮助服务器完成指纹数据库的建立。在定位阶段,实时采集所在位置点的信号强度,将其提交给服务器进行定位计算,并接收服
40、务器返回过来的定位结果,将其显示在ucmap加载的本地矢量图中,以图形用户界面的形式向用户展示当前位置。此外,移动客户端还可以向服务器请发送历史轨迹查询请求并接收服务器返回过来的结果,实现历史轨迹的回放,其功能模块图如图4-3所示。图4-3 移动端功能模块图4.3.2 移动客户端功能描述1) 离线采集模块离线采集模块,移动客户端需要多次采集样本点信号特征,将其提交给服务器。然后服务器解析每个样本点的信号特征信息,建立样本指纹库。2) 定位显示模块移动端定位显示模块,主要用来在室内定位阶段采集自己当前所在位置点处的信号特征向服务器发送定位请求,然后接收并解析服务器返回的定位结果,将其显示在手机端
41、的地图中,使用户可以在地图中直观的知道自己当前所处的位置。在室外定位阶段,接收室外gps信号,进行定位。3) 历史轨迹查询模块该模块实现的功能主要是客户端向服务器端发送历史轨迹查询请求,然后解析服务器端返回过来的信息,按照时间先后顺序将其在地图上显示出来。4.4 本章小结本章主要完成了系统的设计工作。先概述了室内定位系统的整体架构,然后对系统的服务器和客户端的功能模块进行划分,并对服务器端和移动客户端的各个功能模块的功能进行了详细介绍,使得整个系统的模块化结构比较清晰,为后续开发工作提供了很好的指引,便于模块化开发和单元测试。第5章 系统实现5.1 服务器端具体实现5.1.1 数据库模块后台数
42、据库采用mysql,在mysql数据库中新建一个名称为graduate的数据库,该数据库下总共有5张表。分别为collection_tb(样本点信号强度采集表)、average_tb(样本库)、current_loc_tb(当前位置表)、history_loc_tb(历史轨迹表)、compare_tb(经纬度对照表)。collection_tb存储采样阶段手机提交的信号强度,其逻辑结构如表5-1所示。表5-1 collection_tb逻辑结构属性名类型长度允许为空备注l_numberint 50否主键cisco1230varchar50是路由器信号强度cisco1231varchar50是路
43、由器信号强度cisco1232varchar50是路由器信号强度average_tb用来存储样本点信号强度均值,其逻辑结构如表5-2所示。表5-2 average_tb逻辑结构属性名类型长度允许为空备注l_numberint 50否主键cisco1230varchar50是路由器信号强度cisco1231varchar50是路由器信号强度cisco1232varchar50是路由器信号强度current_loc_tb用来存储移动客户端当前位置,其逻辑结构如表5-3所示。表5-3 current_loc_tb逻辑结构属性类型长度备注idint50主键l_numbervarchar50样本点编号s
44、im_numbervarchar50手机sim号compare_tb存放每个样本点的经纬度,其逻辑结构如表5-4所示。表5-4 compare_tb逻辑结构属性类型长度是否为空备注idint50否主键l_numbervarchar50是样本号编号sim_numbervarchar50是手机sim卡号datimevarchar50是时间history_loc_t存放移动客户端的历史轨迹,其逻辑结构如表5-5所示表5-5 history_loc_tb逻辑结构属性类型长度允许为空备注idint 11否主键locationvarchar255是样本点编号xdouble0是经度ydouble0是维度5.
45、1.2 定位算法模块在服务器端定位算法分别采用了最近邻法(nnss),k近邻法(k-nnss)并在此基础上进行改进,然后进行定位计算,本系统均采用欧式距离描述手机当前位置点信号强度和指纹库中样本点的信号强度相似程度,本定位系统总共部署三个思科路由器,因此采用三维欧式距离计算公式即 (5-1)然后选取欧式距离最小的样本点,近似当作是手机端的当前位置,根据该样本点的经纬度将其显示在本地矢量地图上,以界面形式展示给用户,实现可视化移动目标监控,并将定位结果返回给手机端。在实际应用阶段,使用定位阶段采集到的wifi信号强度与指纹数据库中的样本点的信号特征值进行比对,使用欧式距离描述两者之间的相似程度,
46、然后选取欧式距离最小的一个样本点的经纬度作为手机端的估计位置。由于wifi信号强度受环境的影响比较严重,波动非常大,在同一个位置连续采集的信号强度也可能会有很大的区别,最开始本系统在定位时只采集一次wifi信号强度,然后就向服务器发送定位请求,定位精度很低,误差比较大。为了克服wifi信号强度(rssi)不稳定的问题,本系统提出在定位阶段和离线训练阶段一样,在同一个位置点,也连续采集多次wifi信号强度(本系统采集5次),然后求这些信号强度的均值,将均值发送给服务器端进行定位计算。当前室内定位系统的研究目标主要是提高定位精度,为了提高定位精度后续研究相继提出了k近邻法和加权k近邻法。本系统采用
47、了k近邻法并加以改进,在定位阶段将移动端发送的当前位置信号特征值与数据库中的样本点的信号特征值求欧式距离,然后对欧式距离进行排序,选取欧式距离较小的三个点,对这三个参考点的信号强度求一个均值,再次与指纹库中的样本点的信号强度求欧式距离,选取欧式距离最小的一个样本点作为手机端的估计位置。其实现关键性代码如图5-1所示:图5-1 k近邻法实现关键代码当用k近邻法选取最相似的三个样本点之后,对三个样本点的信号强度求均值,然后再次利用最近邻法进行计算,其关键代码如图5-2所示。图5-2 最近邻法关键代码由于本定位系统是基于gis开发的,显示定位结果所用地图是用mapinfo绘制的本地矢量图,图上的任意
48、一点都有经纬度。所以本系统又提出一种改进方案,及在选取欧式距离较小的3个邻近点后,不再求欧式距离,而是取出这三个样本点的经纬度并对经纬度求均值,将此均值作为手机端的估计位置。其实现关键性代码如图5-3所示:图5-3 改进k近邻法实现关键代码5.2 客户端具体实现5.2.1 离线采集模块android是一种以linux为内核开发的操作系统,自谷歌2007年推出以来,安卓以其开源性、基于java的编程思想和容易上手的特点,吸引了很多android开发爱好者。因此,基于android平台的智能手机应用也越来越丰富。由于android操作系统11的开源性,因此向外界提供了非常齐全的类库和框架12,开发
49、者在编程时,通过调用相应的接口和类,可以很快实现相应的功能,而且开发效率较高。本定位系统是以wifi来进行定位的,因此调用的是wifimanager类的startscan方法。本系统客户端离线采集模块流程图如图5-4所示。图5-4 客户端离线采集模块流程图客户端扫描wifi信号强度实现关键代码如图5-5所示图5-5 wifi信号强度扫描 客户端向服务器提交扫描结果关键代码如图5-6所示:图5-6 客户端向服务器提交扫描结果5.2.2 定位显示模块在该模块,主要用于实时采集信号强度信息,向服务器发送定位请求并接收服务器返回的定位结果,然后将其显示在本地地图中。本系统采用当前很流行的android
50、移动gis开发插件ucmap for android sdk,通过ucmap地图配置程序将mapinfo格式的矢量地图转换为ucmap可以识别的数据格式,并调用ucmap的mapview类的相关方法来加载和显示地图。定位阶段系统流程图如图5-7所示。图5-7 客户端实时定位流程图在实际定位过程中,手机端实时采集所在位置的三个路由器的信号强度,然后通过socket通信将其发送给服务器端并接收服务器端发送过来的定位结果,通过ucmap中的自定义画图工具类mycustomdraw将手机当前位置标注在地图上。扫描和实现关键调用代码如图5-8所示:图5-8 客户端实时定位实现关键代码根据服务器端返回的定
51、位结果,显示位置信息关键代码如图5-9所示:图5-9 客户端显示定位结果关键代码5.2.3 历史轨迹查询模块在该模块,客户端可以向服务器端发送历史轨迹查询请求,将自己的手机sim卡号发送给服务器端,然后接收并解析服务器端发送过来的信息,将其在地图上回放。获取手机sim卡号通过调用android的telephonymanager类的相关方法来实现,关键代码如图5-10所示:图5-10 获取手机sim卡号关键代码客户端接收服务器返回过来的历史轨迹信息,并将其按时间先后顺序显示在地图上关键性代码如下:图5-11 手机端显示历史轨迹信息关键代码 5.3 系统结果展示5.3.1 离线训练阶段测试实验在南
52、教4五楼进行,其平面形状如图5-12 ,在东西两侧走廊总共采集27个样本点,加上511房间的32个样本点,共59个样本点。每两个样本点之间的间隔是1.8米,扫描周期是1s,扫描次数10次,整个样本采集过程耗时约50分钟。图5-12 南教4五楼平面图手机端采集wifi信号强度主界面如图5-13所示。图5-13 手机端采集wifi强度主界面当到达所要采集的样本点的实际位置后,打开手机wifi,从下拉列表框中选取该样本点对应的编号,比如选择样本点511.1,点击搜索wifi,在屏幕下方,显示搜索到的cisco1230、cisco1231、cisco1232,3个路由器的信号强度,其结果如图5-14所
53、示。图5-14 手机端扫描wifi强度结果将采集到的样本点特征信息发送给服务器端,服务器解析后将其插入数据库中的collection_tb表中,其结果如图5-15所示。图5-15 服务器端collection_tb数据然后服务器从collection_tb表中选出样本点处路由器的信号强度,求均值后插入average_tb表中,结如图5-16所示。 图5-16 服务器average_tb数据5.3.2 定位结果展示本系统不仅完成了室内定位,而且在室外环境下借助于gps和校园矢量地图还完成了室外定位。室内定位时手机端ui界面及结果如图5-17所示。图5-17 室内定位结果室外定位时手机端定位ui界
54、面及结果如图5-18所示:图5-18 室外定位结果5.4 实验结果分析在上面整个测试过程中,可以看到本系统把gis和wifi结合起来成功实现了室内外定位系统,完成了基本的样本采集,实时定位和记录历史轨迹功能。在实时定位阶段,由于wifi信号强度不稳定的因素,给定位准确性带来一定困难。wifi信号强度易受外界干扰,而且受传播距离远近的影响,传播距离远受干扰可能性大。为了提升定位精度,在实验阶段发现,如果定位阶段只采集一次信号强度就去指纹库中比对的话,误差比较大,因为刚到达一个位置点时,wifi信号强度还不稳定,此时采集的一次信号强度不准确,用此信号强度去比对,那么定位误差就会很大。因此在定位时,
55、像离线采集阶段一样,多采集几次信号强度并求均值,用此均值去和指纹数据库中的样本点去比对可以提升定位精度。为进一步提升定位准确性,本系统提出将最近邻法和k近邻法结合使用,提升了定位精度。虽然本系统实现了基本的室内外定位功能,但是也存在一些不足。对于室内wifi定位系统来说,由于wifi信号强度不稳定,给定位准确性带来一定困难。此外,当在多楼层定位时,不同楼层可能有信号强度一样的点,如何区分不同楼层,值得思考。当样本库很庞大时,如何有效缩小搜索范围,提升定位效率的问题尚需进一步研究。5.5 系统关键技术关键技术一:采用先进的移动gis开发插件随着移动gis的快速发展,基于gis的应用也越来越广泛。
56、ucmap在应急联动实时交通、路政巡查、地震速报、烟草物流、军事指挥、移动测绘、无线电监测、移动环保、lbs服务等众多领域都得到了广泛的应用。当前室内定位系统虽然有很多成果,但是把室内定位和gis(地理信息系统)结合起来的还较少。因此,本系统在研究了ucmap开发的相关知识后,将室内wifi定位和gis关联起来,通过经纬度确定客户位置提升了位置的真实性和定位的准确性。此外,利用ucmap将定位结果以图形界面的形式展现给用户,具有很好的人机交互性。关键技术二:基于主流android开发平台本系统利用android开发平台开源的特性,直接调用android开发包中的wifimanager类,实现wifi信息强度扫描,并利用socket通信机制,提升了开发效率,而且便于推广和普及,用户只需在自己的安卓智能手机上安装相应的app就可请求定位。关键技术三:改进位置指纹识别算法位置指纹识别算法是室内wifi定位最常用的基本算法,现在对于位置指纹算法的研究主要集中在提高定位精度上。本论文在研究了基本位置指纹定位算法之后,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房产销售合作协议
- 工艺品订购合同范本
- 建筑工程内部承包经营合同案例
- 大学生就业协议范本
- 建筑施工合同模板 工程合同范本
- 职工待岗协议2024年
- 建筑施工队临时工合同
- 苏教版小学数学四年级下册《用数对确定位置》公开课说课课件
- 2024职业培训合作协议
- 园林工程结算合同样本
- 神经源性膀胱和直肠课件
- 一例脑梗塞病人护理个案
- 超声引导下腰方肌阻滞PPT
- 绿色食品、有机食品和无公害食品课件
- 扩张型心肌病诊断和治疗指南
- 电子小报社团教案
- 八大特殊作业安全试题题库
- 标签打印管理办法及流程
- 五四制青岛版2022-2023五年级科学上册第五单元第19课《生物的栖息地》课件(定稿)
- 四年级上册美术教案15《有创意的书》人教版
- 否定词否定句课件(PPT 38页)
评论
0/150
提交评论