定位纠偏方法和移动终端与流程

文档序号:12664900阅读:354来源:国知局
定位纠偏方法和移动终端与流程

本发明涉及定位技术,具体涉及一种定位纠偏方法和移动终端。



背景技术:

移动终端被赋予定位功能后,可以为用户提供基于位置的服务(Location Based Service,LBS),这大大拓展了移动终端的应用领域,同时可以为客户提供越来越丰富的使用体验和功能。

目前的移动终端通常可以通过卫星定位、基站信号定位以及无线局域网信号定位等多种方式来进行定位。通常移动终端的操作系统,例如IOS或安卓(Android),会提供软件层面的应用程序接口(API),软件开发者不需要直接与硬件进行交互,而是通过操作系统提供的应用程序接口就可以获取位置信息。通常,移动终端的操作系统会自动根据信号强度以及网络状态等因素综合应用多种不同的定位方式获取定位结果。由于不同的定位方式的定位精度不同,移动终端在静止的状态下由于定位方式的切换或其它的原因导致定位偏移。例如,在移动终端保持不动的情况下,移动终端的操作系统进行了定位方式的切换,由卫星定位切换为基站信号定位,由于两者精度不同,其获得的位置信息很可能是不同的,在应用程序中会显示出移动终端的位置在跳变,而这样的在静止状态下出现的定位偏移会对用户的使用体验造成负面的影响。



技术实现要素:

有鉴于此,本发明提供一种定位纠偏方法和移动终端,以消除由于定位方式的切换或其它的原因导致在静止状态下出现的定位偏移。

根据本发明的第一方面,提供一种定位纠偏方法,用于滤除移动终端获取的不准确的定位信息,所述方法包括:

获取当前位置信息和状态信息;

计算当前位置与上一次有效定位位置之间的位移,以及当前定位时间戳与上一次有效定位的定位时间戳之间的时间差值;

在根据所述状态信息判断移动终端处于静止状态,而所述位移绝对值和时间差值绝对值均大于零时,将当前位置信息设置为无效定位。

优选地,所述方法在计算位移和时间差值前还包括:

在当前位置信息的属性提示定位错误时,将当前位置信息设置为无效定位。

优选地,在当前位置信息的属性为IOS系统下CLLocation类的horizontalAccuracy属性,在该属性为-1时,将当前位置信息设置为无效定位。

优选地,所述状态信息包括当前速度;在所述当前速度为零或小于零时判断移动终端处于静止状态。

优选地,所述状态信息包括航向信息;在所述航向信息保持预定时间不变时判断移动终端处于静止状态。

优选地,所述状态信息包括当前速度和航向信息;在当前速度为零或小于零且所述航向信息保持预定时间不变时判断移动终端处于静止状态。

优选地,当根据所述状态信息判断移动终端处于静止状态时,在进行定位方式切换操作时,移动终端自动进行定位纠偏操作。

第二方面,提供一种移动终端,包括:

至少一个定位装置,用于进行定位;

处理器;以及

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为执行如上所述的方法。

所述移动终端,还包括至少一个存储器,用于存储上一次有效定位信息,包括基站信息、定位系统、无线局域网信息、维度信息、时间戳等;在进行定位纠偏之前,移动终端自动读取上一次有效定位信息。

通过获取状态信息判断移动终端是否处于静止状态,在移动终端处于静止状态下时,将相对于上一次有效定位时间戳不同的位置信息与上一次有效定位的位置信息比较,如果位置出现偏移(也即,位移大于零),则过滤或丢弃该位置信息,在提供基于位置的服务的程序中不予采用。由此,可以过滤掉由于定位方式的切换或其它的原因导致在静止状态下出现的定位偏移,提高定位准确性,提升用户使用体验。

附图说明

通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本发明实施例的定位纠偏方法的流程图;

图2是本发明另一个实施例的定位纠偏方法的流程图;

图3是本发明又一个实施例的定位纠偏方法的流程图;

图4是本发明实施例的移动终端的示意图。

具体实施方式

以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。

下述具体表述的一些部分通过以下方面进行阐述,包括过程、步骤、逻辑模块、功能模块、处理、原理图,或者其他的符号化的表示,如编码、数据位、数据流、信号,或者计算机、处理器、控制器、器件或者存储器的波形等。这些描述和表述常被熟悉数据处理领域的技术人员用来向同行有效地解释他们的工作。这里的过程、流程、逻辑块、功能等,一般被认为是达到期望或预想结果的步骤或指示的自洽序列。步骤一般指物理量的物理操纵。通常,但非必要地,这些物理量采用电、磁、光学或量子信号等形式来表示,这些物理量能够被储存,转移,合并,比较,并可在计算机或数据处理系统中操作控制。主要为了通用性,通常把这些信号称作为位、波、波形、流、值、元素、符号、字母、术语、数字等类似的名称,在计算机程序或软件中则称之为代码(可能是目标代码,源代码或二进制代码),这已经被证明是方便的。

图1是本发明实施例的定位纠偏方法的流程图。

如图1所示,所述方法包括:

步骤S100、获取当前位置信息和当前速度。

具体地,通过移动终端的操作系统提供的API获取当前的位置信息以及当前速度。所述当前速度可以视为用于判断移动终端是否处于静止状态的状态信息。

步骤S200、判断当前位置信息的属性是否提示定位错误,如果是,则执行步骤S300,如果否则执行步骤S500。

在移动终端的操作系统提供的应用程序接口中,通常会对定位错误的信息进行提示。例如,在苹果公司的IOS系统中,通过CLLocation类的horizontalAccuracy(水平精度)属性来提示是否出现定位错误。horizontalAccuracy属性为-1表示在操作系统层面认定该次定位结果不可信。由此,在此前提下,可以基于应用程序接口提供的提示来首先将一部分不可信的定位信息丢弃或过滤掉。

步骤S300、计算当前位置与上一次有效定位位置之间的位移,以及当前定位时间戳与上一次有效定位的定位时间戳之间的时间差值。

其中,有效定位是指,该次定位获取到的位置信息未被过滤或丢弃。所述位移可以通过当前位置的坐标和上一次有效定位位置的坐标计算。同时,每次获取到的位置信息都会附带表征定位时间的时间戳,基于定位时间戳就可以了解,两次获取的定位信息是在同一时刻获取的还是不同时刻获取的。

步骤S400、判断当前速度、位移和时间差是否满足当前速度为零或小于零,而所述位移绝对值和时间差值绝对值均大于零,如果是,则执行步骤S500,否则执行步骤S600。

在本步骤中,在当前速度为零时,移动终端处于静止状态,同时,在实践中,如果操作系统给出的当前速度小于零,也即,速度传感器给出了一个错误的速度时,移动终端也是处于静止状态的。如果此时,与前一次有效定位的时间戳不同的当前位置信息偏离了上一次的位置,说明在静止状态下出现了定位偏移,本次定位的信息不应被采纳。由于进行位置信息获取(也即进行定位操作)的频率是较高的,因此,在移动终端处于静止状态下时,移动终端在两次相邻的定位操作的时刻应该是在同一个位置的。

步骤S500、将当前位置信息设置为无效定位。

具体地,可以将设置为无效定位的位置信息丢弃或过滤,在应用程序中不使用对应的位置信息,由此,可以保证向用户反馈或展示的位置不产生偏移或跳变,提升用户使用体验。

步骤S600、将当前位置信息设置为有效定位。

如果当前位置信息被设置为有效定位,则可以在应用程序中使用对应的位置信息更新移动终端的位置,并向用户反馈和展示。

由此,通过获取状态信息判断移动终端是否处于静止状态,在移动终端处于静止状态下时,将相对于上一次有效定位具有不同定位时间戳的位置信息与上一次有效定位的位置信息比较,如果位置出现偏移(也即,位移大于零),则过滤或丢弃该位置信息,在提供基于位置的服务的程序中不予采用。由此,可以过滤掉由于定位方式的切换或其它的原因导致在静止状态下出现的定位偏移,提高定位准确性,提升用户使用体验。

图2是本发明另一个实施例的定位纠偏方法的流程图。

如图2所示,所述方法包括:

步骤S100’、获取当前位置信息和航向信息。

具体地,通过移动终端的操作系统提供的API获取当前的位置信息以及航向信息。所述航向信息可以视为用于判断移动终端是否处于静止状态的状态信息。

步骤S200’、判断当前位置信息的属性是否提示定位错误,如果是,则执行步骤S300’,如果否则执行步骤S500’。

步骤S300’、计算当前位置与上一次有效定位位置之间的位移,以及当前定位时间戳与上一次有效定位的定位时间戳之间的时间差值。

其中,有效定位是指,该次定位获取到的位置信息未被过滤或丢弃。所述位移可以通过当前位置的坐标和上一次有效定位位置的坐标计算。同时,每次获取到的位置信息都会附带表征定位时间的时间戳,基于定位时间戳就可以了解,两次获取的定位信息是在同一时刻获取的还是不同时刻获取的。

步骤S400’、判断航向信息、位移和时间差是否满足航向信息保持预定时间没有变化,而所述位移绝对值和时间差值绝对值均大于零,如果是,则执行步骤S500’,否则执行步骤S600’。

在本步骤中,航向信息是指通过电子罗盘或陀螺仪检测获得的移动终端的姿态信息。在移动终端处于静止状态下时,移动终端的姿态通常也保持不同,因此,可以基于移动终端航向信息来判断其是否处于静止状态。如果移动终端的航向信息保持预定时间没有变化,则可以判断其处于静止状态。如果此时,与前一次有效定位的时间戳不同的当前位置信息偏离了上一次的位置,说明在静止状态下出现了定位偏移,本次定位的信息不应被采纳。

步骤S500’、将当前位置信息设置为无效定位。

步骤S600’、将当前位置信息设置为有效定位。

本实施例通过移动终端的航向信息替代当前速度来判断移动终端是否处于静止状态,提供了可替代的实时方式。

图3是本发明又一个实施例的定位纠偏方法的流程图。

如图3所示,本实施例定位纠偏方法包括:

步骤S100”、获取当前位置信息和当前速度以及航向信息。

具体地,通过移动终端的操作系统提供的API获取当前的位置信息以及当前速度。在本实施例中用于判断移动终端是否处于静止状态的状态信息包括当前速度和航向信息。

步骤S200”、判断当前位置信息的属性是否提示定位错误,如果是,则执行步骤S300”,如果否则执行步骤S500”。

步骤S300”、计算当前位置与上一次有效定位位置之间的位移,以及当前定位时间戳与上一次有效定位的定位时间戳之间的时间差值。

步骤S400”、判断当前速度、航向信息、位移和时间差是否满足当前速度为零或小于零且航向信息保持预定时间没有变化,而所述位移绝对值和时间差值绝对值均大于零,如果是,则执行步骤S500”,否则执行步骤S600”。

在本步骤中,航向信息是指通过电子罗盘或陀螺仪检测获得的移动终端的姿态信息。通常来说,通过移动终端的当前速度来判断移动终端是否处于静止状态是最准确的。但是,在某些情况下,由于速度计算算法或传感器精度的问题,在使用者携带移动终端步行时,由于速度较慢,移动终端的操作系统获取的当前速度也为零或负值,此时,移动终端实际上没有处于静止状态。相应地,其当前位置与上一次有效定位位置的位移并不是偏移,而很可能是实际的位移。由此,仅通过当前速度来判断是否处于静止状态可能导致对于位置信息的误过滤。在本实施例中,增加航向信息来辅助进行判断,在使用者携带移动终端步行时,由于人体上下起伏,移动终端的姿态会保持变化。由于姿态或航向检测的精确度较高,这种较小的姿态变化均可以被移动终端检测到。因此,在本实施例中,只有在当前速度为零或小于零且航向信息保持预定时间没有变化才判断认为移动终端处于静止状态。如果此时,与前一次有效定位的时间戳不同的当前位置信息偏离了上一次的位置,说明在静止状态下出现了定位偏移,本次定位的信息不应被采纳。

步骤S500”、将当前位置信息设置为无效定位。

步骤S600”、将当前位置信息设置为有效定位。

由此,本实施例可以进一步增加纠偏方法的准确性,减少对于位置信息的误过滤。

以上的详细描述通过使用方框图、流程图和/或示例,已经阐述了设备和/或方法的众多实施例。在这种方框图、流程图和/或示例包含一个或多个功能和/或操作的情况下,本领域技术人员应理解,这种方框图、流程图或示例中的每一功能和/或操作可以通过各种硬件、软件、固件或实质上它们的任意组合来单独和/或共同实现。在一个实施例中,本发明所述主题的若干部分可以通过专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或其他集成格式来实现。然而,本领域技术人员应认识到,这里所公开的实施例的一些方面在整体上或部分地可以等同地实现在集成电路中,实现为在一台或多台计算机上运行的一个或多个计算机程序(例如,实现为在一台或多台计算机系统上运行的一个或多个程序),实现为在一个或多个处理器上运行的一个或多个程序(例如,实现为在一个或多个微处理器上运行的一个或多个程序),实现为固件,或者实质上实现为上述方式的任意组合,并且本领域技术人员根据本发明,将具备设计电路和/或写入软件和/或固件代码的能力。此外,本领域技术人员将认识到,本发明的机制能够作为多种形式的程序产品进行分发,并且无论实际用来执行分发的信号承载介质的具体类型如何,本发明所述主题的示例性实施例均适用。信号承载介质的示例包括但不限于:可记录型介质,如软盘、硬盘驱动器、紧致盘(CD)、数字视频盘(DVD)、数字磁带、计算机存储器等;以及传输型介质,如数字和/或模拟通信介质(例如,光纤光缆、波导、有线通信链路和/或信道、无线通信链路和/或信道等)。

图4是本发明实施例的移动设备的示意图。如图4所示,所述终端设备4包括通用的计算机硬件结构,其至少包括处理器41和存储器42。处理器41和存储器42通过总线43连接。存储器42适于存储处理器41可执行的指令或程序。处理器41可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器41通过执行存储器42所存储的指令,从而执行如上所述的本发明实施例的方法流程提供基于位置的服务并进行定位纠偏。当然,所述移动设备包括定位装置44。所述定位装置44包括GPS卫星定位装置,移动通信装置,以及无线局域网通信装置等。总线43将上述多个组件连接在一起,同时将上述组件连接到显示控制器45和显示装置以及输入/输出(I/O)装置46。输入/输出(I/O)装置46可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置46通过输入/输出(I/O)控制器47与系统相连。所述移动终端可以是台式计算机、便携计算机、平板电脑、智能手机、智能手表或其它智能设备。

以上所述仅为本发明的优选实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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