多面体地球仪定位方法和装置、多面体地球仪和存储介质与流程

文档序号:22031496发布日期:2020-08-28 17:19阅读:219来源:国知局
多面体地球仪定位方法和装置、多面体地球仪和存储介质与流程

本申请涉及地球信息技术技术领域,尤其涉及一种关注地球上感兴趣区域的多面体地球仪定位方法、多面体地球仪定位方法装置、多面体地球仪和计算机可读存储介质。



背景技术:

人们对地球上要素的表达与绘制的探索由来已久。通过将地球上的地物分布按照一定比例缩小,制作成球形的地球仪,可以无缝、无形变地展示全球的地理要素。由于球形既不可以展开,也不可以折叠,导致地球仪不便于携带。为了便于携带,可以借助地图投影将全球的地理要素映射到平面上并印刷成图,制作成世界地图。虽然地图易于携带,但是这种映射带来的形变较大,会导致不同区域之间的比例极为不和谐。

目前解决上述问题比较可行的方法是以正多面体来代替球形的地球仪,将地球要素分块投影到多面体的各个面上,制作成多面体地球仪,既可以展开成多面体地图,满足便于携带的要求,又可以保证地图的变形较小。其中,多面体与地球的相对位置关系,也称为多面体在地球上的定位,将直接影响地球要素在多面体各个面上的分布。在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,对于重点关注的地球上感兴趣区域,通常希望尽可能保证位于多面体的一个面内,以避免由于区域跨面造成的视觉断裂,降低用户体验。



技术实现要素:

本申请实施例的目的是提供一种多面体地球仪定位方法、多面体地球仪定位方法装置、多面体地球仪和计算机可读存储介质,可以使重点关注的地球上感兴趣区域位于多面体地球仪的一个面内,并位于该面的中心,提升用户体验。

为了解决上述技术问题,本申请实施例是这样实现的:

第一方面,本申请实施例提供了一种多面体地球仪定位方法,包括:

根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖所述感兴趣区域的最小凸多边形;

根据所述凸多边形在所述参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使所述凸多边形位于所述目标单元面内,并位于所述目标单元面的中心;

在所述凸多边形位于所述目标单元面内,并位于所述目标单元面的中心时,根据所述目标单元面在所述参考球体上的位置,确定所述多面体地球仪的定位参数。

第二方面,本申请实施例提供了一种多面体地球仪定位装置,包括:

转换模块,用于根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖所述感兴趣区域的最小凸多边形;

处理模块,用于根据所述凸多边形在所述参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使所述凸多边形位于所述目标单元面内,并位于所述目标单元面的中心;

计算模块,用于在所述凸多边形位于所述目标单元面内,并位于所述目标单元面的中心时,根据所述目标单元面在所述参考球体上的位置,确定所述多面体地球仪的定位参数。

第三方面,本申请实施例提供了一种根据第一方面所述的多面体地球仪的定位方法定位制作的多面体地球仪。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的多面体地球仪定位方法。

本申请实施例提供的多面体地球仪定位方法、多面体地球仪定位方法装置、多面体地球仪和计算机可读存储介质,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例的多面体地球仪定位方法的一种实现方式的流程示意图;

图2为本申请实施例在参考球体上确定覆盖感兴趣区域的最小凸多边形的一种实现方式的流程示意图;

图3为本申请实施例从感兴趣区域在参考球体的边界上选取边界点构造最小凸多边形的一种实现方式的示意图;

图4为根据本申请实施例构造的覆盖中国海陆区域的最小凸多边形的示意图;

图5a至图5c为本申请实施例判断参考球上的边界点与大圆弧之间的位置关系的原理示意图;

图6为本申请实施例对目标单元面进行平移和旋转处理的一种实现方式的流程示意图;

图7为本申请实施例确定凸多边形的重心的一种实现方式的示意图;

图8为本申请实施例对目标单元面进行平移和旋转处理的一个示例的流程示意图;

图9a和图9b分别为在预设平移范围和预设旋转角度范围内对目标单元面进行平移和旋转处理的示意图;

图10为说明本申请实施例判断点在目标单元面内的原理的示意图;

图11为本申请实施例确定多面体地球仪的定位参数的一种实现方式的示意图;

图12a至图12f为采用本申请实施例的多面体地球仪定位方法定位制作的多面体地球仪与现有的多面体地球仪的对比示意图;

图13为实现本申请实施例的多面体地球仪定位装置的一种实现方式的组成结构示意图。

具体实施方式

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

图1为本申请实施例的多面体地球仪定位方法的一种实现方式的流程示意图,图1中的方法可以由多面体地球仪定位装置作为执行主体执行,如图1所示,该方法至少包括:

s102,根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形。

在本申请实施例中,预先设定的地球上感兴趣区域可以是地球上已经确定的区域,例如:大洲、国家、岛屿等,也可以是根据多面体地球仪的应用需要在地球上划定的区域,本申请实施例对预设的地球上感兴趣区域的类型不作限定。可选地,可以预先设定一个地球上感兴趣区域,也可以预先设定多个地球上感兴趣区域,本申请实施例对预设的地球上感兴趣区域的数量不作限定。

在本申请实施例中,参考球体可以是通过计算机得到的显示预设的地球上感兴趣区域的地球的三维模型。可以根据参考球体上显示的感兴趣区域的边界,在参考球体上确定覆盖对应的感兴趣区域的最小凸多边形。

可选地,可以通过将参考球体分割成预设数量的子区域,分别确定感兴趣区域的边界在每个子区域中坐标值最大的边界点,作为凸多边形的顶点,在参考球体上依次连接各子区域中凸多边形的顶点,构造覆盖对应的感兴趣区域的最小凸多边形;或者,也可以从感兴趣区域在参考球体的边界上选取一定数量的边界点,根据预设的筛选原则,例如:方位角、点与大圆弧的位置关系等,对选取的边界点进行筛选,去掉不符合凸多边形要求的边界点,得到凸多边形的顶点,在参考球体上依次连接筛选出的凸多边形的顶点,构造覆盖对应的感兴趣区域的最小凸多边形;本申请实施例对确定覆盖感兴趣区域的最小凸多边形的实现方式不作限定。

s104,根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心。

在本申请实施例中,多面体地球仪可以采用正多面体,可以预先设定多面体的面数和单元面的形状,在本申请中,将多面体的每个面称为多面体的单元面,例如:多面体地球仪可以为单元面为三角形的二十面体,本申请实施例对多面体地球仪的面数和单元面的形状不作限定;然后基于预先设定的多面体的面数和单元面的形状,在参考球体上对应感兴趣区域的凸多边形构造多面体地球仪的单元面,作为目标单元面,通过对目标单元面进行平移和旋转处理,使感兴趣区域的凸多边形位于对应的目标单元面内,并位于目标单元面的中心。

可选地,可以根据凸多边形的中心在参考球体上的位置,对目标单元面的中心进行平移处理,使目标单元面的中心与对应的凸多边形的中心重合,然后对目标单元面围绕目标单元面的中心进行旋转处理,使凸多边形的各顶点到与其最近的目标单元面的各边之间的距离最大,实现使凸多边形位于目标单元面内,并位于目标单元面的中心;或者,也可以根据凸多边形的中心在参考球体上的位置,对目标单元面的中心进行平移处理,确定平移处理后的目标单元面的中心与凸多边形的中心之间的第一距离,然后对平移处理后的目标单元面围绕目标单元面的中心进行旋转处理,确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离,根据第一距离与第二距离的相关性,在第一距离尽可能小的基础上,使第二距离尽可能大,实现使凸多边形位于目标单元面内,并位于目标单元面的中心;本申请实施例对通过平移和旋转处理使凸多边形位于目标单元面内,并位于目标单元面的中心的实现方式不作限定。

s106,在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数。

在本申请实施例中,当多面体地球仪采用正多面体时,多面体地球仪在确定单元面的一个顶点的地理坐标,和该顶点在单元内与相邻的另一个顶点之间的方位角后,就可以唯一确定多面体地球仪所有顶点的位置分布,因此在对目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心时,可以基于对目标单元面进行平移和旋转处理在参考球体上形成的空间几何关系,确定凸多边形位于目标单元面内,并位于目标单元面的中心时目标单元面在参考球体上一个顶点的地理坐标,和该顶点在目标单元面内与相邻的另一个顶点之间的方位角,作为多面体地球仪的定位参数。其中,基于对目标单元面进行平移和旋转处理在参考球体上形成的空间几何关系,确多面体地球仪的定位参数的实现方法,可以根据目标单元面的形状确定,本申请实施例对此不作限定。

本申请实施例提供的多面体地球仪定位方法,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

下面将结合图2至图11的实施例,对本申请的多面体地球仪定位方法进行详细说明。

图2为本申请实施例在参考球体上确定覆盖感兴趣区域的最小凸多边形的一种实现方式的流程示意图,如图2所示,根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形,至少包括:

s202,从感兴趣区域在参考球体的边界上选取第一数量的边界点。

在一些可选的例子中,如图3所示,可以从地球上感兴趣区域在参考球体的边界上选取p0~p6边界点,构造覆盖地球上感兴趣区域的最小凸多边形。本申请实施例对从感兴趣区域的边界上选取的边界点的数量不作限定。

通常,选取的边界点的数量越多,所构造的覆盖感兴趣区域的最小凸多边形的形状与感兴趣区域就越接近,但同时计算的复杂度也会越高,在实际应用时可以根据需求综合考虑选取合适数量的边界点。在从感兴趣区域在参考球体的边界上选取边界点时,为了使根据边界点构造的最小凸多边形覆盖感兴趣区域,应使所选取的边界点分布于感兴趣区域各个方向的边界上。

s204,基于纬度最小的边界点所在的子午线确定其余边界点的大地方位角,根据大地方位角和边界点的纬度对第一数量的边界点进行筛选,得到第二数量的边界点。

在一些可选的例子中,如图3所示,可以按照纬度从小到大的顺序对边界点p0~p6进行排序,对于其中纬度相同的边界点,可以按照经度从大到小的顺序进行排序,由此得到纬度最小的边界点p0;可以将p0作为起始点,以p0所在子午线为方位基准,确定p0与其余边界点p1~p6的大地方位角α1,α2,α3…α6,并将其余边界点p1,p2…p6按照大地方位角从大到小的顺序进行排序,对于其中大地方位角相同的边界点,例如p3,p4,只保留纬度最大的边界点,即距离p0最远的点p3,最终得到边界点p0和m1,m2…m5,实现了对从边界点p0~p6的初步筛选。

s206,按照大地方位角从大到小的顺序选取相邻的两个边界点构造大圆弧,确定其余边界点与大圆弧之间的位置关系,根据位置关系对第二数量的边界点进行筛选,得到凸多边形的顶点。

在一些可选的例子中,如图3所示,对于边界点p0和m1,m2…m5,可以按照纬度从小到大的顺序选取边界点p0和m1构造参考球体上的大圆弧,通过判断边界点m2是否位于边界点p0和m1构造的大圆弧的“左侧”或者大圆弧上,来确定是否保留边界点m2;若在边界点m2位于边界点p0和m1构造的大圆弧的“左侧”或者大圆弧上,则保留边界点m2;否则,删除边界点m2;然后以同样的方法,选取边界点m1和m2构造参考球体上的大圆弧,并判断边界点m3是否位于m1和m2构造的大圆弧的“左侧”或者大圆弧上,如此重复操作,直至完成对边界点m5的判断,最终得到最小凸多边形的顶点v1,v2…v4,实现了对从边界点p0和m1,m2…m5的最终筛选。其中,若经过上述判断后删除边界点m2,对于边界点m3,将判断边界点m3是否位于边界点p0和m1构造的大圆弧的“左侧”,来确定是否保留边界点m3。

在本实施例中,在得覆盖地球上感兴趣区域的最小凸多边形的顶点后,可以通过在参考球体上依次连接各顶点,构造覆盖对应的感兴趣区域的最小凸多边形,如图4所示,为根据本申请实施例构造的覆盖中国海陆区域的最小凸多边形的示意图。

下面将结合图5a至图5c对判断参考球上的边界点与大圆弧之间的位置关系的原理进行说明。如图5a至图5c所示,为参考球体上的点ps和m1构造的大圆弧,要判断参考球体上的点m2点与大圆弧之间的位置关系,可以从以下三种情况进行讨论,其中,λ(x)分别表示点x的纬度和经度:

第一种情况,如图5a所示,若λ(m2)<λ(m1),作大圆弧交点ps的子午线于d点,当时,点m2在大圆弧的“左侧”;

第二种情况,如图5b所示,若λ(m2)>λ(m1),作大圆弧交点ps的子午线于d点,当时,点m2在大圆弧的“左侧”;

第三种情况,如图5c所示,若λ(m2)=λ(m1),当时,点m2在大圆弧的“左侧”。

本实施例通过选取地球上感兴趣区域在参考球体的边界上的边界点,来构造覆盖感兴趣区域的最小凸多边形,可以以覆盖感兴趣区域的最小凸多边形来代替地球上感兴趣区域,从而可以方便建立感兴趣区域与多面体的单元面之间的关系,简化处理过程,提高处理效率。

图6为本申请实施例对目标单元面进行平移和旋转处理的一种实现方式的流程示意图,如图6所示,根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于所述目标单元面内,并位于目标单元面的中心,至少包括:

s602,确定凸多边形在参考球体上的重心,作为凸多边形的中心。

由于在平面凸多边形质量分布均匀时,可以将平面凸多边形的重心作为平面凸多边形的几何中心,即平面凸多边形的中心。因此,本申请实施例在确定凸多边形的中心时,可以通过确定凸多边形的重心来实现,其实现方法如下:

首先,以凸多边形的某一点作为起始点,将凸多边形分割成多个三角形,并计算每个三角的面积;其中,起始点可以选择凸多边形的顶点,也可以选择凸多边形内的一点,本申请实施例对起始点的类型不作限定;例如,如图7所示,选择凸n边形的顶点作为起始点,将凸n边形分割成n-2个三角形;

然后,在大地直角坐标系下,计算每个三角形的重心,并将每个三角形的重心归算到参考球体上,得到各三角形在参考球体上的重心的坐标;例如,通过连接大地直角坐标系的原点与每个三角形的重心,并将连线延长至参考球体的表面,实现将每个三角形的重心归算到参考球体上;

最后,以各三角形的面积为权值,根据以下公式计算凸多边形在参考球体上的重心的坐标:

其中,(x,y)为凸多边形在参考球体上的重心的坐标;n为将凸多边形分割成三角形的数量;i为正整数,且i≤n;(xi,yi)为每个三角形在参考球体上的重心的坐标;σi每个三角的面积。

s604,根据凸多边形的中心,对目标单元面的中心进行平移处理,并以目标单元面的中心为旋转中心,对平移处理后的目标单元面进行旋转处理。

可选地,可以根据凸多边形的中心,先将目标单元面的中心平移至凸多边形的中心,并对平移后的目标单元面围绕目标单元面的中心进行旋转,再按照距离凸多边形的中心由近及远对目标单元面的中心进行平移,并在每次平移后对平移后的目标单元面围绕目标单元面的中心进行旋转;或者,可以根据凸多边形的中心预设平移的有效范围,根据目标单元面的边数预设旋转的有效范围,在预设的平移的有效范围内对目标单元面进行平移,并在每次平移后在预设的旋转的有效范围内对平移后的目标单元面围绕目标单元面的中心进行旋转;本申请实施例对基于凸多边形的中心,对目标单元面进行平移和旋转处理的实现方式不作限定。

s606,确定平移处理后的目标单元面的中心与凸多边形的中心之间的第一距离,以及凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离。

可选地,可以在s604中每次对目标单元面的中心进行平移后,确定平移后的目标单元面的中心与凸多边形的中心之间的第一距离,以及在每次对平移后的目标单元面围绕目标单元面的中心旋转预设的角度后,确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离,其中对平移后的目标单元面每次旋转的预设角度小于预设的旋转的有效范围。

可选地,为了使凸多边形位于目标单元面内,并位于目标单元面的中心,可以通过对目标单元面进行平移,尽可能减小第一距离,并通过对目标单元面进行旋转,尽可能增大第二距离,显然很难保证凸多边形的各顶点到旋转后的目标单元面的各边的第二距离均同时达到最大,可以通过在每次对目标单元面旋转预设的角度后,确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离中的最小值,使第二距离的最小值尽可能大,以达到使凸多边形位于目标单元面的中心的目的。因此在确定凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离时,首先确定凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离,然后根据凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离,确定第二距离的最小值。

s608,根据第一距离和第二距离,确定凸多边形位于目标单元面内,并位于目标单元面的中心时,目标单元面在参考球体上的位置。

可选地,在s606中根据凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离,确定第二距离的最小值后,可以根据第一距离和第二距离的最小值,确定凸多边形位于目标单元面内,并位于目标单元面的中心时目标单元面在参考球体上的位置。

在本申请实施例中,第一距离和第二距离的最小值并非相互独立,而是相互关联的,当第一距离最小,即凸多边形的中心与目标单元面的中心重合时,第二距离的最小值并不一定达到最大,需要同时兼顾第一距离和第二距离的最小值,例如可以通过代价函数,在尽可能减小第一距离的基础上,尽可能增大第二距离的最小值,确定出凸多边形位于目标单元面内,并位于目标单元面的中心时对应的第一距离和第二距离的最小值,从而得到目标单元面在参考球体上的位置;本申请实施例对同时兼顾第一距离和第二距离的最小值的实现方式不做限定。

本实施例通过对目标单元面进行平移处理,确定目标单元面与凸多边形之间的第一距离,通过对目标单元面进行旋转处理,确定目标单元面与凸多边形之间的第二距离,根据第一距离与第二距离确定凸多边形位于目标单元面内,并位于目标单元面的中心时目标单元面在参考球体上的位置,可以保证通过平移和旋转处理得到的结果的有效性。

图8为本申请实施例对目标单元面进行平移和旋转处理的一个示例的流程示意图,如图8所示,根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于所述目标单元面内,并位于目标单元面的中心,至少包括:

s801,确定凸多边形在参考球体上的重心,作为凸多边形的中心。

在本实施例中,对s801的说明可以参见图6中对s602的说明,故此处不再敷述。

s802,以凸多边形的中心为中心,在凸多边形内创建搜索窗口。

在本实施例中,搜索窗口的大小根据凸多边形的外接矩形确定。例如,如图9a所示,可以以凸多边形的中心为中心,以凸多边形的外接矩形的各边长的三分之一为边长在凸多边形内创建矩形的搜索窗口,以搜索窗口作为目标单元面的中心的平移范围。本实施例对在凸多边形内创建的搜索窗口的大小和形状不作限定。

s803,判断目标单元面的中心以预设的平移步长是否遍历搜索窗口。

若目标单元面的中心以预设的平移步长未遍历搜索窗口,则执行s804;否则,执行s809。

s804,对目标单元面的中心在搜索窗口内平移预设的平移步长。

在本实施例中,如图9a所示,将目标单元面的中心平移至搜索窗口内,对目标单元面的中心在搜索窗口内平移预设的平移步长,其中li为对目标单元面的中心进行第i次平移后,目标单元面的中心与凸多边形的中心之间的第一距离,其中i=0,1,…,n。

s805,对平移后的目标单元面围绕目标单元面的中心,旋转预设的旋转步长。

在本实施例中,如图9b所示,对在搜索窗口内平移后的目标单元面,围绕目标单元面的中心旋转预设的旋转步长,其中为凸多边形的v2顶点与旋转后的目标单元面的边之间的第二距离。

可选地,如图8所示,在s805之后还可以包括:s810,判断凸多边形的所有顶点是否位于旋转后的目标单元面内。若凸多边形的所有顶点位于旋转后的目标单元面内,则执行s806;否则,执行s805。

下面将结合图10对判断点在目标单元面内的原理进行说明。如图10所示,以单元面为正六边形的去顶二十面体为例,其中目标单元面顶点的编号为a~f,采用逐边判定的方法,首先对于ab边,以c点为参考点,通过向量叉乘的方法判断目标点q和c点是否在ab边的同一侧,即确定向量与向量叉乘后的符号,与向量与向量叉乘后的符号是否相同,依次以同样的方法对正六边形的其它边进行相同的判断,经最多6次判断,若q点与参考点均在各边的同一侧,则表明q点位于正六边形的目标单元面内。

s806,判断平移后的目标单元面以预设的旋转步长是否遍历预设的旋转角度范围。

若平移后的目标单元面以预设的旋转步长未遍历预设的旋转角度范围,则执行s807;否则,执行s808。

在本实施例中,预设的旋转角度范围根据目标单元面的边数确定,例如,当目标单元面为三角形时,如图9b所示,预设的旋转角度范围为也就是说,目标单元元面围绕目标单元面的中心最多只需要旋转的角度,这是由于三角形的中心对称性决定的;同样,当目标单元面为n边形时,预设的旋转角度范围为

s807,确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离,和第二距离的最小值。

在本实施例中,如图9b所示,在对平移后的目标单元面围绕目标单元面的中心,旋转预设的旋转步长后,首先确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离dj(j=v1,v2,…,vn),然后根据凸多边形的各顶点到旋转后的目标单元面的各边的第二距离dj(j=v1,v2,…,vn),确定第二距离dj(j=v1,v2,…,vn)中的最小值dm。

s808,确定平移后的目标单元面的中心与凸多边形的中心之间的第一距离和各第二距离的最小值中的最大值。

在本实施例中,如图9a和图9b所示,在对目标单元面的中心在搜索窗口内平移预设的平移步长后,若平移后的目标单元面以预设的旋转步长遍历预设的旋转角度范围,确定平移后的目标单元面的中心与凸多边形的中心之间的第一距离li,并根据平移后的目标单元面以预设的旋转步长遍历预设的旋转角度范围所得到的第二距离的最小值dm,确定各第二距离的最小值dm中的最大值记为objdis,即objdis=max{min{dj|j=v1,v2,…,vn}},以li和objdis作为确定凸多边形位于目标单元面内,并位于目标单元面的中心的指标。

s809,根据目标单元面的中心点遍历搜索窗口得到的第一距离,和平移后的目标单元面遍历预设的旋转角度范围得到的各第二距离的最小值中的最大值,基于预设的代价函数,确定凸多边形位于目标单元面内,并位于目标单元面的中心时,对应的第一距离和第二距离的最小值。

在本实施例中,如图9a和图9b所示,在目标单元面的中心以预设的平移步长遍历搜索窗口后,基于预设的代价函数cost(li,objdis)对根据目标单元面的中心点遍历搜索窗口得到的第一距离li,和平移后的目标单元面遍历预设的旋转角度范围得到的各第二距离的最小值中的最大值objdis进行处理,得到凸多边形位于目标单元面内,并位于目标单元面的中心时对应的第一距离li和第二距离的最小值objdis。实现了在第一距离li尽可能小的基础上,使第二距离的最小值objdis尽可能。其中代价函数cost(li,objdis)的公式的如下:

本实施例通过代价函数将确定凸多边形位于目标单元面内,并位于目标单元面的中心的指标量化,通过代价函数的迭代运算确定最大值,得到凸多边形位于目标单元面内,并位于目标单元面的中心时对应的指标值,根据所得到的指标值确定目标单元面在参考球体上的位置,可以有效保证凸多边形位于目标单元面内,并位于目标单元面的中心。

在上述各实施例中,在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数,可以根据凸多边形位于目标单元面内,并位于目标单元面的中心时,对应的第一距离和第二距离的最小值,确定目标单元面的一个顶点的地理坐标和该顶点与目标单元面中相邻的另一个顶点之间的方位角,得到多面体地球仪的定位参数。

下面将结合图11的实施例对确定多面体地球仪的定位参数的方法进行说明。如图11所示,以单元面为三角形的去顶二十面体为例,假设目标单元面的中心与凸多边形内的一点o重合,使目标单元面的顶点a的经度与o点相同,即θ为0,作为目标单元面旋转的初始位置。目标单元面在参考球体上的旋转轨迹为参考球体上的小圆线,记为oa,也为k,即三角形的中心到顶点的距离,目标单元面的中心o的地理坐标为小圆线上一点a′的地理坐标为可以得到参考球体上小圆线的表达式:

在△noa′中,∠noa′=θ,根据余弦定理可以得到以下公式:

其中,k为单元面常数,在目标单元面与其在参考球体上对应的面积等积的条件下,k的数值如表1所示。给定θ,可以根据公示4得到代入公式3可以得到λ。通过旋转改变θ,可以得到对应的目标单元面的顶点坐标,再根据公式可以得到目标单元面的中心到顶点的距离d。从而可以根据目标单元面在参考球体上的位置得到多面体地球仪的定位参数,即目标单元面在参考球体上一个顶点的地理坐标v0(b,l),和该顶点在目标单元面内与相邻的另一个顶点之间的方位角α。

表1

注:

图12a至图12f为采用本申请实施例的多面体地球仪定位方法定位制作的多面体地球仪与现有的多面体地球仪的对比示意图。以中国和美洲大陆等面积较大的国家和地区为例,将采用本申请实施例的多面体地球仪定位方法定位制作的二十面体地球仪,与fuller和sahr提出的二十面体地球仪的方案进行对比。设定地球的平均半径为r=6371007.22347m,本申请实施例的代价函数其中的ε=e≈2.718281,搜索步长取10-6弧度,结果精确到小数点后的4位。其中,fuller方案的定位参数为v0(2.3009°n,5.2454°w)、α=7.4666°;sahr方案的定位参数为v0(58.2825°n,11.25°e)、α=0.0°;采用本申请实施例的多面体地球仪定位方法确定的定位参数针对中国、美洲大陆分别为v0(50.7635°n,154.2628°e)、α=-133.6938°;v0(55.8635°n,43.6498°w)、α=-129.8631°。如图12a至图12f所示,其中,图12a和图12b为在fuller提出的二十面体地球仪的方案中中国和美洲大陆的位置,图12c和图12d为在sahr提出的二十面体地球仪的方案中中国和美洲大陆的位置,图12e和图12f为在本申请实施例提出的二十面体地球仪的方案中中国和美洲大陆的位置。从图12a至图12f的结果可以看出,只有采用本申请实施例提出的多面体地球仪定位方法定位制作的多面体地球仪能够使得兴趣区域,如中国、美洲大陆等,位于多面体地球仪的单元面的中心,保证不跨面。

对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种多面体地球仪定位装置,图13为实现本申请实施例的多面体地球仪定位装置的一种实现方式的组成结构示意图,该多面体地球仪定位装置可用于执行图1描述的多面体地球仪定位方法,如图13所示,该多面体地球仪定位装置至少包括:转换模块1310、处理模块1320和计算模块1330,其中,转换模块1310、处理模块1320和计算模块1330依次连接。

转换模块1310,用于根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形。

处理模块1320,用于根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心。

计算模块1330,用于在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数。

在申请实施例中,关于转换模块1310、处理模块1320和计算模块1330的说明可以参见图1中关于s102和s106的说明,故在此不再敷述。

本申请实施例提供的多面体地球仪定位装置,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

可选地,处理模块1320,用于确定凸多边形在所述参考球体上的重心,作为凸多边形的中心;根据凸多边形的中心,对目标单元面的中心进行平移处理,并以目标单元面的中心为旋转中心,对平移处理后的目标单元面进行旋转处理;确定平移处理后的目标单元面的中心与凸多边形的中心之间的第一距离,以及凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离;根据第一距离和所述距离,确定凸多边形位于目标单元面内,并位于目标单元面的中心时,目标单元面在参考球体上的位置。

可选地,处理模块1320,还用于在确定凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离后,根据凸多边形的各顶点到旋转处理后的目标单元面的各边的第二距离,确定第二距离的最小值;并根据第一距离和第二距离的最小值,确定凸多边形位于目标单元面内,并位于目标单元面的中心时目标单元面在参考球体上的位置。

可选地,处理模块1320,还用于在确定凸多边形在参考球体上的重心,作为凸多边形的中心之后,以凸多边形的中心为中心,在凸多边形内创建搜索窗口;其中,搜索窗口的大小根据凸多边形的外接矩形确定;对目标单元面的中心在搜索窗口内平移预设的平移步长;对平移后的目标单元面围绕目标单元面的中心,以预设的旋转步长遍历预设的旋转角度范围;其中,预设的旋转角度范围根据目标单元面的边数确定;在对平移后的目标单元面每次旋转所述预设的旋转步长后,确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离,和第二距离的最小值;确定平移后的目标单元面的中心与凸多边形的中心之间的第一距离,和平移后的目标单元面遍历预设的旋转角度范围得到的各第二距离的最小值中的最大值;以及从对目标单元面的中心在搜索窗口内平移预设的平移步长开始循环执行,直至目标单元面的中心以预设的平移步长遍历搜索窗口;根据目标单元面的中心点遍历搜索窗口得到的第一距离,和平移后的目标单元面遍历预设的旋转角度范围得到的各第二距离的最小值中的最大值,基于预设的代价函数,确定凸多边形位于目标单元面内,并位于目标单元面的中心时,对应的第一距离和第二距离的最小值。

可选地,计算模块1330,还用于根据凸多边形位于目标单元面内,并位于目标单元面的中心时,对应的第一距离和第二距离的最小值,确定目标单元面的一个顶点的地理坐标,和顶点与目标单元面中相邻的另一个顶点之间的方位角,得到多面体地球仪的定位参数。

可选地,处理模块1320,还用于在对平移后的目标单元面每次旋转预设的旋转步长后,判断凸多边形的所有顶点是否位于旋转后的目标单元面内;若凸多边形的所有顶点位于旋转后的目标单元面内,则确定凸多边形的各顶点到旋转后的目标单元面的各边的第二距离,和第二距离的最小值。

可选地,转换模块1310,还用于从感兴趣区域在参考球体的边界上选取第一数量的边界点;基于纬度最小的边界点所在的子午线确定其余边界点的大地方位角,根据大地方位角对第一数量的边界点进行筛选,得到第二数量的边界点;按照纬度从小到大的顺序选取相邻的两个边界点构造大圆弧,确定其余边界点与大圆弧之间的位置关系,根据位置关系对第二数量的边界点进行筛选,得到所述凸多边形的顶点。

对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种根据上述多面体地球仪的定位方法定位制作的多面体地球仪。

本申请实施例提供的多面体地球仪,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

对应上述描述的方法,基于相同的技术构思,本申请实施例还提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线;其中,处理器、通信接口以及存储器通过总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序,实现以下方法:

根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;

根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;

在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数。

本申请实施例提供的电子设备,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

对应上述描述的方法,基于相同的技术构思,本申请实施例还提供一种计算机可读存储介质,存储介质内存储有计算机程序,计算机程序被处理器执行时实现以下方法:

根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;

根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;

在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数。

本申请实施例提供的计算机可读存储介质,通过根据预设的地球上感兴趣区域,在参考球体上确定对应的覆盖感兴趣区域的最小凸多边形;根据凸多边形在参考球体上的位置,对多面体地球仪的目标单元面进行平移和旋转处理,使凸多边形位于目标单元面内,并位于目标单元面的中心;在凸多边形位于目标单元面内,并位于目标单元面的中心时,根据目标单元面在参考球体上的位置,确定多面体地球仪的定位参数;利用对多面体地球仪的目标单元面进行平移和旋转处理,将地球上感兴趣区域限制于多面体地球仪的目标单元面内,并限制于目标单元面的中心,从而在利用多面体地球仪/多面体地图表达和绘制全球的地理要素时,可以使重点关注的地球上感兴趣区域位于多面体的一个面内,并位于该面的中心,提升用户体验。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

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