发明内容
本发明实施例提供了一种地物相对位置确定方法及装置,以至少解决相关技术中地物相对位置确定效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种地物相对位置确定方法,包括:确定第一地物和第二地物,其中,所述第一地物表示待确定位置的地物,所述第二地物表示所述第一地物的参照物;对所述第一地物和所述第二地物进行地理剖分,得到剖分结果;根据所述剖分结果确定所述第一地物对应的第一网格集和所述第二地物对应的第二网格集,其中,所述第一网格集和所述第二网格集均包括一个或多个GeoSOT网格;根据所述第一网格集和所述第二网格集确定所述第一地物的相对位置,其中,所述相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
可选地,根据所述第一网格集和所述第二网格集确定所述第一地物的相对位置包括:分别确定所述第一网格集的第一经纬度和所述第二网格集的第二经纬度;根据所述第一经纬度与所述第二经纬度之间的关系确定所述第一地物的相对位置。
可选地,根据所述第一经纬度与所述第二经纬度之间的关系确定所述第一地物的相对位置包括:确定所述第一经纬度与所述第二经纬度之间的差值小于预定阈值;确定所述第一网格集与所述第二网格集在经向上相差的第一网格数量;确定所述第一网格集与所述第二网格集在纬向上相差的第二网格数量;根据所述第一网格数量和所述第二网格数量确定所述第一地物的相对距离,以确定所述第一地物的相对位置。
可选地,根据所述第一经纬度与所述第二经纬度之间的关系确定所述第一地物的相对位置包括:判断所述第一经纬度与所述第二经纬度的经度是否相同;若所述第一经纬度与所述第二经纬度的经度相同,判断所述第一经纬度与所述第二经纬度的纬度是否相同;若所述第一经纬度与所述第二经纬度的纬度不相同,判断所述第一经纬度对应的第一网格集的纬度是否大于所述第二经纬度对应的第二网格集的纬度;在所述第一网格集的纬度大于所述第二网格集的纬度的情况下,确定所述第一地物的相对方位角为π;在所述第一网格集的纬度不大于所述第二网格集的纬度的情况下,确定所述第一地物的相对方位角为0。
可选地,根据所述第一经纬度与所述第二经纬度之间的关系确定所述第一地物的相对位置包括:判断所述第一经纬度与所述第二经纬度的纬度是否相同;若所述第一经纬度与所述第二经纬度的纬度相同,判断所述第一经纬度与所述第二经纬度的经度是否相同;若所述第一经纬度与所述第二经纬度的经度不相同,判断所述第一网格集的经度是否大于所述第二网格集的经度;若所述第一网格集的经度大于所述第二网格集的经度,判断所述第一网格集的经度与所述第二网格集的经度的经度差是否大于π;若所述经度差大于π,确定所述第一地物的相对方位角为若所述经度差不大于π,确定所述第一地物的相对方位角为
可选地,根据所述第一网格集和所述第二网格集确定所述第一地物的相对位置包括:确定所述第一网格集的编码和层级;确定所述第二网格集的编码和层级;根据所述第一网格集的编码和层级,以及所述第二网格集的编码和层级确定所述第一地物的拓扑关系,以确定所述第一地物的相对位置。
根据本发明实施例的另外一个方面,还提供了一种地物相对位置确定装置,包括:第一确定单元,用于确定第一地物和第二地物,其中,所述第一地物表示待确定位置的地物,所述第二地物表示所述第一地物的参照物;获取单元,用于对所述第一地物和所述第二地物进行地理剖分,得到剖分结果;第二确定单元,用于根据所述剖分结果确定所述第一地物对应的第一网格集和所述第二地物对应的第二网格集,其中,所述第一网格集和所述第二网格集均包括一个或多个GeoSOT网格;第三确定单元,用于根据所述第一网格集和所述第二网格集确定所述第一地物的相对位置,其中,所述相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
可选地,所述第三确定单元包括:第一确定子单元,用于分别确定所述第一网格集的第一经纬度和所述第二网格集的第二经纬度;第二确定子单元,用于根据所述第一经纬度与所述第二经纬度之间的关系确定所述第一地物的相对位置。
可选地,所述第二确定子单元包括:第一确定模块,用于确定所述第一经纬度与所述第二经纬度之间的差值小于预定阈值;第二确定模块,用于确定所述第一网格集与所述第二网格集在经向上相差的第一网格数量;第三确定模块,用于确定所述第一网格集与所述第二网格集在纬向上相差的第二网格数量;第四确定模块,用于根据所述第一网格数量和所述第二网格数量确定所述第一地物的相对距离,以确定所述第一地物的相对位置。
可选地,所述第二确定子单元包括:第一判断模块,用于判断所述第一经纬度与所述第二经纬度的经度是否相同;第二判断模块,用于在所述第一经纬度与所述第二经纬度的经度相同的情况下,判断所述第一经纬度与所述第二经纬度的纬度是否相同;第三判断模块,用于在所述第一经纬度与所述第二经纬度的纬度不相同的情况下,判断所述第一经纬度对应的第一网格集的纬度是否大于所述第二经纬度对应的第二网格集的纬度;第五确定模块,用于在所述第一网格集的纬度大于所述第二网格集的纬度的情况下,确定所述第一地物的相对方位角为π;第六确定模块,用于在所述第一网格集的纬度不大于所述第二网格集的纬度的情况下,确定所述第一地物的相对方位角为0。
可选地,所述第二确定子单元包括:第四判断模块,用于在判断所述第一经纬度与所述第二经纬度的纬度是否相同;第五判断模块,用于在所述第一经纬度与所述第二经纬度的纬度相同的情况下,判断所述第一经纬度与所述第二经纬度的经度是否相同;第六判断模块,用于在所述第一经纬度与所述第二经纬度的经度不相同的情况下,判断所述第一网格集的经度是否大于所述第二网格集的经度;第七判断模块,用于在所述第一网格集的经度大于所述第二网格集的经度的情况下,判断所述第一网格集的经度与所述第二网格集的经度的经度差是否大于π;第七确定模块,用于在所述经度差大于π的情况下,确定所述第一地物的相对方位角为第八确定模块,用于在所述经度差不大于π的情况下,确定所述第一地物的相对方位角为
可选地,所述第三确定单元包括:第三确定子单元,用于确定所述第一网格集的编码和层级;第四确定子单元,用于确定所述第二网格集的编码和层级;第五确定子单元,用于根据所述第一网格集的编码和层级,以及所述第二网格集的编码和层级确定所述第一地物的拓扑关系,以确定所述第一地物的相对位置。
根据本发明实施例的另外一个方面,还提供了一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行上述中任意一项所述的地物相对位置确定方法。
根据本发明实施例的另外一个方面,还提供了一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的地物相对位置确定方法。
在本发明实施例中,确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物;对第一地物和第二地物进行地理剖分,得到剖分结果;根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格;根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。通过本发明实施例提供的地物相对位置确定方法可以实现空间计算的过程不再是复杂的涉及三角函数、对数运算等浮点坐标运算,而是转化为整形编码的加减运算,尤其在大规模复杂地物计算时,可以使得计算过程更加简单而直观的目的,同时也为导航应用数据提供统一管理与计算体系,进而解决了相关技术中地物相对位置确定效率较低的技术问题。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,下面对本发明实施例中出现的部分名词或者属于进行详细说明:
地物:是指地面上各种有形物(如山川、森林、建筑物等)和无形物(如省、县界等)的总称。
基于2n及整型一维数组的全球经纬度剖分网格(Geographical coordinatesSubdividing grid with One dimension integralcoding on 2n-Tree,简称GeoSOT):是指通过地球表面经纬度范围空间经过3次扩展后再对其进行严格的递归四叉剖分,由此将整个地球分割为大到全球,小到厘米级的整度、整分、整秒和秒以下的层次网格体系。
本发明实施例提供的地物相对位置确定方法是以GeoSOT网格剖分方案为基础,依次设计GeoSOT网格编码方案和GeoSOT网格聚合方法。首先,将地球表面空间按照GeoSOT网格剖分方案进行剖分,GeoSOT网格剖分方案基于经纬度坐标空间定义。经纬度坐标空间的原点为本初子午线与赤道的交点。剖分方法的要点有二:其一,是采用全四叉树递归剖分;其二,是网格编码保持整数“度、分、秒”量纲。为此,我们将经纬度坐标空间做了三次扩展:将180°×360°空间扩展到512°×512°;将每度的60′空间扩展到64′;将每分的60″空间扩展到64″。在逐级递归剖分过程中,当遇到没有实际地理意义的区域,不再向下剖分。然后,对于经剖分所得到的GeoSOT网格面片赋予唯一编码:GeoSOT网格编码分为三段:度级、分级、秒级及秒以下网格编码。当可以利用编码长度来隐含网格层级时,编码越长表明网格越细;当无法利用编码长度来隐含网格层级时,需要额外的网格层级编码。GeoSOT网格编码有四种形式:四进制1维编码、二进制1维编码、二进制2维编码、十进制2维编码。再次,3,利用有限几种GeoSOT网格作为基础元组,聚合形成任意指定一种地理网格,并自动赋予聚合网格以全球唯一编码:用于聚合的GeoSOT网格,称为BAC网格(Basic Aggregation Cells,基础聚合网格)其中4°、2°、1°、2′、1′、2″、1″、0.5″网格,分别命名为BAC0、BAC1、BAC2、…、BAC7,作为聚合基础网格,利用BAC网格可以方便地聚合出任何现有基于经纬度的地理网格。
根据本发明实施例,提供了一种地物相对位置确定方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的地物相对位置确定方法的流程图,如图1所示,该地物相对位置确定方法包括如下步骤:
步骤S102,确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物。
步骤S104,对第一地物和第二地物进行地理剖分,得到剖分结果。
其中,地物(包括上下文中出现的第一地物和第二地物)根据其不同的形态可以不同的方式表示出来。在对精确度要求较高的情况下,地物可以以不同尺度的网格集来表示即可。不过,很多房屋建筑物等可以以单个网格(也即是上下文中GeoSOT网格)进行表示,这样相对位置的计算可以考虑几个网格的位置即可。另外,在不规则地物或线状地物(例如,河流和道路)的情况下,可以考虑以某些几何规则选择地物上的特定网格来代表地物进行相对位置计算。
步骤S106,根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格。
步骤S108,根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
通过上述步骤,可以确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物;对第一地物和第二地物进行地理剖分,得到剖分结果;根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格;根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。相对于相关技术中以坐标为基础的距离、方位计算公式相对复杂,尤其在涉及大规模复杂地物时计算时间会随着地物复杂度增长较快,同时矢量地物的空间拓扑判断过程运算量大,会涉及较大数据量的坐标运算,判断过程复杂。通过本发明实施例提供的地物相对位置确定方法可以实现空间计算的过程不再是复杂的涉及三角函数、对数运算等浮点坐标运算,而是转化为整形编码的加减运算,尤其在大规模复杂地物计算时,可以达到计算过程更加简单而直观的效果,同时也为导航应用数据提供统一管理与计算体系,进而解决了相关技术中地物相对位置确定效率较低的技术问题。
作为本发明一个可选的实施例,根据第一网格集和第二网格集确定第一地物的相对位置可以包括:分别确定第一网格集的第一经纬度和第二网格集的第二经纬度;根据第一经纬度与第二经纬度之间的关系确定第一地物的相对位置。其中,这里的经纬度包括经度和纬度,第二经纬度也包括经度和纬度。
可选地,根据第一经纬度与第二经纬度之间的关系确定第一地物的相对位置包括:确定第一经纬度与第二经纬度之间的差值小于预定阈值;确定第一网格集与第二网格集在经向上相差的第一网格数量;确定第一网格集与第二网格集在纬向上相差的第二网格数量;根据第一网格数量和第二网格数量确定第一地物的相对距离,以确定第一地物的相对位置。其中,图2是根据本发明实施例的地物相对位置确定方法的优选流程图,如图2所示,在确定第一地物和第二地物之后,需要对第一地物对应的第一网格集,以及第二地物对应的第二网格集进行编码,得到第一网格集的编码1以及第二网格集的编码2,再计算第一网格集合第二网格集在经向和纬向上分别相差的第32层级网格,得到第一网格数量和第二网格数量,将第一网格数量和第二网格数量作为参数代入到曼哈顿距离中;然后,计算径向和纬向上分别相差的第10层级以及第16层级的网格;在层级大于13的情况下,确定层级是否不大于19,在判断结果为是的情况下,在曼哈顿距离中扣除比4’级别的伪网格;在判断结果为层级大于19的情况下,在曼哈顿距离中扣除比4”级别的伪网格。
另外,上述第一地物和第二地物的相对方位角可以通过方位词来粗略表示,也可以通过方位角精确表示。下面以通过方位角为例进行详细说明。根据第一经纬度与第二经纬度之间的关系确定第一地物的相对位置可以包括:判断第一经纬度与第二经纬度的经度是否相同;若第一经纬度与第二经纬度的经度相同,判断第一经纬度与第二经纬度的纬度是否相同;若第一经纬度与第二经纬度的纬度不相同,判断第一经纬度对应的第一网格集的纬度是否大于第二经纬度对应的第二网格集的纬度;在第一网格集的纬度大于第二网格集的纬度的情况下,确定第一地物的相对方位角为π;在第一网格集的纬度不大于第二网格集的纬度的情况下,确定第一地物的相对方位角为0。
可选地,根据第一经纬度与第二经纬度之间的关系确定第一地物的相对位置包括:判断第一经纬度与第二经纬度的纬度是否相同;若第一经纬度与第二经纬度的纬度相同,判断第一经纬度与第二经纬度的经度是否相同;若第一经纬度与第二经纬度的经度不相同,判断第一网格集的经度是否大于第二网格集的经度;若第一网格集的经度大于第二网格集的经度,判断第一网格集的经度与第二网格集的经度的经度差是否大于π;若经度差大于π,确定第一地物的相对方位角为若经度差不大于π,确定第一地物的相对方位角为
下面结合附图对上述实施例进行详细说明。
图3是根据本发明实施例的地物相对位置确定方法的另一优选流程图,如图3所示,包括:
步骤S301,确定第一地物以及第二地物。
步骤S302,对第一地物对应的第一网格集进行编码得到网格编码1,对第二地物对应的第二网格集进行编码得到网格编码2。
步骤S303,判断上述第一网格集和第二网格集是否处于同一经度、不同纬度;若是,执行步骤S304;若否,执行步骤S307。
步骤S304,判断第一网格集的纬度是否大于第二网格集的纬度;若是,执行步骤S305;若否,执行步骤S306。
步骤S305,确定第一地物的相对方位角为π。
步骤S306,确定第一地物的相对方位角为0。
步骤S307,判断上述第一网格集和第二网格集是否处于同一纬度、不同经度;若是,执行步骤S308;若否,执行步骤S315。
步骤S308,判断上述第一网格集的经度是否大于上述第二网格集的经度;若是,执行步骤S309,若否,执行步骤S312。
步骤S309,判断上述第一网格集的经度与上述第二网格集的经度的经度差是否大于180°;若是,执行步骤S310;若否,执行步骤S311;
步骤S310,确定第一地物的相对方位角为
步骤S311,确定第一地物的相对方位角为
步骤S312,判断判断上述第一网格集的经度与上述第二网格集的经度的经度差是否小于-180°;若是,执行步骤S313;若否,执行步骤S314。
步骤S313,确定第一地物的相对方位角为
步骤S314,确定第一地物的相对方位角为
步骤S315,判断第一网格集对应的第一面片的经度与第二网格集对应的第二面片的经度的经度差是否为±180°;若是,执行步骤S316;若否,结束。
步骤S316,判断上述第一面片的纬度与上述第二面片的纬度的纬度和是否为0;若是,执行步骤S317;若否,执行步骤S318。
步骤S317,确定第一地物的相对方位角为0。
步骤S318,确定第一地物的相对方位角为π。
作为本发明一个可选的实施例,根据第一网格集和第二网格集确定第一地物的相对位置可以包括:确定第一网格集的编码和层级;确定第二网格集的编码和层级;根据第一网格集的编码和层级,以及第二网格集的编码和层级确定第一地物的拓扑关系,以确定第一地物的相对位置。其中,地物的拓扑关系比较复杂,常见有相交、相等、包含/被包含、相邻、相等等。下面结合附图对本发明上述实施例进行详细说明。
图4是根据本发明实施例的地物相对位置确定方法的又一优选流程图,如图4所示,包括:
步骤S401,确定第一地物以及第二地物;
步骤S402,对第一地物对应的第一网格集进行编码得到网格编码1,对第二地物对应的第二网格集进行编码得到网格编码2。
步骤S403,将上述网格编码1和网格编码2统一为两个中较小的层级,网格编码1对应的层级较小,网格编码2对应的层级较大。
步骤S404,计算网格编码1和网格编码2对应的行列号,其中,纬向标记为flagB,经向标记为flagL。
步骤S405,判断上述网格编码1的列号比网格编码2的列号小1;若是,执行步骤S406;若否,执行步骤S407。
步骤S406,将网格编码1的列号加1,转换为GeoSOT编码后与网格编码2经向编码相同,则flagB记为1。
步骤S407,判断上述网格编码1的列号比网格编码2的列号大1;若是,执行步骤S408;若否,执行步骤S409。
步骤S408,网格编码1转换为网格编码2所在层级对应的编码,并纬向减一个网格后与网格编码2经向编码相同,则flagB记为-1。
步骤S409,判断网格编码1与网格编码2对应的列号是否相同;若是,执行步骤S410。
步骤S410,flagB记为0。
步骤S411,判断上述网格编码1的列号比网格编码2的行号小1;执行步骤S412;若否,执行步骤S413。
步骤S412,将网格编码1的行号加1,转换为GeoSOT编码后与网格编码2纬向编码相同,则flagB记为1。
步骤S413,判断上述网格编码1的行号比网格编码2的行号大1;若是,执行步骤S414;若否,执行步骤S415。
步骤S414,网格编码1转换为网格编码2所在层级对应的编码,并经向减一个网格后与网格编码2纬向编码相同,则flagB记为-1。
步骤S415,判断网格编码1与网格编码2对应的行号是否相同;若是,执行步骤S416。
步骤S416,flagB记为0。
步骤S417,判读|flagB|+|flagL|的值是否为2;若是,执行步骤S418;若否,执行步骤S419。
步骤S418,确定第一地物的拓扑关系为角相邻。
步骤S419,判断|flagB|+|flagL|的值是否为1;若否,执行步骤S420。
步骤S420,确定第一地物的拓扑关系为边相邻。
图5是根据本发明实施例的可选的地物相对位置确定方法的流程图,如图5所示,包括:
步骤S501,确定第一地物以及第二地物;
步骤S502,确定第一地物对应的第一网格集的网格编码1以及层级L1;确定对第二地物对应的第二网格集的网格编码2以及层级L2。
步骤S503,判断层级L1是否等于层级L2;若是,执行步骤S504;若否,执行步骤S506。
步骤S504,判断第一网格集的经纬编码与第二网格集的经纬编码是否均相同;若是,执行步骤S505;若否,执行步骤S511。
步骤S505,确定第一地物的拓扑关系为重合。
步骤S506,判断层级L1是否小于层级L2;若是,执行步骤S507;若否,执行步骤S509。
步骤S507,判断将网格编码1和网格编码纬度2右移(32-L1)位后得到的结果与网格编码1和网格编码2经度右移(32-L1)位后的得到的结果是否相同;若是,执行步骤S508;若否,执行步骤S509。
步骤S508,确定第一地物的拓扑关系为第一地物包含第二地物。
步骤S509,判断将网格编码1和网格编码纬度2右移(32-L2)位后得到的结果与网格编码1和网格编码2经度右移(32-L2)位后的得到的结果是否相同;若是,执行步骤S510;若否,执行步骤S511。
步骤S510,确定第一地物的拓扑关系为第二地物包含第一地物。
步骤S511,确定第一地物的拓扑关系为第一地物与第二地物相离。
根据本发明实施例的另外一个方面,还提供了一种地物相对位置确定装置,图6是根据本发明实施例的地物相对位置确定装置的示意图,如图6所示,该地物相对位置确定装置包括:第一确定单元61,获取单元63,第二确定单元65以及第三确定单元67。下面对该地物相对位置确定装置进行详细说明。
第一确定单元61,用于确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物。
获取单元63,与上述第一确定单元61,用于对第一地物和第二地物进行地理剖分,得到剖分结果。
第二确定单元65,与上述获取单元63连接,用于根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格。
第三确定单元67,与上述第二确定单元65连接,用于根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
在上述实施例中,可以利用第一确定单元,用于确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物;获取单元,用于对第一地物和第二地物进行地理剖分,得到剖分结果;第二确定单元,用于根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格;第三确定单元,用于根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。通过本发明实施例提供的地物相对位置确定装置可以实现空间计算的过程不再是复杂的涉及三角函数、对数运算等浮点坐标运算,而是转化为整形编码的加减运算,尤其在大规模复杂地物计算时,可以使得计算过程更加简单而直观的目的,同时也为导航应用数据提供统一管理与计算体系,进而解决了相关技术中地物相对位置确定效率较低的技术问题。
在本发明一个可选的实施例中,第三确定单元包括:第一确定子单元,用于分别确定第一网格集的第一经纬度和第二网格集的第二经纬度;第二确定子单元,用于根据第一经纬度与第二经纬度之间的关系确定第一地物的相对位置。
在本发明一个可选的实施例中,第二确定子单元包括:第一确定模块,用于确定第一经纬度与第二经纬度之间的差值小于预定阈值;第二确定模块,用于确定第一网格集与第二网格集在经向上相差的第一网格数量;第三确定模块,用于确定第一网格集与第二网格集在纬向上相差的第二网格数量;第四确定模块,用于根据第一网格数量和第二网格数量确定第一地物的相对距离,以确定第一地物的相对位置。
在本发明一个可选的实施例中,第二确定子单元包括:第一判断模块,用于判断第一经纬度与第二经纬度的经度是否相同;第二判断模块,用于在第一经纬度与第二经纬度的经度相同的情况下,判断第一经纬度与第二经纬度的纬度是否相同;第三判断模块,用于在第一经纬度与第二经纬度的纬度不相同的情况下,判断第一经纬度对应的第一网格集的纬度是否大于第二经纬度对应的第二网格集的纬度;第五确定模块,用于在第一网格集的纬度大于第二网格集的纬度的情况下,确定第一地物的相对方位角为π;第六确定模块,用于在第一网格集的纬度不大于第二网格集的纬度的情况下,确定第一地物的相对方位角为0。
在本发明一个可选的实施例中,第二确定子单元包括:第四判断模块,用于在判断第一经纬度与第二经纬度的纬度是否相同;第五判断模块,用于在第一经纬度与第二经纬度的纬度相同的情况下,判断第一经纬度与第二经纬度的经度是否相同;第六判断模块,用于在第一经纬度与第二经纬度的经度不相同的情况下,判断第一网格集的经度是否大于第二网格集的经度;第七判断模块,用于在第一网格集的经度大于第二网格集的经度的情况下,判断第一网格集的经度与第二网格集的经度的经度差是否大于π;第七确定模块,用于在经度差大于π的情况下,确定第一地物的相对方位角为第八确定模块,用于在经度差不大于π的情况下,确定第一地物的相对方位角为
在本发明一个可选的实施例中,第三确定单元包括:第三确定子单元,用于确定第一网格集的编码和层级;第四确定子单元,用于确定第二网格集的编码和层级;第五确定子单元,用于根据第一网格集的编码和层级,以及第二网格集的编码和层级确定第一地物的拓扑关系,以确定第一地物的相对位置。
上述地物相对位置确定装置还可以包括处理器和存储器,上述第一确定单元61,获取单元63,第二确定单元65以及第三确定单元67等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据第一网格集和第二网格集确定第一地物的相对位置。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
根据本发明实施例的另外一个方面,还提供了一种存储介质,其特征在于,存储介质包括存储的程序,其中,程序执行上述中任意一项的地物相对位置确定方法。
根据本发明实施例的另外一个方面,还提供了一种处理器,其特征在于,处理器用于运行程序,其中,程序运行时执行上述中任意一项的地物相对位置确定方法。
在本发明实施例中还提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可以在处理器上运行的程序,处理器执行程序时实现以下步骤:确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物;对第一地物和第二地物进行地理剖分,得到剖分结果;根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格;根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
本发明实施例中还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:获取预定区域的环境参数,以及预定区域内的人员的身体参数;确定第一地物和第二地物,其中,第一地物表示待确定位置的地物,第二地物表示第一地物的参照物;对第一地物和第二地物进行地理剖分,得到剖分结果;根据剖分结果确定第一地物对应的第一网格集和第二地物对应的第二网格集,其中,第一网格集和第二网格集均包括一个或多个GeoSOT网格;根据第一网格集和第二网格集确定第一地物的相对位置,其中,相对位置包括以下至少之一:相对距离、相对方位角以及拓扑关系。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。