首页> 中国专利> 一种全球一张图数据存储组织方法及调用方法

一种全球一张图数据存储组织方法及调用方法

摘要

本发明提供一种全球一张图数据存储组织方法及调用方法,包括:将全球地图投影至全球坐标框架中;根据全球坐标框架构建全球地理网格框架;对全球地图切片得到全球地图对应的瓦片数据;根据地理网格框架对瓦片数据打包存储。调用方法包括:接收携带经纬度坐标及显示级别的地图显示请求;根据经纬度坐标及显示级别确定经纬度坐标对应的瓦片包;从瓦片包中获取经纬度坐标对应的瓦片数据。本发明在中低纬度地区采取墨卡托投影,高纬度地区采用正轴等角方位投影,构建完整的全球一张图,打包存储瓦片,调用时先从数目相对很少的瓦片包中检索出目标瓦片包,再从目标瓦片包中检索出目标瓦片数据,检索花费时间短,提高了海量瓦片的调用速度和效率。

著录项

  • 公开/公告号CN108038249A

    专利类型发明专利

  • 公开/公告日2018-05-15

    原文格式PDF

  • 申请/专利权人 北京星球时空科技有限公司;

    申请/专利号CN201711466127.2

  • 发明设计人 罗斌;李洪省;吴雪青;韩嘉福;

    申请日2017-12-28

  • 分类号

  • 代理机构北京超凡志成知识产权代理事务所(普通合伙);

  • 代理人吴迪

  • 地址 100000 北京市海淀区清河三街95号同源大厦写字楼9层913室

  • 入库时间 2023-06-19 05:18:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-05-19

    授权

    授权

  • 2018-06-08

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20171228

    实质审查的生效

  • 2018-05-15

    公开

    公开

说明书

技术领域

本发明涉及测绘及图像处理技术领域,具体而言,涉及一种全球一张图数据存储组织方法及调用方法。

背景技术

目前电子地图应用中,全球地图经常采用Web Mercator投影,并以20级不同尺度和分辨率进行构建,采取四象限递归“金字塔”剖分方式分割全球地图得到海量瓦片数据。由于瓦片数据数量巨大,因此如何对全球地图对应的瓦片数据进行高效存储及调用成为一个急需解决的问题。

瓦片文件是地理信息系统的一种典型数据,特点是单个文件规模小,但是文件数量巨大,以19层金字塔为例,文件数超过百亿个文件。因此,地理信息系统需要支持海量小文件的高效存储与调用。面对地理信息服务数量大、文件多、大量用户并发访问等特点,传统的文件系统已无法满足海量地理空间数据的存储与访问要求。

传统的海量瓦片数据存储,使用一个元数据节点管理所有瓦片文件的元数据,元数据所占空间随瓦片文件数增多而变大,元数据服务器成为整个系统的瓶颈,导致整个系统的性能下降。瓦片文件虽然数据量小,但数量庞大,调用时频繁地与元数据节点交互,系统开销大,文件访问效率很低。

发明内容

有鉴于此,本发明实施例的目的在于提供一种全球一张图数据存储组织方法及调用方法,以解决传统的海量瓦片数据存储,使用一个元数据节点管理所有瓦片文件的元数据,系统性能低,文件访问效率低的问题。

第一方面,本发明实施例提供了一种全球一张图数据存储组织方法,所述方法包括:

获取全球地图,将所述全球地图投影至全球坐标框架中;

根据所述全球坐标框架,构建所述全球地图对应的地理网格框架;

对所述全球地图切片,得到所述全球地图对应的瓦片数据;

根据所述地理网格框架,对所述全球地图对应的瓦片数据进行打包存储。

结合第一方面,本发明实施例提供了上述第一方面的第一种可能的实现方式,其中,所述将所述全球地图投影至全球坐标框架中,包括:

采用墨卡托投影方式对所述全球地图进行投影,从墨卡托投影后的全球地图中裁剪出第一预设纬度范围的第一纬度地图;

采用正轴等角方位投影对所述全球地图进行投影,从正轴等角方位投影后的全球地图中裁剪出第二预设纬度范围的第二纬度地图。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第二种可能的实现方式,其中,所述根据所述全球坐标框架,构建所述全球地图对应的地理网格框架,包括:

采用四叉树方式分别构建各显示级别下所述第一纬度地图对应的第一地理网格框架;

采用所述四叉树方式分别构建所述各显示级别下所述第二纬度地图对应的第二地理网格框架。

结合第一方面的第一种可能的实现方式,本发明实施例提供了上述第一方面的第三种可能的实现方式,其中,所述对所述全球地图切片,得到所述全球地图对应的瓦片数据,包括:

根据瓦片金字塔模型,分别对所述第一纬度地图和所述第二纬度地图切片,得到所述第一纬度地图对应的第一纬度瓦片和所述第二纬度地图对应的第二纬度瓦片。

结合第一方面,本发明实施例提供了上述第一方面的第四种可能的实现方式,其中,所述根据所述地理网格框架,对所述全球地图对应的瓦片数据进行打包存储,包括:

确定所述地理网格框架中各框架级别对应的瓦片数据;

将所述地理网格框架包括的框架级别划分成预设数目个框架级别区间;

根据预设数目个所述框架级别区间,对各框架级别对应的瓦片数据进行打包存储。

结合第一方面的第四种可能的实现方式,本发明实施例提供了上述第一方面的第五种可能的实现方式,其中,所述根据预设数目个所述框架级别区间,对各框架级别对应的瓦片数据进行打包存储,包括:

确定第一框架级别区间对应的打包级别及瓦片包数目,所述第一框架级别区间为预设数目个所述框架级别区间中的任意框架级别区间;

在所述地理网格框架中,将所述第一框架级别区间覆盖的区域均分为所述瓦片包数目个网格空间;

将位于第一网格空间中的所有瓦片数据打包为一个瓦片包,并确定所述瓦片包的行列号,所述第一网格空间为所述瓦片包数目个网格空间中的任意网格空间;

根据所述第一框架级别区间、所述打包级别及所述瓦片包的行列号,对所述瓦片包进行命名存储。

第二方面,一种调用上述第一方面所述的方法存储的全球一张图数据调用方法,包括:

接收用户的地图显示请求,所述地图显示请求携带需显示的经纬度坐标及显示级别;

根据所述经纬度坐标及所述显示级别,确定所述经纬度坐标对应的瓦片包;

从所述瓦片包中获取所述经纬度坐标对应的瓦片数据。

结合第二方面,本发明实施例提供了上述第二方面的第一种可能的实现方式,其中,根据所述经纬度坐标及所述显示级别,确定所述经纬度坐标对应的瓦片包,包括:

根据所述经纬度坐标及所述显示级别,确定所述经纬度坐标对应的瓦片包所属的区域类型;

将所述经纬度坐标转换为平面坐标;

根据所述显示级别,确定所述所述经纬度坐标对应的打包级别;

根据所述平面坐标及所述打包级别,计算所述经纬度坐标对应的瓦片包的行列号。

结合第二方面的第一种可能的实现方式,本发明实施例提供了上述第二方面的第二种可能的实现方式,其中,从所述瓦片包中获取所述经纬度坐标对应的瓦片数据,包括:

根据所述显示级别及所述平面坐标,计算所述经纬度对应的瓦片数据的行列号;

根据所述瓦片包所属的区域类型、行列号及所述瓦片数据的行列号,从所述经纬度坐标对应的瓦片包中获取所述经纬度坐标对应的瓦片数据。

结合第二方面,本发明实施例提供了上述第二方面的第三种可能的实现方式,其中,所述方法还包括:

当所述显示级别为最低显示级别时,确定所述第二预设纬度范围对应的第二纬度地图取实际距离为预设距离的正方形影像。

在本发明实施例中,全球一张图数据存储组织方法包括:将全球地图投影至全球坐标框架中;根据全球坐标框架构建全球地理网格框架;对全球地图切片得到全球地图对应的瓦片数据;根据地理网格框架对瓦片数据打包存储。调用方法包括:接收携带经纬度坐标及显示级别的地图显示请求;根据经纬度坐标及显示级别确定经纬度坐标对应的瓦片包;从瓦片包中获取经纬度坐标对应的瓦片数据。本发明在中低纬度地区采取墨卡托投影,高纬度地区采用正轴等角投影,构建完整的全球一张图,打包存储瓦片,调用时先从数目相对很少的瓦片包中检索出目标瓦片包,再从目标瓦片包中检索出目标瓦片数据,检索花费时间短,提高了海量瓦片的调用速度和效率。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例1所提供一种全球一张图数据存储组织方法流程图;

图2示出了本发明实施例1所提供的墨卡托投影示意图;

图3示出了本发明实施例1所提供的正轴等角方位投影示意图;

图4示出了本发明实施例1所提供的全球坐标框架的示意图;

图5示出了本发明实施例1所提供的四叉树分裂方式的示意图;

图6示出了本发明实施例1所提供的中低纬度地区对应的第一地理网格框架的示意图;

图7示出了本发明实施例1所提供的影像瓦片金字塔构建示意图;

图8示出了本发明实施例1所提供的瓦片数据打包示意图;

图9示出了本发明实施例2所提供的一种全球一张图数据调用方法流程图;

图10示出了本发明实施例3所提供的一种全球一张图数据存储组织装置的结构示意图;

图11示出了本发明实施例4所提供的一种全球一张图数据调用装置的结构示意图;

图12示出了本发明实施例6所提供的一种全球一张图数据存储组织装置的结构示意图;

图13示出了本发明实施例8所提供的一种全球一张图数据调用装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

考虑到传统的海量瓦片数据存储,使用一个元数据节点管理所有瓦片文件的元数据,元数据所占空间随瓦片文件数增多而变大,元数据服务器成为整个系统的瓶颈,导致整个系统的性能下降。瓦片文件虽然数据量小,但数量庞大,调用时频繁地与元数据节点交互,系统开销大,文件访问效率很低。基于此,本发明实施例提供了一种全球一张图数据存储组织方法及调用方法,下面通过实施例进行描述。

实施例1

参见图1,本发明实施例提供了一种全球一张图数据存储组织方法,该方法具体包括以下步骤:

步骤101:获取全球地图,将全球地图投影至全球坐标框架中。

获取全球地图后,采用墨卡托(Web Mercator)投影方式对全球地图进行投影,从墨卡托投影后的全球地图中裁剪出第一预设纬度范围的第一纬度地图;采用正轴等角方位投影对全球地图进行投影,从正轴等角方位投影后的全球地图中裁剪出第二预设纬度范围的第二纬度地图。

上述第一预设纬度范围为中低纬度范围,第二预设纬度范围为南北两级地区的高纬度范围。本发明实施例中取第一预设纬度范围为(-85.05°~85.05°),第二预设纬度范围为(-90°~-85.05°)与(85.05°~90°)。但本发明并不具体限定第一预设纬度范围和第二预设纬度范围的具体取值,实际应用中可根据需求确定第一预设纬度范围和第二预设纬度范围的具体取值。

本发明实施例在中低纬度(-85.05°~85.05°)地区,对全球地图采用墨卡托投影,如图2所示,就是将地球模拟成半径为r=6378137m的球体,令一个与地轴方向一致的圆柱在赤道切于地球,以赤道作为标准纬线,将球面上的经纬网按等角条件投影于圆柱表面上,然后将圆柱面沿180°经线剪开展成平面。将本初子午线作为中央经线,标准纬线与中央经线的交点为坐标原点,向东向北为正,向西向南为负。采用墨卡托投影,主要利用了它的“等角”特性,不仅保证地理对象的形状不变形,也保证了方向和相对位置的准确性。投影后在纬度-85.05°和85.05°处进行切割,丢弃高纬度地区(-90°~-85.05°)与(85.05°~90°)的数据,保留裁剪出的第一预设纬度范围(-85.05°~85.05°)的第一纬度地图,使全球中低纬度地区成为在经纬度两个方向像素相等的正方形。

在高纬度(-90°~-85.05°)与(85.05°~90°)地区,对全球地图采用正轴等角方位投影,如图3所示,纬线是以极点为圆心的同心圆,纬线间距从地图中心向外逐渐扩大,经线为由极点向外呈放射状的直线,经线间的夹角等于经度差,投影后在纬度-85.05°和85.05°处进行切割,丢弃中低纬度地区(-85.05°~85.05°)的数据,保留裁剪出的第二预设纬度范围(-90°~-85.05°)与(85.05°~90°)的第二纬度地图。其中,第二纬度地图包括纬度范围为(-90°~-85.05°)的南极地图及纬度范围85.05°~90°)的北极地图,南北两极地区各形成在经纬度两个方向像素相等的正方形。

具有投影信息的第一预设纬度范围(-85.05°~85.05°)的第一纬度地图及第二预设纬度范围(-90°~-85.05°)与(85.05°~90°)的第二纬度地图就组成了如图4所示的全球地图对应的全球坐标框架。

由于采用墨卡托(Web Mercator)投影方式时,因其“等角”的特性会导致面积变形,尤其是在两极地区变形严重,为了解决变形问题传统做法是将两极地区的图像切割掉,但这样就导致全球地图因缺失两极数据而不具有完整性。本发明实施例中,在中低纬度采用墨卡托投影,在南北两极高纬度的地区采用正轴等角方位投影,在高纬度地区选取合适的比例尺,使其与中低纬度地区在相同的显示级别下同一地物的大小相同,一方面构建了完整的全球地图,避免了以往电子地图的不完整性。另一方面,也解决了两极地区面积变形的问题。

步骤102:根据全球坐标框架,构建全球地图对应的地理网格框架。

由于全球坐标框架是由第一预设纬度范围对应的中低纬度地区及第二预设纬度范围对应的高纬度地区组成的,所以在构建全球地图对应的地理网格框架时,分别构建中低纬度地区和高纬度地区的地理网格框架,具体包括:

采用四叉树方式分别构建各显示级别下第一纬度地图对应的第一地理网格框架;采用四叉树方式分别构建各显示级别下第二纬度地图对应的第二地理网格框架。

显示级别与对全球地图的缩放程度有关。本发明实施例中以显示级别划分为第0级至第23级为例进行说明,但并不具体限定显示级别的划分,实际应用中可根据需求确定显示级别具体划分为多少级。

其中,对于第一预设纬度范围(-85.05°~85.05°)对应的中低纬度地区,当显示级别z=0时,中低纬度整个区域划分为1个网格,该网格的中心经纬度为(0,0)。当显示级别z=1时,中低纬度整个区域划分为4个网格,每个网格的行列号为:左上网格(0,0)、右上网格(1,0)、左下网格(0,1)、右下网格(1,1)。显示级别每增加一级,每个网格就分裂为四块新的网格,以此类推,直至划分出显示级别z=23时的网格,得到第一纬度地图对应的第一地理网格框架。

第二预设纬度范围(-90°~-85.05°)与(85.05°~90°)对应的高纬度地区包括北极地区(85.05°~90°)和南极地区(-90°~-85.05°),北极地区和南极地区在划分地理网格框架时的方式相同,在此以北极地区为例进行说明。对于北极地区,当显示级别z=0时,北极地区划分为1个网格。当显示级别z=1时,北极地区划分为4个网格,每个网格的行列号为:左上网格(0,0)、右上网格(1,0)、左下网格(0,1)、右下网格(1,1)。显示级别每增加一级,每个网格就分裂为四块新的网格,以此类推,直至划分出显示级别z=23时的网格。按照同样地方式对南极地区进行划分后,即可得到第二纬度地图对应的第二地理网格框架。

如图5所示,采用四叉树方式,显示级别每增加一级,一个网格就分裂为四块新的网格。如此划分出的中低纬度地区对应的第一地理网格框架如图6所示。中低纬度地区对应的第一地理网格框架与高纬度地区对应的第二地理网格框架共同组成了全球地图对应的地理网格框架。

步骤103:对全球地图切片,得到全球地图对应的瓦片数据。

本发明实施例采用瓦片金字塔模型组织整个系统的瓦片体系,分别构建中低纬度地区与高纬度地区的影像瓦片金字塔模型,具体包括:

根据瓦片金字塔模型,分别对第一纬度地图和第二纬度地图切片,得到第一纬度地图对应的第一纬度瓦片和第二纬度地图对应的第二纬度瓦片。

从步骤101可知,第一纬度地图为中低纬度地区(-85.05°~85.05°)对应的地图,第二纬度地图包括北极地区(85.05°~90°)的地图和南极地区(-90°~-85.05°)的地图。因此在对全球地图切片时,分别对第一纬度地图、第二纬度地图包括的北极地图和南极地图进行切片处理。

在构建瓦片金字塔时,首先把经过校正投影的原始影像作为金字塔的底层,即第0层,并对其进行分块,形成第0层瓦片矩阵,并确定第0层瓦片矩阵中每个瓦片的行列号。对第0层的全球地图进行重采样,将全球地图中每2*2个像素合成一个像素,生成第1层的相片,并对其进行分块,形成第1层的瓦片矩阵,并确定第1层瓦片矩阵中每个瓦片的行列号。依此类推,对第n-1层的相片中2*2像素合成一个像素,得到第n层的相片,并对第n层的相片切块,形成第n层的瓦片矩阵,并确定第n层瓦片矩阵中每个瓦片的行列号。其中n为大于等于1的正整数。从第0层至第n层各层的瓦片矩阵就构成了如图7所示的整个影像瓦片金字塔。

对于第一纬度地图、第二纬度地图包括的北极地图及南极地图,都分别通过上述方式,获得第一纬度地图对应的中低纬度的瓦片金字塔、北极地图对应的瓦片金字塔和南极地图对应的瓦片金字塔。

上述第一纬度地图对应的中低纬度的瓦片金字塔、北极地图对应的瓦片金字塔和南极地图对应的瓦片金字塔,组成了全球地图对应的全球一张图的影像瓦片。

步骤104:根据地理网格框架,对全球地图对应的瓦片数据进行打包存储。

瓦片数据的数量是影响瓦片检索调用效率的主要因素,针对全球一张图的上百亿张瓦片数据,本发明采用瓦片数据打包存储的策略来解决瓦片的检索调用问题。具体通过如下步骤A1-A3的操作,对全球地图对应的瓦片数据进行打包存储,包括:

A1:确定地理网格框架中各框架级别对应的瓦片数据。

按照步骤102中构建的地理网格框架,建立如表1所示的影像瓦片索引,确定出地理网格框架中各框架级别对应的瓦片金字塔的层级,进而确定出各框架级别对应的瓦片数据。其中,瓦片金字塔的第0层对应地理网格框架的第23级及显示级别的第23级,瓦片金字塔的最高层(即本发明示例中的第23层)对应地理网格框架的第0级及显示级别的第0级。本发明实施例中,对全球坐标框架下的所有瓦片数据,采用分级组织策略,以“显示级别-瓦片行号-瓦片列号”的方式组织。其中,瓦片的行列号即为在地理网格框架中该瓦片所在的网格的行列号。

表1

A2:将地理网格框架包括的框架级别划分成预设数目个框架级别区间。

本发明实施例中以地理网格框架包括的框架级别为第0级至第23级为例进行说明,框架级别的划分与显示级别的划分一致,实际应用中可根据需求具体确定框架级别的级别划分。上述预设数目可以为4或5等,实际应用中可根据需求具体确定预设数目的取值。本发明实施例中,以预设数目取5为例进行说明,将第0级至第23级框架级别划分为0级~7级、8级~11级、12级~15级、16级~19级、20级~23级共5个框架级别区间。

A3:根据预设数目个框架级别区间,对各框架级别对应的瓦片数据进行打包存储。

本发明实施例中,将上述预设数目个框架级别区间中的任意框架级别区间称为第一框架级别区间,确定第一框架级别区间对应的打包级别及瓦片包数目。在地理网格框架中,将第一框架级别区间覆盖的区域均分为瓦片包数目个网格空间;将位于第一网格空间中的所有瓦片数据打包为一个瓦片包,并确定瓦片包的行列号,第一网格空间为瓦片包数目个网格空间中的任意网格空间;根据第一框架级别区间、打包级别及瓦片包的行列号,对瓦片包进行命名存储。

对于第一框架级别区间覆盖的每个网格空间,都与第一网格框架相同,按照上述方式打包出其他每个网格框架对应的瓦片包,并进行命名存储。每个框架级别区间都与第一框架级别区间相同,按照上述方式完成各框架级别对应的瓦片数据的打包存储。本发明实施例中确定出每个框架级别区间对应的打包级别后,还存储框架级别区间与打包级别的对应关系。

为了便于理解瓦片数据打包存储的策略,下面举例进行说明。对于步骤A2划分出的5个框架级别区间分别对应的打包级别及瓦片包数目如表2所示。将框架级别第0级~第7级的瓦片数据,打包至打包级别第0级;按照“框架级别区间-打包级别-瓦片包行号(w)-瓦片包列号(l)”对瓦片包命名,框架级别第0级~第7级的瓦片数据形成1个瓦片包“0-7-0-0-0”,瓦片包的数据格式为“.ptp”。将框架级别第8级~第11级的瓦片数据,打包至打包级别第3级,框架级别第8级~第11级的所有瓦片数据形成23*23共64个瓦片包。如图8所示,分包时将框架级别第8级至第11级覆盖的网格空间上属于第一个瓦片包网格空间的所有瓦片打包至第一个瓦片包“8-11-3-0-0.ptp”,以此类推。同样地,将框架级别第12~第15级的瓦片数据,打包至打包级别第7级。将框架级别第16~第19级的瓦片数据,打包至打包级别第11级。将框架级别第20级~第23级的瓦片数据,打包至打包级别第15级。

表2

在本发明实施例中,对第一预设纬度范围对应的中低纬度地区(-85.05°~85.05°)的瓦片数据、第二纬度地图包括的北极地区(85.05°~90°)的瓦片数据和南极地区(-90°~-85.05°)的瓦片数据,均按照本步骤的方式分别进行打包存储。在存储瓦片包时可以按照中低纬度地区、北极地区和南极地区进行分类存储。

为了满足千亿规模海量瓦片数据高效存储和访问的需求,本发明实施例采用瓦片数据打包的方式存储瓦片数据,建立了一套瓦片数据打包和命名的策略,将海量的瓦片数据打包为数量较小的瓦片包,如此在调用某个瓦片数据时可以先定位到包含该瓦片数据的瓦片包,再从该瓦片包包含的少量瓦片数据中调取目标瓦片数据,避免直接从海量瓦片数据中检索目标瓦片数据,实现了海量瓦片数据的高效存储,并且能够大大提高瓦片数据检索调用效率。

实施例2

参见图9,本发明实施例提供了一种全球一张图数据调用方法,该方法用于调取上述实施例1打包存储的瓦片数据,具体包括以下步骤:

步骤201:接收用户的地图显示请求,该地图显示请求携带需显示的经纬度坐标及显示级别。

当用户通过与电子地图相关的应用浏览全球地图时,用户通过拖拽全球地图使得终端显示其想要查看的地区,并通过放大或缩小操作来查看该地区的具体地物。用户正是通过拖拽、放大或缩小等操作向终端提交浏览请求,终端接收到该浏览请求时获取用户拖拽、放大或缩小等操作结束时用户所点击位置的经纬度坐标,以及根据用户放大或缩小操作的缩放程度确定对应的显示级别。然后终端发送地图显示请求给服务器,并在该地图显示请求中携带上述经纬度坐标及显示级别。

步骤202:根据经纬度坐标及显示级别,确定经纬度坐标对应的瓦片包。

本发明实施例通过如下步骤B1-B4的操来确定上述经纬度坐标对应的瓦片包,具体包括:

B1:根据地图显示请求携带的经纬度坐标及显示级别,确定该经纬度坐标对应的瓦片包所属的区域类型。

在本发明实施例中,瓦片包所属的区域类型分为第一预设纬度范围对应的地区(即中低纬度地区)、北极地区及南极地区,瓦片包根据中低纬度地区、北极地区和南极地区三个纬度区域进行分类存储的。

当显示级别为最低级时,如显示级别z=0时,该经纬度坐标对应的瓦片包所属的区域类型既包括第一预设纬度范围对应的地区,也包括南北极地区。即显示级别为最低级时需显示包含中低纬度地区、北极地区和南极地区的完整的全球地图。

当显示级别不是最低级时,确定地图显示请求携带的经纬度坐标所属的纬度范围,若该经纬度坐标属于第一预设纬度范围(-85.05°~85.05°),则该经纬度坐标对应的瓦片包所属的区域类型为第一预设纬度范围对应的地区。若该经纬度坐标属于北极地区的纬度范围(85.05°~90°),则该经纬度坐标对应的瓦片包所属的区域类型为北极地区。若该经纬度坐标属于南极地区的纬度范围(-90°~-85.05°),则该经纬度坐标对应的瓦片包所属的区域类型为南极地区。

B2:将经纬度坐标转换为平面坐标。

通过如下公式(1),将投影坐标系下的经纬度坐标(B,L)转换为平面坐标(X,Y)。

在公式(1)中,B0为标准纬度,LO为原点经度,a为地球椭球体长半轴,b为地球椭球体短半轴。

B3:根据显示级别,确定经纬度坐标对应的打包级别。

从实施例1中的表1可知显示级别与地理框架的框架级别是一一对应的,且实施例1在对瓦片数据打包存储的过程中,还存储了框架级别区间与打包级别的对应关系。因此根据地图显示请求携带的显示级别,确定该显示级别对应的框架级别区间,然后根据确定的框架级别区间,查询已存储的框架级别区间与打包级别的对应关系,获取对应的打包级别。从而确定出地图显示请求携带的经纬度坐标对应的打包级别。例如,当显示级别为第3级时,其对应的框架级别区间为0级~7级,通过实施例1中的表2可以确定出对应的打包级别为第0级。

B4:根据平面坐标及打包级别,计算经纬度坐标对应的瓦片包的行列号。

本发明实施例通过如下公式(2)计算上述经纬度坐标对应的瓦片包的行列号:

其中,在公式(2)中,w为瓦片包的行号,l为瓦片包的列号,(X,Y)为平面坐标,r为地球半径,c为打包级别。

例如,当显示级别为0级至7级时,所有瓦片都打包在同一个瓦片包(0-7-0-0-0)内,经纬度坐标对应的瓦片包的行号和列号均为0。当显示级别为8级至11级时,打包级别为第3级,且此时存在23*23共64个瓦片包,上述经纬度坐标对应的瓦片包的行号列号当显示级别为12级至15级时,打包级别为第7级,此时存在27*27个瓦片包,上述经纬度坐标对应的瓦片包的行号列号当显示级别为16级至19级时,打包级别为第11级,此时存在211*211个瓦片包,上述经纬度坐标对应的瓦片包的行号列号当显示级别为20级至23级时,打包级别为第15级,此时有215*215个瓦片包,上述经纬度坐标对应的瓦片包的行号列号

通过上述方式确定出地图显示请求所对应的瓦片包所属的区域类型及瓦片包的行列号之后,通过如下步骤203的操作来调取最终的目标瓦片数据。

步骤203:从瓦片包中获取经纬度坐标对应的瓦片数据。

根据显示级别及平面坐标,通过如下公式(3)计算上述经纬度对应的瓦片数据的行列号。

其中,在公式(3)中,x为瓦片数据的行号,y为瓦片数据的列号,(X,Y)为平面坐标,r为地球半径,z为显示级别。

根据瓦片包所属的区域类型、行列号及瓦片数据的行列号,从上述经纬度坐标对应的瓦片包中获取该经纬度坐标对应的瓦片数据。具体地,当瓦片包所属的区域类型包括第一预设纬度范围对应的地区、北极地区及南极地区时,根据瓦片包的行列号,从中低纬度地区对应的所有瓦片包中定位出上述经纬度坐标对应的瓦片包,然后根据上述计算的瓦片数据的行列号,从定位出的该瓦片包中获取出需要的瓦片数据。同样地,按照上述方式分别从北极地区对应的瓦片包及南极地区对应的瓦片包中获取出需要的瓦片数据。

当瓦片包所属的区域类型仅包括北极地区时,根据瓦片包的行列号,从北极地区对应的所有瓦片包中定位出上述经纬度坐标对应的瓦片包,然后根据上述计算的瓦片数据的行列号,从定位出的该瓦片包中获取出需要的瓦片数据。

当瓦片包所属的区域类型仅包括南极地区时,根据瓦片包的行列号,从南极地区对应的所有瓦片包中定位出上述经纬度坐标对应的瓦片包,然后根据上述计算的瓦片数据的行列号,从定位出的该瓦片包中获取出需要的瓦片数据。

另外,因为本发明实施例中高纬度地区与中低纬度地区选取的投影方式不同,因此当显示级别为最低显示级别时,需确定高纬度地区的比例尺大小,使高纬度地区与中低纬度地区接边的地方地物大小一致,即在纬度为±85°的地物与中低纬度地区地物大小一致。具体地,确定第二预设纬度范围对应的第二纬度地图取实际距离为预设距离的正方形影像。例如,显示级别z=0时,高纬度地区取实际距离为2π×r×cos 85°≈3492768m的正方形影像。

由于在海量瓦片数据存储时,按照中低纬度地区、北极地区和南极地区进行了分类存储,每个地区的瓦片数据又打包为多个瓦片包进行存储。因此在调用瓦片数据时,首先根据用户请求的经纬度坐标,锁定需调用的瓦片数据所属的地区,然后从锁定的地区对应的瓦片包中确定出包含目标瓦片数据的瓦片包,最后从确定出的瓦片包中获取目标瓦片数据。虽然海量瓦片数据的数目庞大,但是每个地区对应的瓦片包的数目相对很少,每个瓦片包包含的瓦片数据的数目也相对较少,从数目相对很少的瓦片包中检索一个瓦片包,以及从数目相对较少的瓦片数据中检索一个瓦片数据,这两步操作花费的时间都很少,能够快速检索出需要的瓦片数据,大大提高了全球一张图数据调用速度和效率。

实施例3

参见图10,本发明实施例提供了一种全球一张图数据存储组织装置,该装置用于执行上述实施例1所述的全球一张图数据存储组织方法,该装置包括:

投影模块30,用于获取全球地图,将全球地图投影至全球坐标框架中;

构建模块31,用于根据全球坐标框架,构建全球地图对应的地理网格框架;

切片模块32,用于对全球地图切片,得到全球地图对应的瓦片数据;

打包存储模块33,用于根据地理网格框架,对全球地图对应的瓦片数据进行打包存储。

上述投影模块30,用于采用墨卡托投影方式对全球地图进行投影,从墨卡托投影后的全球地图中裁剪出第一预设纬度范围的第一纬度地图;采用正轴等角方位投影对全球地图进行投影,从正轴等角方位投影后的全球地图中裁剪出第二预设纬度范围的第二纬度地图;将第一纬度地图和第二纬度地图组成全球坐标框架。

上述构建模块31,用于采用四叉树方式分别构建各显示级别下第一纬度地图对应的第一地理网格框架;采用四叉树方式分别构建各显示级别下第二纬度地图对应的第二地理网格框架。

上述切片模块32,用于根据瓦片金字塔模型,分别对第一纬度地图和第二纬度地图切片,得到第一纬度地图对应的第一纬度瓦片和第二纬度地图对应的第二纬度瓦片。

上述打包存储模块33包括:

确定单元,用于确定地理网格框架中各框架级别对应的瓦片数据;

划分单元,用于将地理网格框架包括的框架级别划分成预设数目个框架级别区间;

打包存储单元,用于根据预设数目个框架级别区间,对各框架级别对应的瓦片数据进行打包存储。

上述打包存储单元,用于确定第一框架级别区间对应的打包级别及瓦片包数目,第一框架级别区间为预设数目个框架级别区间中的任意框架级别区间;在地理网格框架中,将第一框架级别区间覆盖的区域均分为瓦片包数目个网格空间;将位于第一网格空间中的所有瓦片数据打包为一个瓦片包,并确定瓦片包的行列号,第一网格空间为瓦片包数目个网格空间中的任意网格空间;根据第一框架级别区间、打包级别及瓦片包的行列号,对瓦片包进行命名存储。

实施例4

参见图11,本发明实施例提供了一种全球一张图数据调用装置,该装置用于执行实施例2所提供的全球一张图数据调用方法,用以调用采用实施例1提供的方法打包存储的瓦片数据,该装置包括:

接收模块40,用于接收用户的地图显示请求,地图显示请求携带需显示的经纬度坐标及显示级别;

确定模块41,用于根据经纬度坐标及显示级别,确定经纬度坐标对应的瓦片包;

获取模块42,用于从瓦片包中获取经纬度坐标对应的瓦片数据。

上述确定模块41,包括:

确定单元,用于根据经纬度坐标及显示级别,确定经纬度坐标对应的瓦片包所属的区域类型;

转换单元,用于将经纬度坐标转换为平面坐标;

上述确定单元,还用于根据显示级别,确定经纬度坐标对应的打包级别;

计算单元根据平面坐标及打包级别,计算经纬度坐标对应的瓦片包的行列号。

上述获取模块42,用于根据显示级别及平面坐标,计算经纬度对应的瓦片数据的行列号;根据瓦片包所属的区域类型、行列号及瓦片数据的行列号,从经纬度坐标对应的瓦片包中获取经纬度坐标对应的瓦片数据。

在本发明实施例中,该装置还包括:比例尺确定模块,用于当显示级别为最低显示级别时,确定第二预设纬度范围对应的第二纬度地图取实际距离为预设距离的正方形影像。

实施例5

本发明实施例提供了一种非易失性计算机存储介质,该计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述实施例1中的全球一张图数据存储组织方法,具体执行以下方法:获取全球地图,将全球地图投影至全球坐标框架中;根据全球坐标框架,构建全球地图对应的地理网格框架;对全球地图切片,得到全球地图对应的瓦片数据;根据地理网格框架,对全球地图对应的瓦片数据进行打包存储。

该计算机存储介质存储的计算机可执行指令执行后采用瓦片数据打包的方式存储瓦片数据,建立了一套瓦片数据打包和命名的策略,将海量的瓦片数据打包为数量较小的瓦片包,如此在调用某个瓦片数据时可以先定位到包含该瓦片数据的瓦片包,再从该瓦片包包含的少量瓦片数据中调取目标瓦片数据,避免直接从海量瓦片数据中检索目标瓦片数据,实现了海量瓦片数据的高效存储,并且能够大大提高瓦片数据检索调用效率。

实施例6

如图12所示,本发明实施例提供了一种全球一张图数据存储组织装置,该全球一张图数据存储组织装置60包括:处理器61、存储器62和总线63,存储器62存储有执行指令,当该装置运行时,处理器61与存储器62之间通过总线63通信,处理器61执行存储器62中存储的如下执行指令:获取全球地图,将全球地图投影至全球坐标框架中;根据全球坐标框架,构建全球地图对应的地理网格框架;对全球地图切片,得到全球地图对应的瓦片数据;根据地理网格框架,对全球地图对应的瓦片数据进行打包存储。

该全球一张图数据存储组织装置通过处理器61执行上述指令,采用瓦片数据打包的方式存储瓦片数据,建立了一套瓦片数据打包和命名的策略,将海量的瓦片数据打包为数量较小的瓦片包,如此在调用某个瓦片数据时可以先定位到包含该瓦片数据的瓦片包,再从该瓦片包包含的少量瓦片数据中调取目标瓦片数据,避免直接从海量瓦片数据中检索目标瓦片数据,实现了海量瓦片数据的高效存储,并且能够大大提高瓦片数据检索调用效率。

实施例7

本发明实施例提供了一种非易失性计算机存储介质,该计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述实施例2中的全球一张图数据调用方法,具体执行以下方法:接收用户的地图显示请求,地图显示请求携带需显示的经纬度坐标及显示级别;根据经纬度坐标及显示级别,确定经纬度坐标对应的瓦片包;从瓦片包中获取经纬度坐标对应的瓦片数据。

该计算机存储介质存储的计算机可执行指令执行后对全球一张图的海量瓦片数据按照中低纬度地区、北极地区和南极地区进行了分类存储,每个地区的瓦片数据又打包为多个瓦片包进行存储。因此在调用瓦片数据时,首先根据用户请求的经纬度坐标,锁定需调用的瓦片数据所属的地区,然后从锁定的地区对应的瓦片包中确定出包含目标瓦片数据的瓦片包,最后从确定出的瓦片包中获取目标瓦片数据。虽然海量瓦片数据的数目庞大,但是每个地区对应的瓦片包的数目相对很少,每个瓦片包包含的瓦片数据的数目也相对较少,从数目相对很少的瓦片包中检索一个瓦片包,以及从数目相对较少的瓦片数据中检索一个瓦片数据,这两步操作花费的时间都很少,能够快速检索出需要的瓦片数据,大大提高了海量瓦片数据的调用速度和效率。

实施例8

如图13所示,本发明实施例提供了一种全球一张图数据调用装置,该全球一张图数据调用装置80包括:处理器81、存储器82和总线83,存储器82存储有执行指令,当该装置运行时,处理器81与存储器82之间通过总线83通信,处理器81执行存储器82中存储的如下执行指令:接收用户的地图显示请求,地图显示请求携带需显示的经纬度坐标及显示级别;根据经纬度坐标及显示级别,确定经纬度坐标对应的瓦片包;从瓦片包中获取经纬度坐标对应的瓦片数据。

该全球一张图数据调用装置通过处理器81执行上述指令,对全球一张图的海量瓦片数据按照中低纬度地区、北极地区和南极地区进行了分类存储,每个地区的瓦片数据又打包为多个瓦片包进行存储。因此在调用瓦片数据时,首先根据用户请求的经纬度坐标,锁定需调用的瓦片数据所属的地区,然后从锁定的地区对应的瓦片包中确定出包含目标瓦片数据的瓦片包,最后从确定出的瓦片包中获取目标瓦片数据。虽然海量瓦片数据的数目庞大,但是每个地区对应的瓦片包的数目相对很少,每个瓦片包包含的瓦片数据的数目也相对较少,从数目相对很少的瓦片包中检索一个瓦片包,以及从数目相对较少的瓦片数据中检索一个瓦片数据,这两步操作花费的时间都很少,能够快速检索出需要的瓦片数据,大大提高了海量瓦片数据的调用速度和效率。

本发明实施例所提供的全球一张图数据存储组织装置及调用装置可以为设备上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。

在本发明所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号