一种定位方法、装置、存储介质及电子设备与流程

文档序号:23393761发布日期:2020-12-22 14:01阅读:144来源:国知局
一种定位方法、装置、存储介质及电子设备与流程

本发明涉及电子设备技术领域,尤其涉及一种定位方法、装置、存储介质及电子设备。



背景技术:

近两年,移动穿戴设备的市场需求不断增长。大多数的移动穿戴设备都提供了基于定位的产品功能,而定位的精度却一直是此类产品的瓶颈所在。目前常见的定位技术有gps定位,基站定位以及wifi定位等。在弱gps信号环境中,通过获取附近的基站和wifi数据,再以此查询谷歌和高德等供应商的数据库进行定位,一定程度上缓解了gps定位的局限性。

但这样的定位方案在精度上仍然无法满足移动穿戴设备的需求。经过大量数据分析得知,目前的定位方案主要存在以下问题:1)由于bts+wifi的定位方法高度依赖于设备与基站的相对位置以及wifi数据的有效性,该方法本身具有精度上的局限性。2)谷歌,高德等供应商的数据库更新具有滞后性,因此可能返回与实际位置偏差极大的定位结果。3)由于设备的硬件局限性以及gps信号的强弱,即使是通过gps获取的定位结果也有可能出现小范围的偏差。



技术实现要素:

本发明的目的在于提供一种定位方法、装置、存储介质及电子设备,基于过滤和重传的定位方法可以过滤不准确的定位结果,提升弱信号环境中的定位精度,进一步提升定位类产品的用户体验。

一方面,本发明提供一种定位方法,包括:

当接收到重传通知时或达到特定周期时获取定位结果;

判断所述定位结果的准确度,并将初步准确定位点置入缓存;

当所述缓存中存在可参考点,且所述缓存中存在速度上升点时,判断所述速度上升点是否是飘点;

若是,则清除所述速度上升点并发送所述重传通知;

若否,则存储所述速度上升点到用户的数据库。

进一步优选的,判断所述定位结果的准确度,并将初步准确定位点置入缓存的步骤,包括:

判断所述定位结果是否为gps定位结果或不为gps定位结果但定位精度小于精度阈值;

若是,则将所述定位结果作为所述初步准确定位点置入所述缓存;

若否,则从多个所述定位结果中挑选出一个作为所述初步准确定位点置入所述缓存。

进一步优选的,从多个所述定位结果中挑选出一个作为所述初步准确定位点置入所述缓存的步骤,包括:

将所述定位结果置入垃圾箱;

判断所述垃圾箱中所述定位结果的数量是否大于最大缓存数;

若是,则从所述垃圾箱中挑选出定位精度最小的定位结果作为所述初步准确定位点置入缓存;

若否,则发送所述重传通知。

进一步优选的,还包括:

判断所述缓存中是否存在所述可参考点;

若是,则判断所述缓存中是否存在所述速度上升点;

若否,则将当前初步准确定位点作为所述可参考点,并将所述当前初步准确定位点存入所述数据库。

进一步优选的,判断所述缓存中是否存在所述速度上升点的步骤之后,还包括:

若不存在所述速度上升点,则对此轮得到的所述初步准确定位点进行速度检测;

判断所述此轮的初步准确定位点与所述可参考点的平均速度是否大于设备的平均速度;

若是,则将所述此轮的所述初步准确定位点作为所述速度上升点置入所述缓存,并发送所述重传通知;

若否,则存储所述此轮的所述初步准确定位点到所述数据库。

进一步优选的,当所述缓存中存在可参考点,且所述缓存中存在速度上升点时,判断所述速度上升点是否是飘点的步骤,包括:

判断此轮得到的初步准确定位点相较于所述速度上升点是否存在距离回归;

若是,则所述速度上升点是飘点;

若否,则所述速度上升点不是飘点。

另一方面,本发明提供一种定位装置,包括:

定位获取模块,用于当接收到重传通知时或达到特定周期时获取定位结果;

初步筛选模块,用于判断所述定位结果的准确度,并将初步准确定位点置入缓存;

飘点判断模块,用于当所述缓存中存在可参考点,且所述缓存中存在速度上升点时,判断所述速度上升点是否是飘点;

过滤模块,用于清除所述速度上升点并发送所述重传通知;

存储模块,用于存储所述速度上升点到用户的数据库。

进一步优选的,所述初步筛选模块包括:

精度判断单元,用于判断所述定位结果是否为gps定位结果或不为gps定位结果但定位精度小于精度阈值;

确定单元,用于将所述定位结果作为所述初步准确定位点置入所述缓存;

选择单元,用于从多个所述定位结果中挑选出一个作为所述初步准确定位点置入所述缓存。

再一方面,本发明提供一种计算机可读存储介质,所述存储介质存储有多条指令,所示指令适于由处理器加载以执行上述任一项所述的定位方法。

本发明还提供了一种电子设备,包括处理器和存储器,所述处理器与所述存储器电性连接,所述存储器用于存储指令和数据,所述处理器用于执行上述任一项所述的定位方法中的步骤。

本发明的有益效果是:提供一种定位方法、装置、存储介质及电子设备,当接收到重传通知时或达到特定周期时获得定位结果,接着判断所述定位结果的准确度,并将初步准确定位点置入缓存,当所述缓存中存在可参考点且所述缓存中存在速度上升点时,判断所述速度上升点是否是飘点,若是飘点则清除所述速度上升点并发送所述重传通知;若不是飘点则存储所述速度上升点到用户的数据库。本发明在初步筛选定位结果之后获得初步准确定位点,然后对初步准确定位点进行过滤。在存在速度上升点时判断是否是飘点,进而对飘点进行清除并发送重传通知,不是飘点时可以存储用户真实的速度切换点,即准确的定位点。由此可以过滤不准确的定位结果,提升定位产品的用户体验。

附图说明

下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。

图1是本发明实施例提供的电子设备的结构示意图;

图2是本发明实施例提供的定位装置的结构示意图;

图3是本发明实施例提供的定位方法的流程示意图;

图4是本发明实施例提供的定位方法的进一步流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例首先提供了一种电子设备。

请参阅图1,图1是本发明实施例提供的电子设备的结构示意图,该电子设备包括手机、电脑、以及其他电子设备。该电子设备100可以包括:rf电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、传输模块170、处理器180、电源190等。

rf电路110用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。rf电路110可包括各种现有的用于执行这些功能的电路组件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(sim)卡、存储器等。rf电路110可与各种网络如互联网、企业内部网、无线网络进行通讯或者通过无线网络与其他设备进行通讯。上述的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信系统(globalsystemformobilecommunication,gsmc)、增强型移动通信技术(enhanceddatagsmenvironment,edge),宽带码分多址技术(widebandcodedivisionmultipleaccess,wcdma),码分多址技术(codedivisionmultipleaccess,cdma)、时分多址技术(timedivisionmultipleaccess,tdma),无线保真技术(wirelessfidelity,wi-fi)(如美国电气和电子工程师协会标准ieee802.11a,ieee802.11b,ieee802.11g和/或ieee802.11n)、网络电话(voiceoverinternetprotocol,voip)、全球微波互联接入(worldwideinteroperabilityformicrowaveaccess,wi-max)、其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议,甚至可包括那些当前仍未被开发出来的协议。

存储器120可用于存储应用程序和数据,存储器120存储的应用程序中包含有可执行代码或指令。应用程序可以组成各种功能模块,在本发明实施例中,存储器120存储的功能模块包括:定位获取模块、初步筛选模块、飘点判断模块、过滤模块、以及存储模块。处理器180通过运行存储在存储器120的应用程序,从而执行各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器120还可以包括存储器控制器,以提供处理器180和输入单元130对存储器120的访问。

输入单元130可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,输入单元130可包括触摸屏131以及其他输入设备132。触摸屏131,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触摸屏131上或在触摸屏131附近的操作),并根据预先设定的程序驱动相应的连接装置。可选的,触摸屏131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触摸屏131。除了触摸屏131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元140可用于显示由用户输入的信息或提供给用户的信息以及电子设备100的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板141。进一步的,触摸屏131可覆盖显示面板141,当触摸屏131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然触摸屏131与显示面板141是作为两个独立的部件来实现输入和输出功能,但是在某些实施例中,可以将触摸屏131与显示面板141集成而实现输入和输出功能。

电子设备100还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在电子设备100移动到耳边时,关闭显示面板141。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于电子设备100还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路160可通过扬声器161、传声器162提供用户与电子设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经rf电路110以发送给比如另一电子设备,或者将音频数据输出至存储器120以便进一步处理。音频电路160还可能包括耳塞插孔,以提供外设耳机与电子设备100的通信。

电子设备100通过传输模块170(例如wi-fi模块)可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。

处理器180是电子设备100的控制中心,利用各种接口和线路连接整个电子设备的各个部分,其中,处理器180与存储器120电性连接,通过运行或执行存储在存储器120内的应用程序,以及调用存储在存储器120内的数据,执行电子设备100的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器180可包括一个或多个处理核心;在一些实施例中,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。

在本实施例中,电子设备100中的处理器180,按照本发明实施例提供的定位方法中的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器120中,并由处理器180来运行存储在存储器120中的应用程序,从而执行以下步骤:

当接收到重传通知时或达到特定周期时获取定位结果;

判断所述定位结果的准确度,并将初步准确定位点置入缓存;

当所述缓存中存在可参考点,且所述缓存中存在速度上升点时,判断所述速度上升点是否是飘点;

若是,则清除所述速度上升点并发送所述重传通知;

若否,则存储所述速度上升点到用户的数据库。

电子设备100还包括给各个部件供电的电源190(比如电池),在一些实施例中,电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源190还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管未示出,电子设备100还可以包括摄像头(如前置摄像头、后置摄像头)、蓝牙模块等,在此不再赘述。

本发明实施例还提供了一种应用于上述电子设备100的定位装置200。

请参阅图2,图2是本发明实施例提供的定位装置的结构示意图。该定位装置200包括定位获取模块210、初步筛选模块220、飘点判断模块230、过滤模块240、存储模块250,该定位装置200结构的具体功能如下所述。

(1)定位获取模块210,用于当接收到重传通知时或达到特定周期时获取定位结果。

在本实施例中,采用常见的定位技术:gps定位,基站定位(bts)以及wifi定位等。在接收到重传通知时、或者间隔特定周期(例如1h),电子设备100先上传定位数据,包括gps、bts、wifi等定位数据,定位获取模块210接收到定位数据后通过第三方接口获取定位结果,第三方接口包括谷歌、高德等。

在本实施例中,定位装置200还包括定位结果判断模块211,用于在定位获取模块210获取定位结果之后,判断是否获得到该定位结果,若是,则触发初步筛选模块220执行其功能步骤;若否,则发送重传通知,再次触发定位获取模块210执行其功能步骤。

(2)初步筛选模块220,用于判断定位结果的准确度,并将初步准确定位点置入缓存。

在本实施例中,初步筛选模块220与定位结果判断模块211电连接,作用是对定位结果进行初步筛选得到初步准确定位点并置入缓存。具体的,初步筛选模块220包括精度判断单元221、确定单元222和选择单元223。

其中,精度判断单元221用于判断该定位结果是否为gps定位结果或不为gps定位结果但定位精度小于精度阈值,精度阈值可以设置为50m。一方面,在强信号环境下,设备可以上传gps定位数据而得到gps定位结果,研究表明在强信号环境下获得的gps定位结果较为准确。另一方面,在若信号环境下,设备只能上传非gps定位数据(在本发明实施例中是bts和wifi定位数据),然后谷歌和高德等的地理定位接口可以将bts和wifi的数据转换为地理经纬度,并且返回定位精度值。大量实验数据表明,定位精度小于50m时,定位结果较为准确;反之当定位精度大于50m时,则定位结果通常出现偏差。

所以,精度判断单元221的判断的结果为gps定位结果或不为gps定位结果但是定位精度小于50m时,触发确定单元222执行其功能步骤:将该定位结果作为初步准确定位点置入缓存;当精度判断单元221的判断的结果既不是gps定位结果,而且返回的定位精度大于等于50m时,触发选择单元223执行其功能步骤:从多个所述定位结果中挑选出一个作为初步准确定位点置入缓存。这样可以得到初步准确定位并存入缓存。

在本实施例中,选择单元223具体还可以包括:

置入子单元,用于将所述定位结果置入垃圾箱;

判断子单元,用于判断所述垃圾箱中所述定位结果的数量是否大于最大缓存数;

挑选子单元,用于从所述垃圾箱中挑选出定位精度最小的定位结果作为所述初步准确定位点置入缓存;

发送子单元,用于则发送重传通知。

当判断子单元的判断结果为是,触发挑选子单元执行其功能步骤;当判断子单元的判断结果为否,触发发送子单元执行其功能步骤,当定位获取模块接收到重传通知时,执行其功能步骤。

(3)飘点判断模块230,用于当缓存中存在可参考点,且缓存中存在速度上升点时,判断该速度上升点是否是飘点。

在本实施例中,定位装置200还可以包括可参考点判断模块224、速度上升点判断模块225。可参考点判断模块224用于判断缓存中是否存在可参考点,速度上升点判断模块225用于判断缓存中是否存在速度上升点。当可参考点判断模块224判断的结果为是,触发速度上升点判断模块225执行其功能步骤,当速度上升点判断模块225判断的结果为是,触发飘点判断模块230执行其功能步骤。换句话说,当缓存中存在可参考点,且缓存中存在速度上升点时,飘点判断模块230就判断该速度上升点是否是飘点。

在本实施例中,飘点判断模块230还可以包括距离回归判断单元231,第一飘点判定单元232和第二飘点判定单元233。距离回归判断单元231用于判断此轮得到的初步准确定位点相较于该速度上升点是否存在距离回归,若判断结果为是,则第一飘点判定单元232判定该速度上升点是飘点;若判断结果为否,则第二飘点判定单元223判定该速度上升点不是飘点。

其中,距离回归判断单元231还可以包括计算子单元、第一回归判定子单元和第二回归判定子单元。计算子单元用于计算所述此轮得到的初步准确定位点与所述参考点之间的第一距离、所述此轮得到的初步准确定位点与所述速度上升点之间的第二距离、及所述第一距离与所述第二距离的差值。若第一距离远小于所述第二距离,认为所述此轮得到的初步准确定位点存在距离回归。也就是说若所述差值大于一个阈值,则第一回归判定子单元判定存在距离回归;所述差值小于等于所述阈值,则第二回归判定子单元判定不存在距离回归。

在本实施例中,定位装置200还可以包括可参考点确定模块226,若可参考点判断模块224判断的结果为否,则触发可参考点确定模块226将当前初步准确定位点作为可参考点,然后触发存储模块250将所述当前初步准确定位点存入数据库。

在本实施例中,定位装置200还可以包括速度检测模块227,用于若不存在速度上升点,则对此轮得到的初步准确定位点进行速度检测。即当速度上升点判断模块225的判断结果为否时,触发速度检测模块227执行其功能步骤。定位装置200还可以包括速度判断模块228,该速度判断模块228与速度检测模块227电连接,用于判断此轮的初步准确定位点与可参考点的平均速度是否大于设备的平均速度。一般而言,如果初步准确定位点与可参考点的平均速度大于设备的平均速度,认为此轮的初步准确定位点出现了速度骤然上升,则为速度上升点。定位装置200还可以包括速度上升点确定模块229,当速度判断模块228的判断结果为是,速度上升点确定模块229用于将此轮的所述初步准确定位点作为该速度上升点置入缓存,并发送重传通知,定位获取模块210接收到重传通知时执行其功能步骤;若速度判断模块228判断的结果为否,则触发存储模块250存储此轮的所述初步准确定位点到数据库。

(4)过滤模块240,用于清除该速度上升点并发送重传通知。

当飘点判断模块230判断的结果为是,则触发过滤模块240清除该速度上升点并发送重传通知,定位获取模块210接收到重传通知时重新获取定位结果。

(5)存储模块250,用于存储该速度上升点到用户的数据库。

当飘点判断模块230判断的结果为否,则触发存储模块250存储该速度上升点到用户的定位数据库。这样就可以实现对定位结果的初步筛选和二次过滤,使定位结果更加准确。

本发明实施例提供的定位装置200,先通过定位获取模块210获取定位结果,再通过初步筛选模块220对定位结果进行初步筛选得到初步准确定位点,当存在速度上升点时通过飘点判断模块230判断该速度上升点是否为飘点,如果是飘点则过滤模块240对其进行清除并发送重传通知,如果不是飘点则通过存储模块250将其存储在用户的定位数据库,这样基于重传和过滤的定位装置,可以过滤不准确的定位结果,提升弱信号环境中的定位精度,进一步提升定位类产品的用户体验。

本发明实施例另提供了一种应用于上述定位装置200的定位方法,因此沿用图2中装置的结构标号。请参阅图3,图3是本发明实施例提供的定位方法的流程示意图,该方法包括:

步骤s1:当接收到重传通知时或达到特定周期时获取定位结果。

在本实施例中,采用常见的定位技术:gps定位,基站定位(bts)以及wifi定位等。在接收到重传通知时、或者间隔特定周期,电子设备100先上传定位数据,包括gps、bts、wifi等定位数据,定位获取模块210接收到定位数据后通过第三方接口获取定位结果,第三方接口包括谷歌、高德等。

步骤s2:判断定位结果的准确度,并将初步准确定位点置入缓存。

在本实施例中,若为gps定位结果,则认为定位结果较准确,若为bts和wifi的定位结果,则认为返回的定位精度小于精度阈值时较准确。

步骤s3:当缓存中存在可参考点,且缓存中存在速度上升点时,判断该速度上升点是否是飘点。

在本实施例中,若该速度上升点相对于所述参考点存在距离回归,则认为该速度上升点是飘点;若不存在距离回归,则认为该速度上升点不是飘点。

步骤s4:清除该速度上升点并发送重传通知。

当步骤s3的判断结果为是,则触发过滤模块240执行步骤s4。

步骤s5:存储该速度上升点到用户的数据库。

当步骤s3的判断结果为否,则触发存储模块250执行步骤s5。这样就可以实现对定位结果的初步筛选和二次过滤,使定位结果更加准确。

请参阅图4,图4是本发明实施例提供的定位方法的进一步流程示意图。

在本实施例中,在步骤s1之后还包括:

步骤s11:判断是否获得到该定位结果;

步骤s12:发送重传通知。

在实际产品中,考虑到设备功耗影响,当连续发起了3次重传,仍未获得准确结果时,此时不再发起重传,且3次重传要间隔一定时间,比如10秒。若步骤s11的判断结果为否则执行步骤s12发送重传通知,则定位获取模块210接收到重传通知后,再次执行步骤s1;若步骤s11的判断结果为是,则执行步骤s2,这样可以确保获得到定位结果。

在本实施例中,步骤s2具体可以包括:

步骤s21:判断该定位结果是否为gps定位结果或不为gps定位结果但定位精度小于精度阈值;

步骤s22:将该定位结果作为初步准确定位点置入缓存;

步骤s23:从多个所述定位结果中挑选出一个作为初步准确定位点置入缓存。这样可以得到初步准确定位并存入缓存。

在本实施例中,精度阈值可以设置为50m。一方面,在强信号环境下,设备可以上传gps定位数据而得到gps定位结果,研究表明在强信号环境下获得的gps定位结果较为准确。另一方面,在若信号环境下,设备只能上传非gps定位数据(在本发明实施例中是bts和wifi定位数据),然后谷歌和高德等的地理定位接口可以将bts和wifi的数据转换为地理经纬度,并且返回定位精度值。大量实验数据表明,定位精度小于50m时,定位结果较为准确;反之当定位精度大于50m时,则定位结果通常出现偏差。

所以,当步骤s21的判断的结果为是,即为gps定位结果或不为gps定位结果但是定位精度小于50m时,触发确定单元222执行步骤s22;当步骤s21的判断的结果为否,即既不是gps定位结果且返回的定位精度大于等于50m时,触发选择单元223执行步骤s23。这样可以得到初步准确定位并存入缓存。

在本实施例中,步骤s23具体可以包括:

步骤s231:将所述定位结果置入垃圾箱;

步骤s232:判断所述垃圾箱中所述定位结果的数量是否大于最大缓存数;

步骤s233:从所述垃圾箱中挑选出定位精度最小的定位结果作为所述初步准确定位点置入缓存;

步骤s234:发送重传通知。

其中,当步骤s21判断的结果为否,即既不是gps定位结果,而且返回的定位精度大于等于50m时,执行步骤s231,然后继续执行步骤s232,其中最大缓存数可以根据实际情况设设定。若步骤s232判断的结果为是,则执行步骤s233,这样可以在定位精度大于50的定位结果中挑选出局部最准确点。若步骤s232判断的结果为否,则执行步骤s234,向服务器发送重传通知,定位获取模块210接收到重传通知后,再次执行步骤s1。

在本实施例中,该定位方法还可以包括:

步骤s24:判断缓存中是否存在可参考点;

步骤s25:判断缓存中是否存在速度上升点;

步骤s26:将当前初步准确定位点作为所述可参考点,并将所述当前初步准确定位点存入数据库。

当步骤s24判断的结果为是,触发速度上升点判断模块225执行步骤s25;当步骤s24判断的结果为否,触发可参考点确定模块226执行步骤s26。当s25判断的结果为是,触发飘点判断模块230执行步骤s3。换句话说,当缓存中存在可参考点,且缓存中存在速度上升点时,飘点判断模块230就执行步骤s3,判断该速度上升点是否是飘点。

其中,步骤s24可以具体包括以下步骤:当上一轮的初步准确定位点与此轮的初步准确定位点的获取时间在20min以内,则认为存在可参考点,即所述上一轮的初步准确定位点置为可参考点;若不在20分钟以内,则将所述此轮的初步准确定位点置为可参考点。其中,当设备在长时间关机后刚刚开机,需要基于定位精度进行初步准确定位点的选择。

在本实施例中,步骤s25之后还可以包括:

步骤s27:若不存在速度上升点,则对此轮得到的初步准确定位点进行速度检测;

步骤s28:判断此轮的初步准确定位点与可参考点的平均速度是否大于设备的平均速度;

步骤s29:将此轮的所述初步准确定位点作为该速度上升点置入缓存,并发送重传通知;

步骤s30:存储此轮的所述初步准确定位点到数据库。

一般而言,如果初步准确定位点与可参考点的平均速度大于设备的平均速度,认为此轮的初步准确定位点出现了速度骤然上升。当步骤s25判断的结果为否,则执行步骤s27,然后执行步骤s28,当步骤s28的判断结果为是,则执行步骤s29;当步骤s28的判断结果为否,则执行步骤s30。

在本实施例中,步骤s3具体可以包括:

步骤s31:判断此轮得到的初步准确定位点相较于该速度上升点是否存在距离回归;

步骤s32:该速度上升点是飘点;

步骤s33:该速度上升点不是飘点。

若步骤s31的判断结果为是,则执行步骤s32;若步骤s31的判断结果为否,则执行步骤s33。需要说明的是,若所述此轮得到的初步准确定位点与所述速度上升点之间的距离小于1m,则认为两点属于同簇,所述此轮得到的初步准确定位点不能用于检测距离回归,可以发送重传通知,开始下一轮,重新获取初步准确定位点。

其中,步骤s31具体可以包括以下步骤:

计算所述此轮得到的初步准确定位点与所述参考点之间的第一距离、所述此轮得到的初步准确定位点与该速度上升点之间的第二距离、及所述第一距离与所述第二距离的差值;

判断所述差值是否大于阈值;

若是,则存在距离回归;

若否,则不存在距离回归。

一般而言,若第一距离远小于所述第二距离,认为所述此轮得到的初步准确定位点存在距离回归。

本发明实施例提供的定位方法,先通过定位获取模块210获取定位结果,再通过初步筛选模块220对定位结果进行初步筛选得到初步准确定位点,当存在速度上升点时通过飘点判断模块230判断该速度上升点是否为飘点,如果是飘点则过滤模块240对其进行清除并发送重传通知,如果不是飘点则存储模块250将其存储在用户的定位数据库,基于重传和过滤的定位方法可以过滤不准确的定位结果,提升弱信号环境中的定位精度,进一步提升定位类产品的用户体验。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被加载到处理器,以执行本发明实施例所提供的任一种定位方法中的步骤。

其中,该存储介质可以包括:只读存储器(readonlymemory,rom)、随机存取记忆体(randomaccessmemory,ram)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种定位方法中的步骤,因此,可以实现本发明实施例所提供的任一种定位方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例的技术方案的范围;且任何可以达成本发明实施例提供的定位方法功能的装置都在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1