定位方法及装置与流程

文档序号:17670804发布日期:2019-05-15 23:02阅读:162来源:国知局
定位方法及装置与流程

本发明涉及定位技术,尤其涉及一种定位方法及装置,属于互联网技术领域。



背景技术:

为了给用户提供更优质的服务,很多软件都具有定位功能,比如导航软件等,这些软件能够通过内置的定位功能获取用户所在的位置。

现有技术中获取用户位置的方式为,由软件的后台服务计算并返回多个可能的位置信息,由软件内置的sdk(softwaredevelopmentkit,软件开发工具包)定位模块在多个位置信息中选择置信度最高的位置,将其作为用户的定位结果。置信度是用来描述位置信息有可能是实际位置的概率值,现有技术中有很多确定置信度的方法,例如,后台服务返回a、b、c三个位置信息,其中,a位置被作为实际位置的次数最多,就认为a位置的置信度最高。

然而,置信度最高的位置信息不一定是用户所在的实际位置,因此,仅依靠置信度确定最终的定位结果并不准确。



技术实现要素:

本发明提供一种定位方法及装置,根据历史位置在接收的多个位置信息中确定一个为终端的实际位置,能够使定位结果更准确,解决了现有技术中仅依靠位置的置信度确定最终定位结果导致定位不准确的技术问题。

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

接收多个位置信息,所述多个位置信息用于指示终端当前所处位置;

获取所述终端的历史位置信息,其中,所述历史位置信息为与接收所述多个位置信息间距预设时间间隔内的历史位置信息;

根据所述历史位置信息,在所述多个位置信息中确定出所述终端的实际位置。

本发明的第一个方面是提供一种定位装置,包括:

接收模块,用于接收多个位置信息,所述多个位置信息用于指示终端当前所处位置;

获取模块,用于获取所述终端的历史位置信息,其中,所述历史位置信息为与接收所述多个位置信息间距预设时间间隔内的历史位置信息;

确定模块,用于根据所述历史位置信息,在所述多个位置信息中确定出所述终端的实际位置。

本发明提供的定位方法及装置的技术效果是:本发明提供的方法及装置,首先接收多个位置信息,然后获取终端的历史位置信息,并且,历史位置信息为与接收多个位置信息间距预设时间间隔内的历史位置信息,最后根据历史位置信息,在多个位置信息中确定出终端的实际位置。本发明提供的方法及装置,根据接收多个位置信息时以及更早时刻的终端的历史位置,在后台服务计算出的多个位置信息中推断出终端当前的实际位置,使得定位结果更加准确,解决了现有技术中仅根据置信度在后台服务计算的多个位置中选择实际位置不够准确的技术问题。

附图说明

图1为本发明一示例性实施例示出的定位方法的流程图;

图2为本发明另一示例性实施例示出的定位原理示意图;

图3为本发明另一示例性实施例示出的定位方法的流程图;

图4为本发明又一示例性实施例示出的定位方法的流程图;

图5为本发明一示例性实施例示出的定位装置的结构图;

图6为本发明另一示例性实施例示出的定位装置的结构图。

具体实施方式

图1为本发明一示例性实施例示出的定位方法的流程图。

如图1所示,本实施例提供的定位方法包括:

步骤101,接收多个位置信息,多个位置信息用于指示终端当前所处位置。

其中,接收的位置信息是后台提供的,后台可以是用于执行本实施例提供的方法的终端设备的定位功能,也可以是具有定位功能的后台服务器。

例如,可以将本实施例提供的方法封装为应用软件,安装在具有定位功能的终端中,终端能够根据定位功能确定出用于指示当前所处位置的多个位置信息,在软件需要获取位置信息时,终端向软件发送多个位置信息。或者,将本实施例提供的方法封装在软件中,该软件具有定位服务器,该定位服务器具有计算终端当前位置的功能。软件开启定位功能后,通过安装有该软件的终端向定位服务器发送定位请求。定位服务器根据接收到的请求,计算出终端当前有可能在的多个位置,并将计算出的多个位置信息发送给终端内的软件。

步骤102,获取终端的历史位置信息,其中,历史位置信息为与接收多个位置信息间距预设时间间隔内的历史位置信息。

具体的,终端包括手机、pad等能够联网的电子设备。终端内安装的软件能够获取终端的历史位置,例如从预存单元中获取在接收后台发送的多个位置信息前5s的位置。

进一步的,历史位置信息是与接收多个位置信息间距预设时间段内终端的位置信息。例如,可以是终端在预设时间段内的移动轨迹,也可以是预设时间段内终端所在的多个位置点。

优选的,历史位置信息中至少包括接收多个位置信息时刻终端所在的位置。软件发起定位请求后,后台通过计算确定出多个位置信息,并向软件发送位置信息,若后台是定位服务器,则这个过程通过网络传输完成,速度非常快。由于后台向软件返回位置信息的速度都非常快,因此,可认为接收多个位置信息时与发起定位请求时,终端所在的位置最接近。

实际应用时,历史位置信息可以包括多个位置。例如预设时间段内的历史移动轨迹,轨迹中包含有终端在预设时间段内的所在的所有位置;或者预设时间段内终端所在的多个位置点,如通过全球定位系统gps获得的位置。

步骤103,根据历史位置信息,在多个位置信息中确定出终端的实际位置。

可以在多个位置信息中,确定出与接收多个位置信息时刻终端所在的位置最接近的位置信息,并将其作为用户终端的当前位置。

还可以根据终端的历史移动轨迹或多个历史位置确定终端的移动趋势,根据移动趋势在多个位置信息中确定出终端的当前位置。

图2为本发明一示例性实施例示出的定位原理示意图。如图2所示,曲线是终端的移动轨迹,loc1、loc2和loc3是后台发送的位置信息。分别计算移动轨迹末端的位置与3个位置信息的距离,并推算移动轨迹的移动趋势,能够推断出loc2是终端的当前位置。

本实施例提供的定位方法,首先接收多个位置信息,然后获取终端的历史位置信息,并且,历史位置信息为与接收多个位置信息间距预设时间间隔内的历史位置信息,最后根据历史位置信息,在多个位置信息中确定出终端的实际位置。本发明提供的方法及装置,根据接收多个位置信息时以及更早时刻的终端的历史位置,在后台计算出的多个位置信息中推断出终端当前的实际位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。

图3为本发明另一示例性实施例示出的定位方法的流程图。

如图3所示,若后台是定位服务器,则本实施例提供的定位方法,还包括:

步骤201,采集定位数据。

安装在终端内的软件通过终端采集定位数据。

其中,定位数据是用来计算终端当前位置的数据信息,例如gps定位结果、终端检测到的周围的基站信号标识及其强度、wi-fi信号标识及其强度等信息。

步骤202,发送定位数据到服务器,以使服务器根据定位数据计算出多个位置信息。

后台根据定位数据计算出多个终端有可能在的位置信息,并发送给软件。例如,后台综合考虑gps定位结果、终端检测到的周围的基站信号标识及其强度计算终端的位置。

具体的,若后台是用于执行本实施例的终端,则终端能够通过内部设置的传感器获取定位数据,再根据定位数据计算位置信息。

当软件发起定位请求时,接收定位请求的服务器或终端将计算出的多个位置信息反馈至软件。

步骤203,接收多个位置信息,多个位置信息用于指示终端当前所处位置。

步骤204,根据预设时间间隔,确定与接收多个位置信息间距预设时间间隔的起始时刻。

具体的,时间间隔可以根据需求设置,例如2分钟。根据预设的时间间隔,确定出距离接收多个位置信息前预设时间间隔的起始时刻。例如,在接收多个位置信息前2分钟的时刻。

步骤205,获取起始时刻终端的位置,生成起始位置信息。

可以根据终端能否收到gps信号判断终端在室内还是室外。另外,当终端在屋子外,却由于周围建筑物的影响导致gps信号不稳定,也可以认为终端在室内。

其中,终端在室外时,可以获取终端预存的在起始时刻的gps定位结果,并生成起始位置信息。

终端在室内时,可以判断在起始时刻终端能否收到gps信号,如果收到了,则认为终端在起始时刻处于室外环境,那么可以根据终端在起始时刻通过gps定位的结果生成起始位置信息。

如果没收到,则认为终端在起始时刻处于室内环境,那么可以获取终端最后接收的gps定位结果,并获取gps信号消失后终端的移动轨迹,根据终端最后接收的gps定位结果、移动轨迹能够确定出终端在起始时刻的位置。

步骤206,根据起始位置信息,获取终端在预设时间间隔内的移动轨迹,根据移动轨迹确定终端的历史位置信息。

获取起始时刻以后,终端的移动轨迹。根据一个起始位置以及移动轨迹,能够确定出终端在预设时间间隔内的历史位置,再根据历史位置生成历史位置信息。例如终端的使用者步行用户,那么上述移动轨迹可以是基于pdr(pedestriandeadreckoning,步行者航位推算)算法计算得到的。

具体的,首先获取终端内设置的传感器检测到的用户行走时的步长、步数、方向等数据信息,根据获取的数据信息基于pdr算法能够计算出用户的移动轨迹,也就是终端的移动轨迹。

现举例来说明终端在室内时获取历史位置信息的具体方法,假设终端在商场内,那么终端无法接收到gps信号,则判断终端在起始时刻是否收到了gps信号,现假设终端在起始时刻也没有收到gps信号,那么获取终端最后接收的gps定位结果,以及终端在无法接收gps信号到起始时刻的第一条移动轨迹,能够计算出终端在起始时刻的位置。然后获取起始时刻以后终端的第二条移动轨迹,根据第二移动轨迹能够确定出终端在预设时间间隔内的历史位置信息。

图4为本发明又一示例性实施例示出的定位方法的流程图。

如图4所示,本实施例中步骤206中获取终端在预设时间间隔内的移动轨迹可以进一步包括:

步骤2061,根据终端的加速度传感器、陀螺仪、磁场传感器在预设时间间隔内采集到的数据,确定移动轨迹。

终端内设置有加速度传感器、陀螺仪、磁场传感器等传感器,根据这些传感器能够检测用户行走时的数据,如步长、方向、步速等,再通过这些数据能够计算出终端的移动轨迹。例如,根据pdr算法计算终端的移动轨迹。

和/或,步骤2062,根据终端的全球定位系统在预设时间间隔内获取的定位信息,确定移动轨迹。

如果终端处于室外,可以获取预设时间间隔内通过gps确定的多个定位结果,并将多个定位结果连成轨迹线,从而得到移动轨迹。

优选的,还可以根据预设规则,综合计算得到的第一移动轨迹和通过gps定位结果得到的第二移动轨迹,进行纠偏,得到更精准的移动轨迹结果。

由于用户终端的gps定位功能无法在室内使用,并且gps的定位精度会随着使用持续时间的延长而降低。因此,可以依据gps定位结果和移动轨迹共同推断出用户终端的历史位置,使获得的历史位置信息更准确。

进一步的,本实施例还可以包括,步骤207,确定移动轨迹的终点位置信息;将终点位置信息与多个位置信息进行比对。然后在多个位置信息中确定出实际位置。

其中,终点位置为移动轨迹的末端位置,也就是移动轨迹的所有位置中,终端在最晚时刻的位置。

例如,可以将距离终点位置最近的位置信息作为实际位置。根据历史位置信息在多个后台计算的位置信息中确定出终端的实际位置,考虑了终端的移动方向、趋势等,比仅根据置信度确定实际位置更加准确。

具体的执行方式可以为:

步骤208,确定终点位置与每个位置信息之间的距离,根据距离在多个位置信息中确定实际位置。

可以根据确定的终点位置与后台提供的多个位置信息之间的距离确定实际位置,例如,将距离终点位置最近的位置信息作为实际位置。

进一步的,本实施例提供的方法还包括另一种确定实际位置的方式:

步骤209,根据移动趋势在多个位置信息中确定实际位置。

移动趋势可以是根据移动轨迹推测出的终端下一刻行进的方向。例如,移动轨迹的方向是向西运动,那么可以认为,位于终点位置东侧的位置信息不会是终端的实际位置。

其中,步骤208与步骤209可以是并列的实现方式,也可以将二者相结合,综合考虑终点位置与后台提供的位置信息之间的距离以及终端的移动趋势来确定终端的实际位置。

另外,本实施例还给出另一种执行方式,用于根据终端的历史位置信息确定终端的实际位置,包括:

获取多个位置信息的置信度。

具体的,置信度是指该位置是用户终端当前位置的概率。置信度可以以数据库的形式存储在定位服务器中,可以通过用户终端从服务器中获取多个位置信息的置信度。也可以以数据库的形式存储在用户终端中,并且将数据库设置成只有执行本实施例的软件才能读取的状态,以保证数据库的安全。另外,置信度还可以是计算得到的,而用于计算置信度的基础数据可以存储在定位服务器或用户终端中,用于计算的基础数据还可以包括从用户终端获取的实时数据。

根据历史位置修正多个位置信息的置信度,得到最终置信度。

其中,可以获取历史位置中最晚时刻用户终端所在的最终位置,并计算最终位置与后台发送的多个位置信息的距离,使用这个距离值对置信度进行修正,以使距离最终位置最近的位置信息的置信度变高,得到最终置信度。

另外,还可以根据历史位置信息计算用户的移动方向,将在移动方向上的位置信息的置信度调高,得到最终置信度。

根据最终置信度,将多个位置信息中最终置信度最高的位置信息确定为用户终端的当前位置。

具体的,可以对多个位置信息的最终置信度进行排序,将最终置信度最高的位置作为定位结果。由于最终置信度是根据历史位置对置信度修正的结果,因此,使用最终置信度能够更准确的描述位置信息有可能是实际位置的概率。

本实施例提供的定位方法,若后台是服务器,则首先采集定位数据,并向服务器发送定位数据,使服务器能够准确的计算出用户终端有可能在的位置信息,再获取用户终端的定位结果以及移动轨迹,然后获取移动轨迹的终点位置,通过确定多个位置信息与终点位置的距离,确定用户终端准确的历史位置,或者根据终端的移动轨迹确定移动趋势,根据移动趋势确定用户终端准确的历史位置。本实施例提供的方法,根据用户终端的gps定位结果和移动轨迹在后台发送的多个位置信息中确定出用户终端当前的位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。

另外,本实施例提供的定位方法,还根据历史位置对每个位置信息的置信度进行修正,得到每个位置信息的最终置信度,将最终置信度最高的位置信息作为用户终端的当前位置。本实施例提供的方法,根据用户终端的gps定位结果和移动轨迹在后台发送的多个位置信息中确定出用户终端当前的位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。

图5为本发明一示例性实施例示出的定位装置的结构图。

如图5所示,本实施例提供的定位装置,包括:接收模块51、获取模块52、确定模块53,并且,接收模块51、获取模块52分别与确定模块53连接。

接收模块51,用于接收多个位置信息,所述多个位置信息用于指示终端当前所处位置。接收模块51能够访问用于发送位置信息的后台,使得接收模块51能够接收后台发送的位置信息。其中,后台可以是用于执行本实施例提供的方法的终端设备的定位功能,也可以是具有定位功能的后台服务器。

获取模块52,用于获取所述终端的历史位置信息,其中,所述历史位置信息为与接收所述多个位置信息间距预设时间间隔内的历史位置信息。

确定模块53,用于根据所述历史位置信息,在所述多个位置信息中确定出所述终端的实际位置。

本实施例提供的定位装置,首先接收多个位置信息,然后获取终端的历史位置信息,并且,历史位置信息为与接收多个位置信息间距预设时间间隔内的历史位置信息,最后根据历史位置信息,在多个位置信息中确定出终端的实际位置。本发明提供的装置,根据接收多个位置信息时以及更早时刻的终端的历史位置,在后台计算出的多个位置信息中推断出终端当前的实际位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。本实施例提供的定位装置的具体原理和实现方式均与图1所示的实施例类似,此处不再赘述。

图6为本发明另一示例性实施例示出的定位装置的结构图。

如图6所示,在上述实施例的基础上,本实施例提供的定位装置中,获取模块52包括:

确定单元521,用于根据所述预设时间间隔,确定与接收所述多个位置信息间距所述预设时间间隔的起始时刻;

获取单元522,用于获取所述起始时刻所述终端的位置,生成起始位置信息;

所述获取单元522还用于根据所述起始位置信息,获取所述终端在所述预设时间间隔内的移动轨迹;

所述确定单元521还用于根据所述移动轨迹确定所述终端的所述历史位置信息。

所述获取单元522具体用于:

获取所述终端内的加速度传感器、陀螺仪、磁场传感器在所述预设时间间隔内采集的数据,根据所述数据确定所述移动轨迹;

和/或,获取所述终端的全球定位系统在所述预设时间间隔内定位信息,根据所述定位信息确定所述移动轨迹。

所述确定模块53还包括:

终点确定单元531,用于确定所述移动轨迹的终点位置信息;

实际位置确定单元532,用于将所述终点位置信息与所述多个位置信息进行比对,在所述多个位置信息中确定出所述实际位置。

所述实际位置确定单元532具体用于:

确定所述终点位置与每个所述位置信息之间的距离,根据所述距离在所述多个位置信息中确定所述实际位置;

和/或,根据所述移动轨迹确定所述终端的移动趋势,根据所述移动趋势在多个所述位置信息中确定所述实际位置。

另外,本实施例提供的定位装置,还提供另一种根据终端历史位置确定实际位置的方式,其中,确定模块53包括:

第二获取单元,用于获取多个位置信息的置信度;

修正单元,用于根据历史位置修正多个位置信息的置信度,得到最终置信度;

第二确定单元,用于根据最终置信度,将多个位置信息中最终置信度最高的位置信息确定为用户终端的当前位置。

另外,本实施例提供的定位装置还可以包括:

采集模块,用于采集定位数据;

发送模块,用于发送定位数据到服务器,以使服务器根据定位数据计算出多个位置信息。

采集模块和发送模块连接。

发送模块能够访问用于计算位置信息的后台,使得发送模块能够将定位数据发送给后台。

本实施例提供的定位装置,若后台是服务器,则首先采集定位数据,并向服务器发送定位数据,使服务器能够准确的计算出用户终端有可能在的位置信息。再获取用户终端的定位结果以及移动轨迹,然后获取移动轨迹的终点位置,通过多个位置信息与终点位置的比对,确定用户终端准确的历史位置。本实施例提供的装置,根据用户终端的gps定位结果和移动轨迹在后台发送的多个位置信息中确定出用户终端当前的位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。

另外,本实施例提供的定位装置,还根据历史位置对每个位置信息的置信度进行修正,得到每个位置信息的最终置信度,将最终置信度最高的位置信息作为用户终端的当前位置。本实施例提供的装置,根据用户终端的gps定位结果和移动轨迹在后台发送的多个位置信息中确定出用户终端当前的位置,使得定位结果更加准确,解决了现有技术中根据置信度在后台计算的多个位置中选择实际位置不够准确的技术问题。

本实施例提供的定位装置的具体原理和实现方式均与图3所示的实施例类似,此处不再赘述。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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