一种终端的定位方法、装置、设备及存储介质与流程

文档序号:26586902发布日期:2021-09-10 19:35阅读:110来源:国知局
一种终端的定位方法、装置、设备及存储介质与流程

1.本技术涉及计算机技术领域,特别是涉及一种终端的定位方法、装置、设备及存储介质。


背景技术:

2.随着定位技术的迅猛发展,越来越多具备定位功能的终端能够帮助用户对用户的当前位置进行定位,即对终端所在的位置进行定位,从而为用户提供各种位置服务。
3.目前对终端进行定位的方式主要是依赖于全球卫星导航系统(global navigation satellite system,gps)实现,即通过卫星信号的接收及时间信息,来定位用户的当前位置。
4.然而,在很多场景下例如城市峡谷、高楼林立、十字路口等弱卫星信号场景下,这种方式定位精度不够准确,定位可用性差。


技术实现要素:

5.为了解决上述技术问题,本技术提供了一种终端的定位方法、装置、设备及存储介质,在弱卫星信号场景下提高定位精度的准确性,进而提高定位可用性。
6.第一方面,本技术实施例提供一种终端的定位方法,所述方法包括:获取目标时刻下终端的卫星观测信息;基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息;获取网格区域中每个网格单元的第二卫星可视化分布信息,所述网格区域是基于所述终端在所述目标时刻的概略位置生成的;确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息匹配度;根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元;根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置。
7.第二方面,本技术实施例提供一种终端的定位装置,所述装置包括获取单元、确定单元和选取单元:所述获取单元,用于获取目标时刻下终端的卫星观测信息;所述确定单元,用于基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息;所述获取单元,还用于获取网格区域中每个网格单元的第二卫星可视化分布信息,所述网格区域是基于所述终端在所述目标时刻的概略位置生成的;所述确定单元,还用于确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息匹配度;所述选取单元,用于根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元;所述确定单元,还用于根据所述目标网格单元的网格位置,确定所述终端在所述
目标时刻的目标位置。
8.第三方面,本技术实施例提供一种终端的定位设备,所述设备包括处理器以及存储器:所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;所述处理器用于根据所述程序代码中的指令执行第一方面所述的方法。
9.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的方法。
10.由上述技术方案可以看出,在某一时刻例如目标时刻需要对终端进行定位时,获取目标时刻下终端的卫星观测信息,基于卫星观测信息确定终端的第一卫星可视化分布信息。获取网格区域中每个网格单元的第二卫星可视化分布信息,网格区域是基于终端在目标时刻的概略位置生成的,进而确定第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度。第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度反映出网格单元的网格位置与终端真实位置的接近程度,匹配度越高,所对应的网格单元的网格位置与终端的真实位置越接近。从而根据该匹配度从网格区域的多个网格单元中选取与终端真实位置比较接近的目标网格单元,根据目标网格单元的网格位置,确定终端在目标时刻的目标位置。由于网格位置是准确的,目标网格单元的网格位置反映出终端的真实位置,故此时可以准确的定位终端的位置,从而在弱卫星信号场景下提高定位精度的准确性,进而提高定位可用性。
附图说明
11.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术成员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
12.图1为本技术实施例提供的一种终端的定位方法的应用场景示意图;图2为本技术实施例提供的一种终端的定位方法的流程图;图3为本技术实施例提供一种基于卫星连续运行参考站系统的结构图;图4为本技术实施例提供的一种终端的定位方法的整体系统架构图;图5为本技术实施例提供的一种构建的网格区域的示例图;图6为本技术实施例提供的另一种网格区域的示例图;图7为本技术实施例提供的一种计算每个网格单元的第二卫星可视化分布信息的流程架构图;图8为本技术实施例提供的一种目标网格单元的网格位置、目标位置以及终端的真实位置的示例图;图9为本技术实施例提供的一种电子地图的界面示例图;图10为本技术实施例提供的一种确定第二卫星可视化分布信息的流程图;图11为本技术实施例提供的一种对象三维模型、网格单元i以及卫星j的示例图;图12为本技术实施例提供的另一种终端的定位方法的流程图;图13为本技术实施例提供的一种终端的定位装置的结构图;
satellite system,gnss)芯片,用于处理卫星信号以及进行终端的定位。终端的操作系统(例如android)平台提供位置服务器的软件开发包工具(software development kit,sdk),即android location sdk,通过sdk提供的应用程序接口(application programming interface,api)可以获取得到终端当前的位置、定位精度以及其他相关信息,同时sdk还提供卫星观测信息以及星历数据。终端101例如可以是智能手机、平板电脑、智能手表、销售点情报管理系统(pointofsales,pos)机、车载终端等等,但并不局限于此。终端101以及服务器102可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
21.当需要对终端101在某一时刻例如目标时刻的位置进行定位时,终端101可以获取终端的概略位置,该概略位置是终端未经过校准的位置,也可以认为是终端未经过误差修正的位置,是一个比较粗略的位置。在一种可能的实现方式中,终端的概略位置可基于通信基站确定;在一种可能的实现方式中,终端的概略位置可基于终端自身所配置的定位模块确定。终端101的真实位置一般可以在该概略位置附近。
22.终端101还可以基于目标时刻下终端的卫星观测信息确定终端的第一卫星可视化分布信息。
23.服务器102可以获取终端101发送的概略位置,根据概略位置得到网格区域,并将网格区域划分成多个网格单元,进而得到网格区域中每个网格单元的第二卫星可视化分布信息。
24.然后,终端101获取第二卫星可视化分布信息,确定第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度。第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度反映出网格单元的网格位置与终端真实位置的接近程度,匹配度越高,所对应的网格单元的网格位置与终端的真实位置越接近。因此,终端101可以根据匹配度从多个网格单元中确定出目标网格单元,该目标网格单元的网格位置可以反映出终端的真实位置,故终端101基于目标网格单元的网格位置确定终端的目标位置,从而实时输出该目标位置。该目标位置是基于终端的概略位置确定的、更能够准确体现终端真实位置的位置,相当于对概略位置进行误差修正,得到的更为准确的位置。
25.可以理解的是,当本技术实施例提供的方法由终端101单独实施时,上述第二卫星可视化分布信息可以由终端101确定,即终端101根据概略位置得到网格区域,并将网格区域划分成多个网格单元,进而得到网格区域中每个网格单元的第二卫星可视化分布信息。当本技术实施例提供的方法由服务器102单独实施时,服务器102可以获取目标时刻下终端的卫星观测信息,进而确定终端的第一卫星可视化分布信息;服务器102确定第一卫星可视化分布信息与第二卫星可视化分布信息匹配度,根据匹配度从多个网格单元中确定出目标网格单元,基于目标网格单元的网格位置确定终端的目标位置;之后,服务器102将目标位置反馈给终端101,以便终端101实施输出目标位置,或者服务器102根据目标位置为终端101提供位置服务,例如天气预报等等。
26.接下来,将以终端是执行主体为例,结合附图对本技术实施例提供的终端的定位方法进行详细介绍。
27.参见图2,图2示出了一种终端的定位方法的流程图,所述方法包括:s201、获取目标时刻下终端的卫星观测信息。
28.需要说明的是,本技术实施例提供的方法可以基于卫星连续运行参考站系统
(continuously operating reference stations,cors)实现,cors是卫星定位技术、计算机网络技术、数字通讯技术等高新科技多方位、深度结晶的产物。cors由基准站网(参见图3中301所示)、数据处理中心(参见图3中302所示)、用户应用系统(参见图3中303所示),数据处理中心例如可以是cors中的服务器,可以称为cors服务器,用户应用系统可以包括图3中所示的智能终端、车辆上的车载终端等。除此之外,基准站网向数据处理中心传输卫星观测信息,该过程需要数据传输系统(图3中未示出),各基准站与数据处理中心间通过数据传输系统连接成一体,形成专用网络;数据处理中心向用户应用系统播发星历数据,该过程需要定位导航数据播发系统(图3中未示出),故cors还包括数据传输系统和定位导航数据播发系统。其中,用于定位的卫星可以包括多个,参见图3所示,图3中以四个为例。
29.当需要对终端在某一时刻例如目标时刻的位置进行定位时,终端可以获取目标时刻下终端的卫星观测信息,卫星观测信息可以体现出终端接收卫星信号的情况,例如接收到卫星信号或者未接收到卫星信号。若接收到某个卫星的卫星信号,可以表示该卫星对于终端是可视的,若未接收到某个卫星的卫星信号,可以表示该卫星对于终端是不可视的,故可以根据卫星观测信息确定终端的第一卫星可视化分布信息。其中,目标时刻可由终端的系统时间获取得到。
30.s202、基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息。
31.其中,第一卫星可视化分布信息可以体现每个卫星对于终端是否可视。卫星对于终端是否可视可以通过标识信息进行标识,若卫星观测信息体现终端接收到卫星的卫星信号,生成第三标识信息,第三标识信息标识卫星对于终端是可视的。若卫星观测信息体现终端接收到卫星的卫星信号,生成第四标识信息,第四标识信息标识卫星对于所述终端是不可视的。进而根据卫星对应的第三标识信息或第四标识信息生成第一卫星可视化分布信息。
32.标识信息例如第三标识信息或第四标识信息可以是数字、符号等。以标识信息是数字为例,若卫星对于终端是可视的,则对应的标识信息为第三标识信息,第三标识信息可以是1;若卫星对于终端是不可视的,则对应的标识信息为第四标识信息,第四标识信息可以是0。这样,当确定出每个卫星对于终端是否可视,则可得到一个以标识信息作为元素的矩阵。
33.例如基于4个卫星进行定位,分别是卫星1、卫星2、卫星3、卫星4。若终端接收到卫星1的卫星信号,则说明卫星1对于终端是可视的,生成第三标识信息1;若终端未接收到卫星2的卫星信号,则说明卫星2对于终端是不可视的,生成第四标识信息0;若终端未接收到卫星3的卫星信号,则说明卫星3对于终端是不可视的,生成第四标识信息0;若终端接收到卫星4的卫星信号,则说明卫星4对于终端是可视的,生成第三标识信息1。则最终得到一个矩阵(1,0,0,1),该矩阵可以作为第一卫星可视化分布信息。
34.当终端确定第一卫星可视化分布信息时,若目标时刻下卫星处于不正常状态,例如卫星的位置不正常,那么其对应的卫星观测信息也可能是一个异常数据,导致第一卫星可视化分布信息计算不准确。而星历数据(ephemeris data)在一定程度上可以体现出卫星是否处于正常状态。星历数据亦称星历参数表,指的是一种星体轨道参数表,即用列表数据说明每隔一定时间某卫星预定所在位置。因此,在一种可能的实现方式中,终端还可以获取卫星的星历数据,然后在确定第一卫星可视化分布信息时,根据星历数据确定卫星的状态
信息,根据状态信息对所述卫星观测信息进行剔除处理,例如某个卫星的状态信息表示该卫星处于不正常状态时,则将该卫星的卫星观测信息剔除。进而基于剔除处理后的卫星观测信息确定终端的第一卫星可视化分布信息。通过这种方式,尽量提高第一卫星可视化分布信息的准确性。
35.其中,星历数据可以保存在星历数据库中,星历数据库可以与cors服务器连接,当终端需要获取星历数据时,终端可以发送星历请求至cors服务器,cors服务器可以从星历数据库中获取星历数据,并由cors服务器播发星历数据至终端。
36.在这种情况下,本技术实施例提供的终端的定位方法的整体系统架构图可以参见图4所示,包括终端401、卫星402、cors服务器403和星历数据库404。终端401可以用于接收卫星402的卫星信号,进而获取卫星观测信息。cors服务器403和星历数据库404连接,终端401与cors服务器403可以通过无线网络连接,无线网络例如可以是4g/5g或wifi网络等;当本技术实施例提供的方法由服务器执行,或者由终端和服务器配合执行时,cors服务器可以是执行本技术实施例所提供方法的服务器,也可以是独立的服务器,本实施例对此不做限定。
37.s203、获取网格区域中每个网格单元的第二卫星可视化分布信息。
38.其中,网格区域是基于终端在目标时刻的概略位置生成的。网格区域可以是服务器生成的,服务器生成包括网格单元的网格区域后,可以计算第二卫星可视化分布信息,并将第二卫星可视化分布信息发送至终端。其中,该服务器可以是对象三维模型服务器(参见图4中405所示),其上可以存储对象三维模型的模型数据,对象三维模型可以是城市三维模型、农村三维模型,模型数据可以包括建筑物、道路网络等信息。当然,在一些情况下,网格区域、第二卫星可视化分布信息也可以是由终端生成的,本技术实施例对此不做限定。
39.以对象三维模型服务器生成网格区域为例,对象三维模型服务器接收到概略位置后,可以以该概略位置为中心,确定网格区域,进而按照一定的间隔划分网格区域生成网格单元,网格单元可以是长方形、正方形、正六边形等形状。以网格单元是长方形为例,构建的网格区域可以参见图5所示,图5中的网格区域是以概略位置为中心的长方形,概略位置参见图5中黑色三角形所示,网格单元的几何中心位置即为网格单元的网格位置,一个单元格的网格位置可以参见图5中白色三角形所示。由于概略位置附近可能存在对象三维模型,因此,基于对象三维模型的模型数据展示的网格区域可以参见图6所示,其中白色三角形表示终端的概略位置,对象三维模型的部分位于该网格区域中,由于对象三维模型的存在可能会使得某些卫星对于某些网格单元是不可视的。
40.也就是说,卫星的位置信息、网格单元的网格位置以及对象三维模型可以决定卫星对于某网格单元是否可视。因此,在一种可能的实现方式中,获取网格区域中每个网格单元的第二卫星可视化分布信息的方式可以是对象三维模型服务器获取卫星的星历数据,以根据星历数据确定卫星的位置信息,进而根据卫星的位置信息、每个网格单元的网格位置和对象三维模型的模型数据,分别确定所述每个网格单元的第二卫星可视化分布信息。其中,位置信息可以用坐标信息表示,例如可以是地心地固坐标系(earth

centered, earth

fixed,ecef)下的坐标,即ecef坐标。
41.以卫星包括北斗卫星、gps卫星、伽利略(galileo)卫星和格洛纳斯(glonass)卫星为例,对象三维模型服务器根据从星历数据库获取的星历数据计算目标时刻下北斗卫星、
gps卫星、galileo卫星和glonass卫星的ecef坐标,如图7所示。对象三维模型服务器向cors服务器发送星历请求,利用cors服务器播发星历数据例如北斗卫星、gps卫星、galileo卫星和glonass卫星分别对应的星历参数表,cors服务器根据星历请求向对象三维模型服务器播发星历数据,对象三维模型服务器接收星历数据,并根据星历数据计算出目标时刻各个卫星的ecef坐标等参数。进而根据卫星的位置信息、网格单元的网格位置以及对象三维模型的模型数据计算每个网格单元的第二卫星可视化分布信息。其中,对象三维模型的模型数据可以包括对象三维模型的长、宽、高等,根据对象三维模型的长和宽可以确定出对象三维模型与网格单元的位置关系,例如对象三维模型位于哪些网格单元处,根据对象三维模型的高可以结合卫星的位置信息、网格单元的网格位置确定第二卫星可视化分布信息。
42.第二卫星可视化分布信息也可以采用矩阵表示,矩阵中的每个元素表示一个卫星对于网格单元是否可视。假设有m个网格单元,n颗卫星,则网格单元的第二卫星可视化分布信息如下所示:其中,表示网格单元i的第二卫星可视化分布信息,i=1、2、
……
、m,标识卫星j对于网格单元i是否可视,j=1、2、
……
、n。
43.由于网格单元是对网格区域按照一定的间隔划分的,间隔越小,每个网格单元的面积越小,在基于网格单元的网格位置确定目标位置时,目标位置越精确。当网格区域为道路网格中道路所在区域,则不同的网格单元可能位于一条道路的不同车道,这样根据网格单元的网格位置确定出的目标位置可以区分出终端位于一条道路的哪个车道,进而提高定位精度,辅助实现车道级定位导航。
44.s204、确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息的匹配度。
45.终端获取到第二卫星可视化分布信息后,可以确定第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度。第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度可以根据下式计算:其中,为第一卫星可视化分布信息与网格单元q的第二卫星可视化分布信息的匹配度,为向量a的模,此处a为,为第一卫星可视化分布信息,为网格单元q的第二卫星可视化分布信息。对上述m个网格单元进行上述计算,可得第一卫星可视化分布信息与所有网格单元的第二卫星可视化分布信息的匹配度,即:其中,为第一卫星可视化分布信息与网格单元q的第二卫星可视化分布信息之
间的匹配度,。
46.当网格单元较多时,为了降低计算量,提高匹配度的计算效率,在一种可能的实现方式中,确定匹配度的方式可以是基于第二卫星可视化分布信息构建多维空间树形数据结构(k

dimensional tree,kd

tree),然后按照最邻近查找算法,将第一卫星可视化分布信息与多维空间树形数据结构中的结点依次进行比较,得到第一卫星可视化分布信息与第二卫星可视化分布信息之间的匹配度。
47.s205、根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元。
48.第一卫星可视化分布信息与第二卫星可视化分布信息匹配度反映出网格单元的网格位置与终端真实位置的接近程度,匹配度越高,所对应的网格单元的网格位置与终端的真实位置越接近。从而根据该匹配度从网格区域的多个网格单元中选取与终端真实位置比较接近的目标网格单元,以便根据目标网格单元的网格位置,确定终端在目标时刻的目标位置。
49.本技术实施例提供多种确定目标网格单元的方式,由于匹配度越高,所对应的网格单元的网格位置与终端的真实位置越接近,故为了选取到能够反映终端真实位置的目标网格单元,可以选择匹配度比较大的网格单元或者匹配度最大的网格单元作为目标网格单元。因此,在一种可能的实现方式中,可以将多个网格单元中匹配度最大的网格单元确定为目标网格单元。或者,将多个网格单元中匹配度达到预设阈值的网格单元确定为目标网格单元,此时预设阈值可以设置的足够大,从而使得确定的目标网格单元的网格位置足够接近终端的真实位置。或者,按照匹配度从大到小的顺序对网格单元进行排序,选取排序在前n的网格单元作为目标网格单元,n为大于或等于1的整数。多数情况下,为了提高后续目标位置确定的准确性,n通常取1。
50.需要说明的是,根据目标网格单元确定方式的不同,以及匹配度的具体数值情况,确定出的目标网格单元可以包括一个网格单元,也可以包括多个网格单元,本实施例对此不做限定。
51.s206、根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置。
52.根据目标网格单元中包括网格单元的数量的不同,确定目标位置的方式也可能有所不同。若目标网格单元包括一个网格单元,则直接将目标网格单元的网格位置,作为目标位置。若目标网格单元包括多个网格单元,确定多个网格单元的网格位置的平均值,将该平均值作为目标位置。
53.例如目标网格单元包括l个网格单元,l个网格单元分别为,则目标位置的计算公式为:其中,为网格单元的网格位置,目标网格单元中包括的网格单元的数量。
54.参见图8所示,图8中黑色三角形表示终端的真实位置,带有斜条纹的白色三角形表示匹配度最大的网格单元,白色三角形表示确定得到的目标位置,可见该目标位置非常接近终端的真实位置,相对于相关技术,在弱卫星信号场景下,提高了终端的定位准确性。
55.由于本技术实施例提供的技术方案中,需要计算的是卫星可视化分布信息,并不需要根据卫星的卫星信号进行定位解算,因此,即使在卫星数量不满足定位解算需求时,例如卫星数量少于4颗时,也可以准确的进行终端的定位。
56.由上述技术方案可以看出,在某一时刻例如目标时刻需要对终端进行定位时,获取目标时刻下终端的卫星观测信息,基于卫星观测信息确定终端的第一卫星可视化分布信息。获取网格区域中每个网格单元的第二卫星可视化分布信息,网格区域是基于终端在目标时刻的概略位置生成的,进而确定第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度。第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度反映出网格单元的网格位置与终端真实位置的接近程度,匹配度越高,所对应的网格单元的网格位置与终端的真实位置越接近。从而根据该匹配度从网格区域的多个网格单元中选取与终端真实位置比较接近的目标网格单元,根据目标网格单元的网格位置,确定终端在目标时刻的目标位置。由于网格位置是准确的,目标网格单元的网格位置反映出终端的真实位置,故此时可以准确的定位终端的位置,从而在弱卫星信号场景下提高定位精度的准确性,进而提高定位可用性。
57.需要说明的是,本技术实施例提供的终端的定位方法可以应用于各种位置服务,例如电子地图。在电子地图场景下,终端还可以展示电子地图,该电子地图包括对象三维模型,该对象三维模型是根据模型数据生成的。这样,在得到目标位置后,可以根据目标位置,在电子地图上显示终端的定位标记。
58.例如图9所示,当用户打开电子地图应用时,可以展示电子地图,电子地图包括对象三维模型,对象三维模型例如图9中白色立体对象所示,其可以是高楼等建筑。并在打开电子地图时确定终端的目标位置,从而在电子地图上显示终端的定位标记,实现终端的定位。其中,定位标记例如图9中虚线框内的标记所示。这样,用户知晓自己当前所在位置。同时,也可以在需要进行路线查找、导航时,便于根据该目标位置完成对应的服务。
59.接下来,将对第二卫星可视化分布信息的确定方式进行详细介绍。在得到卫星的位置信息后,根据卫星的位置信息、每个网格单元的网格位置和对象三维模型的模型数据,确定每个网格单元的第二卫星可视化分布信息。该步骤的具体过程可以参见图10所示,包括:s1001、根据所述卫星的位置信息和所述每个网格单元的网格位置,分别确定所述卫星相对于所述每个网格单元的第一高度角和第一方位角。
60.若卫星的位置信息和网格单元的网格位置都可以用ecef坐标表示,假设网格单元i的ecef坐标为,卫星j的ecef坐标为,根据下式计算卫星j相对于网格单元i的高度角和方位角,即:
其中,为卫星j相对于网格单元i的高度角,为卫星j相对于网格单元i的方位角。
61.s1002、若网格单元i在卫星j相对于所述网格单元i的第一方位角处无对象遮挡,生成第一标识信息。
62.其中,第一标识信息标识卫星j对于网格单元i是可视的,网格单元i是所述网格区域中任一网格单元,卫星j是任一卫星。第一标识信息与第三标识信息或第四标识信息类似,可以采用数字、符号等表示。以第一标识信息是数字为例,这种情况下,第一标识信息可以是1。
63.s1003、若所述网格单元i在所述卫星j相对于所述网格单元i的第一方位角处存在目标对象遮挡,根据所述对象三维模型的模型数据计算所述卫星j相对于所述目标对象上目标位置点的第二高度角。
64.其中,目标位置点为目标对象的最高处边缘与第一方位角处射线的交点。根据对象三维模型的模型数据求出目标对象的最高处边缘与网格单元i在方位角处射线的交点k,k参见图11所示。该交点k作为目标位置点,假设k的坐标为,根据下式计算卫星j相对于交点k的高度角和方位角,即:其中,为卫星j相对于交点k的高度角,为卫星j相对于交点k的方位角,且。
65.s1004、根据所述第一高度角和所述第二高度角之间的大小关系,生成第二标识信息。
66.若第二高度角小于第一高度角,即当时,则卫星j对于网格单元i是可视的,确定标识卫星j对于网格单元i是可视的第二标识信息。若第二高度角大于或等于第一高度角,即时,则卫星j对于网格单元i是不可视的,确定标识卫星j对于网格单元i是不可视的第二标识信息。
67.其中,第二标识信息标识卫星j对于网格单元i是否可视。第二标识信息与第三标识信息或第四标识信息或第一标识信息类似,可以采用数字、符号等表示。以第二标识信息是数字为例,时,第二标识信息可以是1,时,第二标识信息可以是0。
68.s1005、分别根据每个卫星对于所述每个网格单元的第一标识信息或第二标识信息,生成所述第二卫星可视化分布信息。
69.对所有网格单元和卫星做上述处理,即可得每个网格单元的第二卫星可视化分布信息。假设有m个网格单元,n颗卫星,则第二卫星可视化分布信息如下所示:其中,为卫星p相对于网格单元q的高度角,为卫星p相对于目标位置点k的高度角。为卫星p对于网格单元q是否可视的第一标识信息或第二标识信息。
70.参见图11所示,基于上述确定方法得到每个网格单元的第二卫星可视化分布信息,最终确定图11中2和3所标识的区域为可视区域,即该区域内卫星对于网格单元是可视的;1和4所标识的区域为不可视区域,即该区域内卫星对于网格单元是不可视的。
71.下面将结合实际应用场景对本技术实施例提供的终端的定位方法进行介绍。在该场景中用户可以对电子地图应用执行触发操作,从而打开电子地图应用。在打开电子地图应用时,可以展示电子地图,该电子地图上包括对象三维模型,例如城市三维模型,其中包括建筑物和道路网络。在此过程中可以对用户的终端进行定位,以在电子地图上展示终端的定位标记,标识出用户当前所在位置。
72.终端的定位方法可以参见图12所示,终端通过4g或wifi网络发送星历请求至cors服务器,终端获取cors服务器播发的星历数据(参见图12中的s1201所示)。终端获取概略位置(图12中的s1202所示),并将概略位置发送至对象三维模型服务器,对象三维模型服务器以终端的概略位置为中心构建网格区域(参见图12中的s1203所示),根据网格单元的网格位置、星历数据以及对象三维模型的模型数据计算网格单元的第二卫星可视化分布信息(参见图12中的s1204所示),并发送至终端。终端计算终端的第一卫星可视化分布信息(参见图12中的s1205所示),计算第一卫星可视化分布信息与第二卫星可视化分布信息的匹配度(参见图12中的s1206所示),选取匹配度最大的网格单元作为目标网格单元(参见图12中的s1207所示),根据目标网格单元的网格位置确定终端的目标位置(参见图12中的s1208所示)。
73.基于图2对应实施例提供的终端的定位方法,本技术实施例还提供一种终端的定位装置1300,参见图13,所述装置1300包括获取单元1301、确定单元1302和选取单元1303:
所述获取单元1301,用于获取目标时刻下终端的卫星观测信息;所述确定单元1302,用于基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息;所述获取单元1301,还用于获取网格区域中每个网格单元的第二卫星可视化分布信息,所述网格区域是基于所述终端在所述目标时刻的概略位置生成的;所述确定单元1302,还用于确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息匹配度;所述选取单元1303,用于根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元;所述确定单元1302,还用于根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置。
74.在一种可能的实现方式中,所述获单元1301,用于:获取卫星的星历数据;根据所述星历数据确定所述卫星的位置信息;根据所述卫星的位置信息、所述每个网格单元的网格位置和对象三维模型的模型数据,分别确定所述每个网格单元的第二卫星可视化分布信息。
75.在一种可能的实现方式中,所述获单元1301,具体用于:根据所述卫星的位置信息和所述每个网格单元的网格位置,分别确定所述卫星相对于所述每个网格单元的第一高度角和第一方位角;若网格单元i在卫星j相对于所述网格单元i的第一方位角处无对象遮挡,生成第一标识信息,所述第一标识信息标识所述卫星j对于所述网格单元i是可视的,所述网格单元i是所述网格区域中任一网格单元,所述卫星j是任一卫星;若所述网格单元i在所述卫星j相对于所述网格单元i的第一方位角处存在目标对象遮挡,根据所述对象三维模型的模型数据计算所述卫星j相对于所述目标对象上目标位置点的第二高度角,所述目标位置点为所述目标对象的最高处边缘与所述第一方位角处射线的交点;根据所述第一高度角和所述第二高度角之间的大小关系,生成第二标识信息,所述第二标识信息标识所述卫星j对于所述网格单元i是否可视;分别根据每个卫星对于所述每个网格单元的第一标识信息或第二标识信息,生成所述第二卫星可视化分布信息。
76.在一种可能的实现方式中,所述获单元1301,具体用于:若所述第二高度角小于所述第一高度角,确定标识所述卫星j对于所述网格单元i是可视的第二标识信息;若所述第二高度角大于或等于所述第一高度角,确定标识所述卫星j对于所述网格单元i是不可视的第二标识信息。
77.在一种可能的实现方式中,所述确定单元1302,用于:若所述卫星观测信息体现所述终端接收到卫星的卫星信号,生成第三标识信息,所述第三标识信息标识所述卫星对于所述终端是可视的;若所述卫星观测信息体现所述终端接收到卫星的卫星信号,生成第四标识信息,
所述第四标识信息标识所述卫星对于所述终端是不可视的;根据卫星对应的所述第三标识信息或第四标识信息生成所述第一卫星可视化分布信息。
78.在一种可能的实现方式中,所述确定单元1302,用于:基于所述第二卫星可视化分布信息构建多维空间树形数据结构;按照最邻近查找算法,将所述第一卫星可视化分布信息与所述多维空间树形数据结构中的结点依次进行比较,得到所述第一卫星可视化分布信息与所述第二卫星可视化分布信息之间的匹配度。
79.在一种可能的实现方式中,所述确定单元1302,用于:若所述目标网格单元包括一个网格单元,将所述目标网格单元的网格位置,作为所述目标位置。
80.在一种可能的实现方式中,所述确定单元1302,用于:若所述目标网格单元包括多个网格单元,确定所述多个网格单元的网格位置的平均值;将所述平均值作为所述目标位置。
81.在一种可能的实现方式中,所述选取单元1303,用于:将所述多个网格单元中所述匹配度最大的网格单元确定为所述目标网格单元;或者,将所述多个网格单元中所述匹配度达到预设阈值的网格单元确定为所述目标网格单元;或者,按照所述匹配度从大到小的顺序对所述网格单元进行排序;选取排序在前n的网格单元作为所述目标网格单元,所述n为大于或等于1的整数。
82.在一种可能的实现方式中,所述装置还包括展示单元:所述展示单元,用于展示电子地图,所述电子地图包括所述对象三维模型;所述展示单元,还用于在所述根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置后,根据所述目标位置,在所述电子地图上显示所述终端的定位标记。
83.在一种可能的实现方式中,所述获取单元1301,还用于:获取卫星的星历数据;所述确定单元1302,具体用于:根据所述星历数据确定所述卫星的状态信息;根据所述状态信息对所述卫星观测信息进行剔除处理;基于剔除处理后的卫星观测信息确定所述终端的第一卫星可视化分布信息。
84.本技术实施例还提供了一种终端的定位设备,该设备可以是终端,以终端为智能手机为例:图14示出的是与本技术实施例提供的终端相关的智能手机的部分结构的框图。参考图14,智能手机包括:射频(英文全称:radio frequency,英文缩写:rf)电路1410、存储器1420、输入单元1430、显示单元1440、传感器1450、音频电路1460、无线保真(英文全称:wireless fidelity,英文缩写:wifi)模块1470、处理器1480、以及电源1490等部件。输入单元1430可包括触控面板1431以及其他输入设备1432,显示单元1440可包括显示面板1441,
音频电路1460可以包括扬声器1461和传声器1462。本领域技术人员可以理解,图14中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
85.存储器1420可用于存储软件程序以及模块,处理器1480通过运行存储在存储器1420的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器1420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
86.处理器1480是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1420内的软件程序和/或模块,以及调用存储在存储器1420内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器1480可包括一个或多个处理单元;优选的,处理器1480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1480中。
87.在本实施例中,所述终端中的处理器1480可以执行以下步骤::获取目标时刻下终端的卫星观测信息;基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息;获取网格区域中每个网格单元的第二卫星可视化分布信息,所述网格区域是基于所述终端在所述目标时刻的概略位置生成的;确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息的匹配度;根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元;根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置。
88.该设备还可以包括服务器,请参见图15所示,图15为本技术实施例提供的服务器1500的结构图,服务器1500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,简称cpu)1522(例如,一个或一个以上处理器)和存储器1532,一个或一个以上存储应用程序1542或数据1544的存储介质1530(例如一个或一个以上海量存储设备)。其中,存储器1532和存储介质1530可以是短暂存储或持久存储。存储在存储介质1530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1522可以设置为与存储介质1530通信,在服务器1500上执行存储介质1530中的一系列指令操作。
89.服务器1500还可以包括一个或一个以上电源1526,一个或一个以上有线或无线网络接口1550,一个或一个以上输入输出接口1558,和/或,一个或一个以上操作系统1541,例如windows servertm,mac os xtm,unixtm, linuxtm,freebsdtm等等。
90.在本实施例中,所述服务器1500中的中央处理器1522可以执行以下步骤:获取目标时刻下终端的卫星观测信息;基于所述卫星观测信息确定所述终端的第一卫星可视化分布信息;
获取网格区域中每个网格单元的第二卫星可视化分布信息,所述网格区域是基于所述终端在所述目标时刻的概略位置生成的;确定所述第一卫星可视化分布信息与所述第二卫星可视化分布信息的匹配度;根据所述匹配度从所述网格区域的多个网格单元中选取目标网格单元;根据所述目标网格单元的网格位置,确定所述终端在所述目标时刻的目标位置。
91.根据本技术的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述各个实施例所述的终端的定位方法。
92.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例各种可选实现方式中提供的方法。
93.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
94.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
95.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
96.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
97.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
98.以上所述,以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术成员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1