一种利用打包技术解决地图瓦片存储的方法转让专利

申请号 : CN201410499279.2

文献号 : CN104217023B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨震威于少飞

申请人 : 山东康威通信技术股份有限公司

摘要 :

本发明公开了一种利用打包技术解决地图瓦片存储的方法,包括以下步骤:整理所有层的瓦片文件,并对其进行统一化命名;根据每一层中瓦片文件的个数决定打包文件的组织结构;打包文件根目录增加一个配置资源,用来存储瓦片的尺寸、命名规则、图片类型和组织结构,每层对应一个打包文件;根据具体任务使用打包文件,转移、FTP下载、FTP上传或发布。本发明利用带索引的打包文件提高查询效率,最大限度减小算法的时间复杂度。有效减少了节点的搜索数目,有效提高了算法的实时性,并保证了查找的准确性。同时,也有效提高了查询效率和有效节省了查询时间。

权利要求 :

1.一种利用打包技术解决地图瓦片存储的方法,其特征是:包括以下步骤:(1)整理所有层的瓦片文件,并对其进行统一化命名;

(2)根据每一层中瓦片文件的个数决定打包文件的组织结构;

(3)打包文件根目录增加一个配置资源,用来存储瓦片的尺寸、命名规则、图片类型和组织结构,每层对应一个打包文件;

(4)根据具体任务使用打包文件,转移、FTP下载、FTP上传或发布;

所述步骤(2)中,如果瓦片文件个数小于65535,则打包文件中不分级;否则将打包文件分为两级,第一级使用行号命名,第二级使用列号命名;分级既有利于使机构变得清晰,亦有利于瓦片的快速查找;

所述步骤(4)中,每层对应一个打包文件,具体步骤包括:(a)准备打包文件的文件头;

(b)开始资源系统:如果是小地图,依次添加瓦片文件到打包文件的根目录;如果是大地图,首先根据当前行号增加文件夹结构,然后将同行瓦片添加到此目录;

生成xml配置文件,并将文件添加到打包文件的根目录。

2.如权利要求1所述的一种利用打包技术解决地图瓦片存储的方法,其特征是:所述步骤(1)中,按照先行后列的命名原则整理所有层的瓦片文件。

3.如权利要求1所述的一种利用打包技术解决地图瓦片存储的方法,其特征是:所述步骤(2)中,具体包括以下步骤:(i)获取本层瓦片的总个数;

(ii)如果瓦片总个数小于65535,则直接将所有文件放在同一级目录内打包入文件;将此类属性的地图层称为“小地图”;

(iii)如果瓦片总个数大于65535,则将行号作为目录的第一层,列号作为第二层存储瓦片数据;检查以行号命名的目录是否存在,不存在就创建目录,然后再将瓦片打包入此目录。

4.如权利要求1所述的一种利用打包技术解决地图瓦片存储的方法,其特征是:所述步骤(3)中,具体步骤包括:使用XML格式存储配置数据,分别定义大地图、小地图的瓦片的矩阵行数、列数、命名模式、开始行号、开始列号、地图的大小属性、瓦片的属性、瓦片的名称、是否通配、宽度与高度。

5.如权利要求1所述的一种利用打包技术解决地图瓦片存储的方法,其特征是:所述步骤(4)中,使用打包文件的方法具体包括:

(A)转移:拷贝打包文件到其它任何需要的地方,拷贝一个大文件要比拷贝同等总大小,但数量多的小文件,速度要快上几十倍;

(B)FTP下载:可选择从FTP服务器下载整个打包文件,然后解压使用或不解压直接使用;或选择从FTP上边下载,边在内存中解压瓦片文件,不需要在本地磁盘存储庞大的中间文件;

(C)FTP上传:可选择在本地生成打包文件后,再上传打包文件到FTP服务器;或者直接边在内存中打包,边上传到FTP服务器,不需要在本地磁盘存储庞大的中间文件;

(D)发布:向第三方合作伙伴或客户直接发布打包文件。

说明书 :

一种利用打包技术解决地图瓦片存储的方法

技术领域

[0001] 本发明涉及一种利用打包技术解决地图瓦片存储的方法。

背景技术

[0002] 瓦片地图模型是一种多分辨率层次模型,从模型的第0层开始到顶层,分辨率越来越低,但表示的地理范围不变。首先把缩放级别最低、地图比例尺最大的地图图片作为模型的底层,即第0层,并对其进行分块,从地图图片的左上角开始,从左至右、从上到下进行切割,分割成相同大小(比如256x256像素)的正方形地图瓦片,形成第0层瓦片矩阵;在第0层地图图片的基础上,按每2x2像素合成为一个像素的方法生成第1层地图图片,并对其进行分块,分割成与下一层相同大小的正方形地图瓦片,形成第1层瓦片矩阵;采用同样的方法生成第2层瓦片矩阵;直到第N层,构成整个瓦片模型。
[0003] 从上述原理可以看出,每层瓦片矩阵的块个数成4的倍数增长,以最简单的第0层1张图片为例,第一层为1*4=4,第二层1*4*4=16,第三层1*4*4*4,…;如此下去,第10层将是4的10次方,等于1048576,数量已经相当可观了。在常见的文件系统中,存储、转移、拷贝和发布这些数量庞大的文件时,都会面临耗时的等待问题。如果向第三方发布瓦片文件,还将面临数据保护问题。

发明内容

[0004] 本发明为了解决上述问题,提出了一种利用打包技术解决地图瓦片存储的方法,本方法将地图瓦片内容按照一定的命名规则和组织结构,存储在一个打包文件内的方法。此种方式既有效的解决了存储、转移、拷贝和发布地图瓦片时的耗时问题,又较好的执行了数据保护。
[0005] 为了实现上述目的,本发明采用如下技术方案:
[0006] 一种利用打包技术解决地图瓦片存储的方法,包括以下步骤:
[0007] (1)整理所有层的瓦片文件,并对其进行统一化命名;
[0008] (2)根据每一层中瓦片文件的个数决定打包文件的组织结构;
[0009] (3)打包文件根目录增加一个配置资源,用来存储瓦片的尺寸、命名规则、图片类型和组织结构,每层对应一个打包文件;
[0010] (4)根据具体任务使用打包文件,转移、FTP下载、FTP上传或发布。
[0011] 所述步骤(1)中,按照先行后列的命名原则整理所有层的瓦片文件。
[0012] 所述步骤(2)中,如果瓦片文件个数小于65535,则打包文件中不分级;否则将打包文件分为两级,第一级使用行号命名,第二级使用列号命名;分级既有利于使机构变得清晰,亦有利于瓦片的快速查找。
[0013] 所述步骤(2)中,具体包括以下步骤:
[0014] (i)获取本层瓦片的总个数;
[0015] (ii)如果瓦片总个数小于65535,则直接将所有文件放在同一级目录内打包入文件;将此类属性的地图层称为“小地图”;
[0016] (iii)如果瓦片总个数大于65535,则将行号作为目录的第一层,列号作为第二层存储瓦片数据;检查以行号命名的目录是否存在,不存在就创建目录,然后再将瓦片打包入此目录。
[0017] 所述步骤(3)中,具体步骤包括:使用XML格式存储配置数据,分别定义大地图、小地图的瓦片的矩阵行数、列数、命名模式、开始行号、开始列号、地图的大小属性、瓦片的属性、瓦片的名称、是否通配、宽度与高度。
[0018] 所述步骤(4)中,每层对一个打包文件,具体步骤包括:
[0019] (a)准备打包文件的文件头;
[0020] (b)开始资源系统:如果是小地图,依次添加瓦片文件到打包文件的根目录;如果是大地图,首先根据当前行号增加文件夹结构,然后将同行瓦片添加到此目录;
[0021] (c)生成xml配置文件,并将文件添加到打包文件的根目录。
[0022] 所述步骤(4)中,使用打包文件的方法具体包括:
[0023] (A)转移:拷贝打包文件到其它任何需要的地方,拷贝一个大文件要比拷贝同等总大小,但数量多的小文件,速度要快上几十倍;
[0024] (B)FTP下载:可选择从FTP服务器下载整个打包文件,然后解压使用或不解压直接使用;或选择从FTP上边下载,边在内存中解压瓦片文件,不需要在本地磁盘存储庞大的中间文件;
[0025] (C)FTP上传:可选择在本地生成打包文件后,再上传打包文件到FTP服务器;或者直接边在内存中打包,边上传到FTP服务器,不需要在本地磁盘存储庞大的中间文件;
[0026] (D)发布:向第三方合作伙伴或客户直接发布打包文件。
[0027] 资源,代表单个独立的实体,其包含资源名称、创建、修改时期、数据大小、是否压缩、压缩大小和实际的资源数据;资源组,代表一组资源的分组,其包含组名称、创建、修改日期和资源系统;资源系统,各类资源总成的抽象概念,打包文件的文件体就是一个完整的资源系统,其包含资源的总个数和资源或资源组的总个数和资源组。
[0028] 资源系统的组成为自描述结构,整个系统的层次、命名和日期信息,连续存储在整个文件体中,实现向FTP服务器边打包边上传,和从FTP服务器边下载边解包。
[0029] 本发明的有益效果为:
[0030] (1)在计算机或各种手持嵌入式可移动设备地图瓦片存储处理技术领域是一个新的突破,全面解决了转移、发布效率低的问题,提供了一种地理信息处理技术领域的新思路;
[0031] (2)利用打包文件来存储地图瓦片,最大限度地减少文件系统的负担,这样不仅提高了文件的查找、拷贝、转移和发布效率,也会有效提高计算机或者各种手持嵌入式可移动设备的存储使用效率,有效提高了各种设备的运行效率;
[0032] (3)利用带索引的打包文件提高查询效率,最大限度减小算法的时间复杂度。有效减少了节点的搜索数目,有效提高了算法的实时性,并保证了查找的准确性。同时,也有效提高了查询效率和有效节省了查询时间。

附图说明

[0033] 图1为本发明的总体流程图;
[0034] 图2为本发明的瓦片打包的流程图;
[0035] 图3为本发明的瓦片使用流程图;
[0036] 图4为本发明的小地图层次示意图;
[0037] 图5为本发明的大地图层次示意图。具体实施方式:
[0038] 下面结合附图与实施例对本发明作进一步说明。
[0039] 如图1所示,首先按照一定的命名规则整理地图瓦片文件,然后将瓦片文件打包,打包完成后,生成配置数据存入打包文件,最后打包文件生成成功后,使用打包文件。
[0040] 整理瓦片文件,按照先行后列的命名规则整理瓦片文件,例如第1行,第1列,命名y1x1。第m行,第n列,命名ymxn。此种命名方法,简单易懂,不会重名,且易于后期处理和使用,y表示行,x表示列,第m行,第n列,表示成ymxn。
[0041] 如图4、5所示,打包处理,依据瓦片的个数,分为两种打包方式,个数小于65535的不分层,所有瓦片数据同层存储在根目录下,约定将此类属性的地图层称为“小地图”;大于65535的,分为两层存储,第一层使用行号命名,第二层使用列号命名,第二层存储瓦片数据,约定将此类属性的地图层称为“大地图”。
[0042] 配置数据,对瓦片的一些属性使用XML格式存储,并打包入打包文件,后期使用打包文件内容时,将以此配置数据内的内容为依据。
[0043] 使用打包文件,打包文件不解压,就可以直接在软件中使用,根据索引数据查询瓦片文件位置,然后读取瓦片数据使用。
[0044] 如图2所示,进一步说明如下:
[0045] 步骤一、获取本层瓦片的总个数;
[0046] 步骤二、如果瓦片总个数小于65535,则直接将所有文件放在同一级目录内打包入文件;
[0047] 步骤三、如果瓦片总个数大于65535,则将行号作为目录的第一层,列号作为第二层存储瓦片数据;检查以行号命名的目录是否存在,不存在就创建目录,然后再将瓦片打包入此目录;
[0048] 步骤四、准备地图瓦片的配置数据,并把配置数据打包入打包文件;
[0049] 如图3所示,进一步说明如下:
[0050] 步骤一、读取打包文件的索引数据;
[0051] 步骤二、在资源系统中查找配置数据;
[0052] 如果找到配置数据,则读取配置数据的内容;
[0053] 如果找不到配置数据,则使用缺省值初始化配置项;
[0054] 步骤三、(GIS系统或其它子系统)需要瓦片数据:
[0055] 判断是否为“大地图”,如是,则按照先行后列的规则组织查询条件,查找瓦片文件;
[0056] 如果为“小地图”,则按照配置数据中定义的命名规则组织查询条件,然后查找瓦片文件;
[0057] 步骤四、向查询子系统返回查询结果。
[0058] 上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。