我们知道,大部分的LBS应用的一个重要功能就是其能帮助客户实现路径引导功能,比如:在团购应用中团购某商铺的服务后,来实现从目前位置到此商铺的导航。所以,本文将以LBS应用的路径引导功能为例来讲述LBS的核心技术。
路径引导(Guidance)又被简称为导航,是指在路径导航的过程,实时跟踪当前车辆(或使用者)所在的路径和状态,计算出当前车辆(或使用者)到下一引导点的距离、方向、下一道路名和目的地信息,并向自驾者发起视频和语音指令,从而不断地引导用户方便、快速地到达(POI)目的地。
在装有导航系统的汽车或手机应用内,用户可以在导航兴趣点搜索功能画面中输入想要去的旅游路线POI目的地——景点,然后导航系统会自动计算出一条的行车路线。在车辆行驶的过程中,系统会对前方道路上的情况加以提示。一个典型应用的导航的界面,通常如下图所示:
典型应用的导航界面
图中的“我的导航”,就是实现从A地(通常是使用者目前所处的位置)到B地的导航功能。
总的来说,一个完整导航的功能是确保用户的轨迹保持在正确的道路上,以及当用户到达分歧路口时,导航引擎能发出正确的提示音,这种提示音包含了“向左转”,或者“向右转”,或者“直行”等角度提示。相应的,导航过程中的技术难点可以分为:
定位,即:定位用户的轨迹;
道路匹配,即:匹配用户的轨迹到某条道路;
引导点模块的设计,即:设计导航需要发出发出声音的地点,以及相应的触发原则;
引导角度的设计,即:计算用户的“向左转”等语音提示。
下文将依次介绍上述四个模块。
定位模块
在导航的过程中,由于各种原因偶尔偏离规划的路径行驶,一旦系统识别车辆(或使用者)不再行驶在给定的路径上时,系统必须做出反应,应让车(或使用者)尽力回到正确的路径上,提醒自驾者的一个简单方法是在界面上显示一个方向箭头指向预定的目的地。只有车始终偏移路径行驶时,才考虑重新路径规划,让自驾者兴趣目的地导航服务跟随无时不在。
可见,导航功能与定位以及路径规划功能(可参见《程序员》电子刊11A《LBS应用的定位与算路方法》一文)是密不可分的。
道路匹配模块
所谓的道路匹配模块是定位功能在导航功能中的应用,是指将用户目前的位置和一条道路相匹配,从而得到用户的轨迹,从而使用户导航成为可能。用户目前的位置和道路匹配的过程就是道路匹配,也称为GPS绑定。
道路匹配方案在具体实施的过程中有很多,但其根源的方法可以分为以下两种:
利用当前的GPS信号点与道路间进行逐个匹配:这种方法在本质上是一个利用当前的GPS信号点寻找近邻道路的问题。
在具体实施时,往往是将当前的GPS信号点与周围的道路进行距离计算。距离近的道路认为是当前的匹配道路。
具体的过程就是,先寻找到近道路,之后进行道路绑定,GPS信号在当前绑定的道路上行驶,当到达一个路口时,GPS信号将会重新开始绑定。
如上所述,一个完整的导航引擎在实现导航时,利用了定位功能来实现定位用户的位置,利用了道路匹配模块来实现用户位置和当前道路的绑定,利用了引导点模块来实现导航信息的提示功能,利用了引导角度的设计模块来实现精确提示音的自动生成。
优网科技秉承"专业团队、品质服务" 的经营理念,诚信务实的服务了近万家客户,成为众多世界500强、集团和上市公司的长期合作伙伴!
优网科技成立于2001年,擅长网站建设、网站与各类业务系统深度整合,致力于提供完善的企业互联网解决方案。优网科技提供PC端网站建设(品牌展示型、官方门户型、营销商务型、电子商务型、信息门户型、DIY体验、720全景展厅及3D虚拟仿真)、移动端应用(手机站、APP开发)、微信定制开发(微信官网、微信商城、企业微信)、微信小程序定制开发等一系列互联网应用服务。
责任编辑:优网科技
版权所有:http://www.uweb.net.cn (优网科技) 转载请注明出处