基于增强现实技术的移动LBS系统的设计与实现_移动应用

上传人:飞*** 文档编号:32696739 上传时间:2018-02-12 格式:DOC 页数:5 大小:58.50KB
返回 下载 相关 举报
基于增强现实技术的移动LBS系统的设计与实现_移动应用_第1页
第1页 / 共5页
基于增强现实技术的移动LBS系统的设计与实现_移动应用_第2页
第2页 / 共5页
基于增强现实技术的移动LBS系统的设计与实现_移动应用_第3页
第3页 / 共5页
基于增强现实技术的移动LBS系统的设计与实现_移动应用_第4页
第4页 / 共5页
基于增强现实技术的移动LBS系统的设计与实现_移动应用_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于增强现实技术的移动LBS系统的设计与实现_移动应用》由会员分享,可在线阅读,更多相关《基于增强现实技术的移动LBS系统的设计与实现_移动应用(5页珍藏版)》请在金锄头文库上搜索。

1、基于增强现实技术的移动 LBS 系统的设计与实现_移动应用论文摘要:基于位置服务(LBS, Location Based Service)发展迅速,利用增强现实技术开发 LBS 系统,对人机界面与 GIS 服务整合具有重要的理论和现实意义。在此基础上,设计了一个空间信息服务的构建与发布机制,利用智能终端配备的传感装置,在Android 平台手持设备下扩展增强现实功能,融合真实场景和虚拟信息,搭建远程 Web 服务器完成数据交互,得到了整体基于 Web 服务的 LBS 原型系统。论文关键词:增强现实,基于地理位置服务,服务,空间信息,移动应用0 引言LBS,即 LocationBasedServ

2、ice,是指在移动环境下,利用 GIS 技术、空间定位技术和网络通信技术,为移动对象提供基于空间地理位置的信息服务。目前阶段,国内出现的该项业务,主要采用 GPS 定位建立用户关联,是在传统的社交服务所拥有的时间、人物、事件之外,引入第四个维度:地点,以期使用户的网络生活和真实世界得以紧密结合。增强现实(AugmentedReality,简称 AR) ,是通过借助计算机图形和可视化技术生成虚拟对象,并通过传感技术将虚拟对象准确的“放置”在真实环境中,达到虚拟图形和现实环境融为一体的效果。近年来以智能手机为代表的手持设备发展迅速,具有性能强大的传感器,GPS 和指南针等功能的终端已完全满足了增强

3、现实的硬件要求。在这种条件下,尝试将增强现实引入 LBS 社交,可在原有的四维环境中加入视觉元素,利用终端为地球上任何三维视觉角度贴上媒体标签,其他用户也可以利用搭载该技术的终端,在观看周围环境的真实图像时,同时获知这些信息。增强现实技术利用 GPS 坐标、加速器给出的终端与地面角度,以及指南针确定的摄像头朝向,确定一个唯一“向量”,并通过该“向量”标识当前的终端空间状态,获取空间信息。巧妙的绕开了类似应用对图像识别功能的依赖,对终端的 CPU 资源和通讯能力要求大大降低。当前阶段,二者结合的应用受到 GPS 定位精度和 Web 服务质量等问题的限制,仍有许多中间环节亟需解决。首先,项目的实现

4、需建立在 10m 级别精度范围内,数据传输需一定带宽保证;其次,作为增值服务,基础用户数量和终端硬件配置成为瓶颈。本文针对上述问题,选取了具有便携方便、普及率高等特点的 Android 平台部署客户端软件,利用传感器优良的特性结合 GoogleAPI 构造出基本能够满足精度要求的实现方法。采用 Web-LBS 架构搭建服务器端平台,设计独立的通信协议,运用数据库存取,实现了一种实际可操控的信息构造和发布机制,使其成为一个通用且便于扩展的 LBS 系统。1 移动 LBS 系统的设计1.1 系统结构设计基于 WebService 的 LBS 系统分为两个部分,由移动终端上具备 AR 实现能力的客户

5、端以及服务器数据处理平台构成。服务器数据处理平台集成了 LBS 应用系统的共性,实现业务逻辑与系统数据处理相分离,并提供具有稳定可扩展特性的 API 接口。图 1 显示了LBS 系统的逻辑结构图。移动客户端通过传感器采集相关地理位置信息,封装成 HTTP 请求报文,通过 LBS 服务器的统一入口点,即 API 应用服务器,它负责将用户终端的请求信息用规范格式转发给数据处理组件。数据处理组件主要负责位置服务的综合处理,为整个系统运行提供数据业务支持。移动客户端软件由空间信息采集模块、数据库存储模块、网络信息处理模块及 AR呈现模块组成,各模块间实现数据处理流完成虚拟信息的生成。空间信息采集模块用

6、于驱动各传感器,获取 GPS 或 GSM 坐标、电子罗盘方向和加速器角度确定的摄像头朝向等空间参数,并传送给网络信息处理模块。网络信息处理模块将参数封装成请求报文交由LBSAPI 应用服务器处理,并等待返回信息,进行解析。AR 呈现模块通过生成虚拟信息图像和摄像头真实图像叠加呈现效果。数据库存储模块用于本地用户文件的保存。图 1LBS 系统逻辑结构图服务器数据处理平台在设计过程中参考 J2EE 结构模型,并采用了组件式的设计方式,将整个平台划分成综合管理模块、位置信息处理模块、接口层处理模块 3 大部分。功能子模块独立封装,并对外提供统一规定的接口函数以供调用,可实现在多种不同终端平台上提供业

7、务支持。1.2 系统工作流程设计基于增强现实的 LBS 系统工作流程如图 2 所示。首先,用户通过登录客户端进行操作,利用网络交互提供用户注册和认证。然后由 AR 显示模块和信息采集模块相配合,搭建用户发布信息的工作空间,驱动传感器工作,提供 GPS(在较弱环境下改为 GSM 基站定位) 、陀螺仪及加速器参数,传递给网络信息处理模块,进行封装。封装的报文通过POST 方法传递给 LBSAPI,并等待服务器数据处理平台返回响应报文。图 2LBS 系统工作流程示意图客户端在接受响应报文后,实现 XML 文件解析,提取关键结点相关内容,交由 AR显示模块进行虚拟图形生成。该部分采用获知当前摄像头朝向

8、以及当前终端所处空间状态将虚拟信息放置在用户工作空间内,实现叠加,到达呈现数据的理想效果。2 移动 LBS 客户端的实现2.1 系统开发环境及自定义工具类的使用采用 Eclipse+AndroidSDK 作为系统的开发环境。Eclipse 是一个开放源代码的可扩展开发平台。它可以看成一个框架和一组服务,用于通过插件组件构建开发环境。Android是用于移动设备的软件堆栈,包括操作系统、中间件和关键应用程序。AndroidSDK 提供了必需的工具及 API,用于开发在 Android 驱动设备上运行的应用程序。在程序编写过程中,首先实现构造以下类供系统各模块调用:(1)DBUtil:负责用户本地

9、信息的存储与读取,提高系统运行效率。(2)HttpPost: 网络通信部分,负责信息的发送与收取。(3)ParseXml:XML 实现服务器端响应请求文件的解析。(4)GPSManager/GSMManager:用户地理位置定位服务管理。(5)MainView:实现虚拟图像及信息的生成及显示。2.2 各模块具体功能实现(1)数据库处理实现采用轻量级数据库 Sqlite3。它具有零配置、自由共享、完整 Unicode 支援等特点。首次运行时,其能够自动在用户目录创建并生成数据文件。以后每次访问时,将首先读取本地信息,并在网络流畅后与网络数据同步。退出时自动保存用户信息。(2)用户定位模块此模块是

10、 LBS 系统应用的核心所在。用于 LBS 采集用户当前位置空间信息的基础参数及相应处理方法。分为 GPS 定位与 GSM 基站定位两部分,二者作为交叉辅助的功能模块,在运行过程中优先调取 GPS 进行精确定位,无法开启 GPS 时利用 GSM 基站作为后援启用。GPS 模块实现的主要实现代码如下:publicGPSManager()locationManager=(LocationManager)Context.getSystemService(Context.LOCATION_SERVICE);/通知操作系统,需要使用定位服务locationManager.requestLocationU

11、pdates(LocationManager.GPS_PROVIDER,0,0,LocationListener);/设置定位数据的提供者可以是 GPS 卫星或者 GSM 基站LocationListenermLocationListener=newLocationListener()publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras);/监听器在地理位置、提供者等发生变化时做出相应的响应动作(3)网络信息处理模块客户端采用 ArrayList 格式向服务器端发出数据请求,反馈得到 XML 数据流。系统采用 DOM 解

12、析数据流。DOM 将 XML 文档作为树形结构,而树叶被定义为节点,实现如下:得到 DOM 解析器的工厂实例 DocumentBuilderFactory.newInstance();通过DocumentBuilderFactory 实例的静态方法得到 DOM 解析器; 把待解析的 XML 文档转为输入流,以便 DOM 解析器解析;解析输入流得到一个 org.w3c.dom.Document 对象,以后的处理对 Document 对象进行;得到 XML 文档的根节点,获取内容。(4)AR 显示模块调用终端系统函数,采用 CameraPreview 作为背景,计算信息与用户所处地理位置距离和角度

13、。3LBS 服务器平台的实现3.1 分布组件开发和框架的使用平台开发采用 Struts2 框架进行架构,完成业务逻辑设计。为实现 LBS 应用数据处理平台与数据库交换数据,实现了一套访问 DAO(DataAccessObjects) 。采用 Servlet 调用响应函数生成轻量级的数据交换格式 JSON(JavaScriptObjectNotation)数据包,实现信息在GoogleMap 上的动态显示。如图 3 显示,Web 前端页面用于实现数据呈现,所有 HTTP 请求都被传送到 Web 应用服务器的中心控制器 ActionServlet,分发到不同的 Action 中进行处理。在处理过程

14、中,调用不同的数据模型完成信息处理,再由中心控制器实现不同导向。LBSAPI 应用服务器同样采用 J2EE 构架,提供手机客户端访问 LBSAPI 服务器的统一函数接口,根据不同请求,返回相应数据信息,完成手机客户端与服务器的数据交换。图 3Struts2 框架构成为实现对象模型和关系模型的分离,在 Web 应用服务器实现中,使用了类似Hibernate 的数据库访接口,实现数据分离,提高服务器功能的高内聚。如 UserDao 实现用户的信息处理,当用户登录 LBS-Web 服务器时,会初始化 UserDao 对象实现对象模型和数据模型转换。TagDao 用于处理用户发布的媒体信息的对象模型和

15、数据模型的转换。3.2GoogleAPI 的调用和信息动态显示GoogleMap 调用方法,采用 Javascript 实现,完成了数据在地图上基于地理位置的显示。为保证服务器的数据传输到 Map 上,先需要在 Servlet 上产生 JSON 数据包,发送到前端页面,再使用脚本进行解析,最后调用相应的 API 发布数据。脚本解析 JSON 数据方法如下,在前端页面解析 JSON 数据包获得相应的数据,xmlHttp=newXMLHttpRequest()生成对象,通过 xmlHttp.responseText 获得从服务器返回的数据,随后由脚本进行解析,最后使用 GoogleMapAPI 的

16、 map 对象,调用方法生成 Maker显示在 Googlemap 上。JSON 数据包的解析和 GoogleMap 显示的部分代码如下:if(xmlHttp.readyState=4)vartags=eval(+xmlHttp.responseText+);varmap=newGMap2(document.getElementById(“map_canvas”);/初始化地图functioncreateMarker(latlng,number)/生成一个 Maker/根据 JSON 的包含的对象个数生成 Makers,显示在地图上for(vari=0;ivarlatlng=newGLatLng(tagsi.lat,tagsi.lng);map.addOverlay(createMarker(latlng,i+1);图 4 客户端实现效果图 5Web 端实现效果4 结语本文设计并实现的如图 4、5 所示基于增强现实的移动 LBS 系统,能满足客户使用位置服务并使用现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号