CN103412962B - 一种海量瓦片数据的存储方法及读取方法 - Google Patents
一种海量瓦片数据的存储方法及读取方法 Download PDFInfo
- Publication number
- CN103412962B CN103412962B CN201310398165.4A CN201310398165A CN103412962B CN 103412962 B CN103412962 B CN 103412962B CN 201310398165 A CN201310398165 A CN 201310398165A CN 103412962 B CN103412962 B CN 103412962B
- Authority
- CN
- China
- Prior art keywords
- data
- tile data
- index file
- file
- level index
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种海量瓦片数据的存储方法及读取方法,其中存储方法包括:根据获取的瓦片数据的分层信息生成一级索引文件的数据块;将一级索引文件的数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据位置坐标和分块信息生成对应瓦片数据的二级索引文件;按照先到先存的方式将瓦片数据存储;在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储。本发明提供的海量瓦片数据的存储方法及读取方法,采用分层、分块存取策略,可以精确描述瓦片数据存储位置,保障了数据结构的科学性组织和数据存储空间,支持超大数据量的数据存储读写,提高了对数据文件的I/O处理效率,极大地减少了数据检索时间。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种海量瓦片数据的存储方法及读取方法。
背景技术
数字地球是美国副总统戈尔于1998年1月在加利福尼亚科学中心开幕典礼上发表的题为“数字地球:认识二十一世纪我们所居住的星球”演说时,提出的一个与地理信息系统(GeographicInformation System,GIS)、网络、虚拟现实等高新技术密切相关的概念。数字地球要解决的技术问题,包括计算机科学、海量数据存贮、卫星遥感技术、宽带网络、互操作性、元数据等。数字地球的提出导致了海量数据成为GIS界广泛接受的常用术语。随着数字地球的研究、地理信息系统应用领域的拓展、各种问题研究的动态性,以及数字地图数据比例尺的增大,使得整个空间数据量不断增加,人们所需要处理的数据量也越来越大,而这些空间数据已经达到GB、TB乃至PB数量级以上。
空间数据获取的数据量呈现几何级数增长,大范围、海量数据的获取已经成为现实,这些数据一方面为利用虚拟现实技术更加真实反映现实世界的变化提供了丰富的资源,另一方面也增加了数据管理的复杂程度。如何解决海量数据的高效存储处理,对于向政府、企业、社会公众提供更为直观易懂、内容丰富的地理信息服务具有重要意义。
目前,海量地形数据存储管理方面还存在着一些不足。传统数据文件和空间数据库是进行地形数据存储的常用方法。数据文件的管理方式采用多级分辨率、分文件存储,并将其分割成块,按一定的文件格式存储成磁盘文件。这就造成数据存储量大、查询检索困难、海量数据调入响应时间长、属性数据组织困难等缺陷。空间数据库的管理方式采用金字塔数据组织形式,将海量卫星影像和地形数据存储到SQLServer、Oracle等大型空间数据库中,使得数据组织科学性、数据检索与调入速度等方面有了一定的改善和提升,但是由于上述大型空间数据库的数据冗余、占用存储空间大、数据迁移困难等缺点,仍然无法满足海量数据存储和读取要求。
发明内容
本发明的目的在于提供一种海量瓦片数据的存储方法及读取方法,以解决上述问题。
为了达到上述目的,本发明的技术方案是这样实现的:
一种海量瓦片数据的存储方法,包括如下步骤:
根据欲存储的瓦片数据的属性信息,获取所述瓦片数据的分层信息;根据所述瓦片数据的分层信息生成一级索引文件的数据块;
将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据所述位置坐标和分块信息生成对应所述瓦片数据的二级索引文件;
按照先到先存的方式将瓦片数据存储在预设文件中;
在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储;
其中,所述预设文件为一个大字段的二进制文件。
相应地,本发明还提供了一种海量瓦片数据的读取方法,包括如下步骤:
接收目标瓦片数据的读取请求信息;
根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置;
根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度;
根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作。
与现有技术相比,本发明实施例的优点在于:
首先,预先建立初始化的索引模型;这是实现建立海量瓦片数据索引模型的预处理过程,该索引模型包括瓦片数据文件和索引文件两个部分。
按照欲存储的瓦片数据属性信息,首先获取瓦片数据的分层信息;然后根据瓦片数据的分层信息生成一级索引文件的数据块;将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据所述位置坐标和分块信息生成对应所述瓦片数据的二级索引文件;这是实现建立海量瓦片数据索引模型的预处理过程,该索引模型包括瓦片数据文件和索引文件两个部分的分别存储,构建了对上述瓦片数据文件存储基本框架结构。
然后,按照先到先存的方式将瓦片数据存储在预设文件中;在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储。即在每次进行瓦片数据存储写入时,都将对应生成索引文件,瓦片数据与该索引文件一一对应,且该索引文件用于描述对应瓦片数据存储位置(即确定瓦片数据的所属数据分层、所属数据块、所属单元格)的特征(即瓦片数据的属性信息)。提取瓦片数据的特征(即瓦片数据的属性信息)分析处理为其对应的索引文件的索引值,在每次进行存储瓦片数据都会得到具有唯一描述其存储位置特征的索引文件,且该索引文件具有两级递进关系索引项,这样可以保障精确、稳定定位瓦片数据的存储信息特征,同时该索引文件与瓦片数据分别存储在索引模型的不同位置上(即分区存储),这样分别存储可以保障读取瓦片数据和索引文件不会产生读写冲突,充分保障了索引模型读写空间。这样本发明提供的海量瓦片数据索引模型中的索引文件的两级索引项,可以精确描述存储位置,且采用索引文件和瓦片数据分区存储,可以保障数据结构的科学性组织、保障了数据存储空间,支持超大数据量的数据(例如:TB级)存储读写。
相应地,在上述索引模型的基础上(即瓦片数据存储后),利用所述索引模型实现对目标数据的读取(即检索),这样在进行目标瓦片数据检索步骤时,首先接收目标瓦片数据的读取请求信息;
然后,根据目标瓦片数据的读取请求信息,根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置;然后根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度,最后找到目标瓦片数据在预设文件中的存储位置;
根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作。
通过上述两级索引项可以精确地找到索引模型中的目标瓦片数据,根据索引文件的两级索引项确定目标瓦片数据并进行读取,实现对目标瓦片数据的检索操作。本发明提供的海量瓦片数据的存储方法及读取方法,采用了二级精确索引策略,极大地减少了瓦片数据存储和读取的时间,利用上述索引模型可以实现数据的高速迁移,提高了对数据文件的I/O处理效率。
附图说明
图1为本发明实施例一提供的海量瓦片数据的存储方法的流程示意图;
图2为本发明实施例一提供的海量瓦片数据的存储方法中一级索引结构的结构示意图;
图3为本发明实施例一提供的海量瓦片数据的存储方法中二级索引结构的结构示意图;
图4为本发明实施例一提供的海量瓦片数据的存储方法中瓦片数据存储的结构示意图;
图5为本发明实施例二提供的海量瓦片数据的读取方法的流程示意图。
具体实施方式
下面通过具体的实施例子并结合附图对本发明做进一步的详细描述。
实施例一
参见图1,本发明实施例一提供了一种海量瓦片数据的存储方法(即数据建模方法),包括如下步骤:
步骤S100、根据欲存储的瓦片数据的属性信息,获取所述瓦片数据的分层信息;根据所述瓦片数据的分层信息生成一级索引文件的数据块;
步骤S200、将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据所述位置坐标和分块信息生成对应所述瓦片数据的二级索引文件;
步骤S300、按照先到先存的方式将瓦片数据存储在预设文件中;
步骤S400、在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储。
其中,所述预设文件为一个大字段的二进制文件,其文件格式可根据实际需求由用户定义。例如:Oracle的大字段,一般储存影音等信息,可以为上数G的文件。
所述瓦片数据的属性信息包括瓦片数据所反映的区域地形分布的高程信息和瓦片数据的层号L、行号R和列号C。
在本发明实施例一中,首先,预先建立初始化的索引模型;这是实现建立海量瓦片数据索引模型的预处理过程,该索引模型包括瓦片数据文件和索引文件两个部分。
按照欲存储的瓦片数据属性信息,首先获取瓦片数据的分层信息;然后根据瓦片数据的分层信息生成一级索引文件的数据块;将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据所述位置坐标和分块信息生成对应所述瓦片数据的二级索引文件;这是实现建立海量瓦片数据索引模型的预处理过程,该索引模型包括瓦片数据文件和索引文件两个部分的分别存储,构建了对上述瓦片数据文件存储基本框架结构。
然后,按照先到先存的方式将瓦片数据存储在预设文件中;在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储。即在每次进行瓦片数据存储写入时,都将对应生成索引文件,瓦片数据与该索引文件一一对应,且该索引文件用于描述对应瓦片数据存储位置(即确定瓦片数据的所属数据分层、所属数据块、所属单元格)的特征(即瓦片数据的属性信息)。提取瓦片数据的特征(即瓦片数据的属性信息)分析处理为其对应的索引文件的索引值,在每次进行存储瓦片数据都会得到具有唯一描述其存储位置特征的索引文件,且该索引文件具有两级递进关系索引项,这样可以保障精确、稳定定位瓦片数据的存储信息特征,同时该索引文件与瓦片数据分别存储在索引模型的不同位置上(即分区存储),这样分别存储可以保障读取瓦片数据和索引文件不会产生读写冲突,充分保障了索引模型读写空间。这样本发明提供的海量瓦片数据索引模型中的索引文件的两级索引项,可以精确描述存储位置,且采用索引文件和瓦片数据分区存储,可以保障数据结构的科学性组织、保障了数据存储空间,支持超大数据量的数据(例如:TB级)存储读写。
下面对上述各步骤进行详细说明:
较佳地,在步骤S100中,所述根据欲存储的瓦片数据的属性信息,获取所述瓦片数据的分层信息;根据所述瓦片数据的分层信息生成一级索引文件的数据块,包括如下步骤:
步骤S101、根据瓦片数据所对应的影像的分辨率的大小,并按照金字塔全球覆盖行列号的标准进行行列号排列,记录瓦片数据的层号L、行号R和列号C作为瓦片数据的分层信息;将每一层一级索引文件分割成大小相同的多个数据块B,将多个所述数据块B按照预设顺序(如图2所示,例如:从左到右的顺序)进行标识号编号,记载与所述数据块B一一对应的标识号ID作为一级索引文件的分块信息。
在上述步骤中,获取索引模型中瓦片数据进行数据的分层信息,即记录瓦片数据的层号L、行号R和列号C;其中,瓦片数据层号记为L,瓦片数据所在行号记为R,瓦片数据所在列号记为C。根据海量数据存储需求,将每一层数据对应的一级索引文件分割成统一大小的数据块。将数据块从左上角开始依次编号,如图2所示,其中数据块编号记为BlockNum(简写为数据块B)。
在步骤S200中,所述将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标,包括如下步骤:
步骤S201、对每个一级索引文件的数据块B划分为128×128的数据网格;对数据块中的每个单元格进行坐标编号(x,y);
其中:x∈[0,127],y∈[0,127],且x、y取值均为整数。
在步骤S400之前,还包括如下步骤:
步骤S301、选择一级索引文件的所述分块信息中所述标识号ID和所述分层信息中数据块B所属的层号L、行号R和列号C作为瓦片数据对应的一级索引文件的一级索引值;
步骤S302、选择数据块B中单元格起始值偏移量和长度size作为瓦片数据对应的二级索引文件的二级索引值。
需要说明的是,所述在每次进行瓦片数据存储写入时,将对应生成索引文件,同时将对应生成的索引文件分开存储在所述索引模型中,并在存储时提取瓦片数据的属性信息,建立对应的索引文件两级索引,完成构建索引模型的操作。
进一步地,在步骤S400中,所述在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储,包括如下步骤:
步骤S401、在每次进行目标瓦片数据存储写入时,记录目标瓦片数据起始存储位置和瓦片数据长度,确定目标瓦片数据对应的二级索引文件的二级索引值;
所述二级索引值包括瓦片数据起始值偏移量off(x,y)和瓦片数据长度size的集合;
其中:二级索引值为:(off(x,y),size);
步骤S402、根据目标瓦片数据的分层信息,在已建立的瓦片数据对应的一级索引文件中遍历数据块B,判断查找是否存在与所述目标瓦片数据对应的一级索引文件的数据块相匹配的数据块B;若是,则将目标瓦片数据对应的一级索引文件的数据块存储至相匹配的数据块B中;若否,则新建一个数据块B并将所述瓦片数据对应的一级索引文件的数据块存储至新建的数据块B中;确定存储后目标瓦片数据对应的一级索引文件的数据块B一一对应的标识号ID,确定目标瓦片数据对应的一级索引文件的一级索引值;
所述一级索引值包括与数据块B一一对应的分块信息中标识号ID和数据块B所属层号L、行号R和列号C的集合;
其中:一级索引值为:ID和(L,R,C,B)。
其中:x∈[0,127],y∈[0,127],且x、y取值为整数。如图3所示,将每一个数据块划分为128*128的数据网格。对数据块中的单元格进行坐标(x,y)编号,其中x、y=0,1,……,127。在每一个数据块中依次存储二级索引,并记录该二级索引对应的瓦片数据在预设文件中的起始值偏移量off(x,y)和数据长度size。
其中索引文件的索引值包括一级索引值与二级索引值。一级索引值(L,R,C,B)的数据体在计算机中共占10个字节,其中L占1个字节,R、C、B分别占3个字节。二级索引值(off(x,y),size)的数据体在计算机中共占9个字节,其中off(x,y)表示对应目标数据的起始瓦片在该数据块中的起始值偏移量,占5个字节,size表示目标数据所包含的瓦片长度,占4个字节。
采用二级索引策略,通过建立一、二级索引结构(数据划分层-划分块-划分网格),可以实现海量瓦片数据的精确索引,为后续的数据检索做准备操作。
较佳地,所述瓦片数据的行列号确定方式符合金字塔全球覆盖行列号的标准。其中:瓦片数据支持LOD金字塔全球覆盖行列号,数据文件在计算机中依次存储,如图4所示。
基于同一发明构思,本发明实施例二还提供了一种海量瓦片数据的读取方法,由于此方法解决问题的原理在前述海量瓦片数据索引模型基础上实现,因此该方法的实施可以参见前述海量瓦片数据的存储方法,重复之处不再赘述。
实施例二
参见图5,本发明实施例二还提供了一种海量瓦片数据的读取方法,包括如下步骤:
步骤S600、接收目标瓦片数据的读取请求信息;
步骤S700、根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置;
步骤S800、根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度;
步骤S900、根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作。
在本发明实施二中,在上述索引模型的基础上,利用所述索引模型实现对目标数据的读取(即检索),这样在进行目标瓦片数据检索步骤时,首先接收目标瓦片数据的读取请求信息;
然后,根据目标瓦片数据的读取请求信息,根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置;然后根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度,最后找到目标瓦片数据在预设文件中的存储位置;根据所述的目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作。
通过上述两级索引项可以精确地找到索引模型中的目标瓦片数据,根据索引文件的两级索引项确定目标瓦片数据并进行读取,实现对目标瓦片数据的检索操作。
本发明实施例提供的海量瓦片数据的存储方法及读取方法,采用了二级精确索引策略,极大地减少了瓦片数据存储和读取的时间,利用上述索引模型可以实现数据的高速迁移,提高了对数据文件的I/O处理效率。
下面对上述海量瓦片数据的读取方法中各步骤进行详细说明:
在步骤S700中,根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置,包括如下步骤:
步骤S710、根据目标瓦片数据对应的索引文件得到所述目标瓦片数据所属的数据块的分层信息,输入分层信息中的目标瓦片数据层号L,行号R以及列号C的数值,根据预设一级索引关系函数确定分块信息,计算得到一级索引文件的一级索引值中的ID;
步骤S720、根据得到的目标瓦片数据对应的一级索引文件一级索引值中的ID,确定目标瓦片数据所属的目标数据块B的存储位置。
其中:所述预设一级索引关系函数为ID=f(L,R,C),f代表相应的函数关系。
在步骤S800中,所述根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度,包括如下步骤:
步骤S830、在所述目标数据块B中,根据一级索引值中的(L,R,C,B)和预设二级索引关系函数确定目标瓦片数据的二级索引所属的单元格的位置坐标,计算得到目标瓦片数据的二级索引所属的单元格的位置坐标,也即二级索引文件的二级索引值中的(x,y)坐标;
步骤S840、根据目标瓦片数据对应的二级索引文件的二级索引值坐标(x,y),得到对应的二级索引值(off(x,y),size);
步骤S850、根据二级索引值(off(x,y),size),找到目标瓦片数据所属单元格的起始存储位置;
其中:所述预设二级索引关系函数包括x=g(ID,B),y=h(ID,B),g、h分别代表相应的函数关系;
上述步骤总的来说是,根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度,最后找到目标瓦片数据在预设文件中的全部的存储位置。
在步骤S900中,根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作,包括如下步骤:
步骤S910、自目标瓦片数据的起始存储位置起读取与size长度取值相等大小的瓦片数据,执行对所述目标瓦片数据的读取操作。
本发明实施例二提供的瓦片数据的读取方法,利用了上述索引模型可以实现数据的高速迁移,提高了对数据文件的输入/输出(Input/Output,I/O)I/O处理效率,极大地减少了数据检索时间。
本领域技术人员应该可以理解:本发明实施例提供的海量瓦片数据的存储方法及读取方法,采用了二级精确索引策略,极大地减少了瓦片数据存储和读取的时间,利用上述索引模型可以实现数据的高速迁移,提高了对数据文件的I/O处理效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种海量瓦片数据的存储方法,其特征在于,包括如下步骤:
根据欲存储的瓦片数据的属性信息,获取所述瓦片数据的分层信息;根据所述瓦片数据的分层信息生成一级索引文件的数据块;
将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标;根据所述位置坐标和分块信息生成对应所述瓦片数据的二级索引文件;
按照先到先存的方式将瓦片数据存储在预设文件中;
在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储;
其中,所述预设文件为一个大字段的二进制文件;
所述瓦片数据的属性信息包括瓦片数据所反映的区域地形分布的高程信息和瓦片数据的层号L、行号R和列号C;
所述根据欲存储的瓦片数据的属性信息,获取所述瓦片数据的分层信息;根据所述瓦片数据的分层信息生成一级索引文件的数据块,包括如下步骤:
根据瓦片数据所对应的影像的分辨率的大小,并按照金字塔全球覆盖行列号的标准进行行列号排列,记录瓦片数据的层号L、行号R和列号C作为瓦片数据的分层信息;将每一层一级索引文件分割成大小相同的多个数据块B,将多个所述数据块B按照预设顺序进行标识号编号,记载与所述数据块B一一对应的标识号ID作为一级索引文件的分块信息;
所述将一级索引文件的所述数据块进一步划分为数据网格,得到每个单元格在数据块中的位置坐标,包括如下步骤:
对每个一级索引文件的数据块B划分为128×128的数据网格;对数据块中的每个单元格进行坐标编号(x,y);
其中:x∈[0,127],y∈[0,127],且x、y取值均为整数。
2.如权利要求1所述的海量瓦片数据的存储方法,其特征在于,
所述在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储之前,还包括如下步骤:
选择一级索引文件的所述分块信息中所述标识号ID和所述分层信息中数据块B所属的层号L、行号R和列号C作为瓦片数据对应的一级索引文件的一级索引值;
选择数据块B中单元格起始值偏移量和单元格长度size作为瓦片数据对应的二级索引文件的二级索引值。
3.如权利要求2所述的海量瓦片数据的存储方法,其特征在于,
所述在每次进行目标瓦片数据存储写入时,将对应生成的一级索引文件和二级索引文件存储,包括如下步骤:
在每次进行目标瓦片数据存储写入时,记录目标瓦片数据起始存储位置和瓦片数据长度,确定目标瓦片数据对应的二级索引文件的二级索引值;
所述二级索引值包括瓦片数据起始值偏移量off(x,y)和瓦片数据长度size的集合;
其中:二级索引值为:(off(x,y),size);
根据目标瓦片数据的分层信息,在已建立的瓦片数据对应的一级索引文件中遍历数据块B,判断查找是否存在与所述目标瓦片数据对应的一级索引文件的数据块相匹配的数据块B;若是,则将目标瓦片数据对应的一级索引文件的数据块存储至相匹配的数据块B中;若否,则新建一个数据块B并将所述瓦片数据对应的一级索引文件的数据块存储至新建的数据块B中;确定存储后目标瓦片数据对应的一级索引文件的数据块B一一对应的标识号ID,确定目标瓦片数据对应的一级索引文件的一级索引值;
所述一级索引值包括与数据块B一一对应的分块信息中标识号ID和数据块B所属层号L、行号R和列号C的集合;
其中:一级索引值为:ID和(L,R,C,B)。
4.一种海量瓦片数据的读取方法,其特征在于,包括如下步骤:
接收目标瓦片数据的读取请求信息;
根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置;
根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度;
根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作;
所述根据所述目标瓦片数据的读取请求信息,确定目标瓦片数据对应的一级索引文件的一级索引值;根据所述一级索引文件找到目标瓦片数据所属的数据块的存储位置,包括如下步骤:
根据目标瓦片数据对应的索引文件得到所述目标瓦片数据所属的数据块的分层信息,输入分层信息中的目标瓦片数据层号L,行号R以及列号C的数值,根据预设一级索引关系函数确定分块信息,计算得到一级索引文件的一级索引值中的ID;
根据得到的目标瓦片数据对应的一级索引文件一级索引值中的ID,确定目标瓦片数据所属的目标数据块B的存储位置;
其中:所述预设一级索引关系函数为ID=f(L,R,C),f代表相应的函数关系;
所述根据所述一级索引值确定二级索引文件的二级索引值;根据二级索引文件的二级索引值确定目标瓦片数据在预设文件中的起始存储位置和数据长度,包括如下步骤:
在所述目标数据块B中,根据一级索引值中的(L,R,C,B)和预设二级索引关系函数确定目标瓦片数据的二级索引所属的单元格的位置坐标,计算得到目标瓦片数据的二级索引所属的单元格的位置坐标,也即二级索引文件的二级索引值中的(x,y)坐标;
根据目标瓦片数据对应的二级索引文件的二级索引值坐标(x,y),得到对应的二级索引值(off(x,y),size);
根据二级索引值(off(x,y),size),找到目标瓦片数据所属单元格的起始存储位置;
其中:所述预设二级索引关系函数包括x=g(ID,B),y=h(ID,B),g、h分别代表相应的函数关系;
所述根据所述目标瓦片数据的存储位置对所述目标瓦片数据进行读取操作,包括如下步骤:
自目标瓦片数据的起始存储位置起读取与size长度取值相等大小的瓦片数据,执行对所述目标瓦片数据的读取操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398165.4A CN103412962B (zh) | 2013-09-04 | 2013-09-04 | 一种海量瓦片数据的存储方法及读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310398165.4A CN103412962B (zh) | 2013-09-04 | 2013-09-04 | 一种海量瓦片数据的存储方法及读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103412962A CN103412962A (zh) | 2013-11-27 |
CN103412962B true CN103412962B (zh) | 2016-09-07 |
Family
ID=49605974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310398165.4A Expired - Fee Related CN103412962B (zh) | 2013-09-04 | 2013-09-04 | 一种海量瓦片数据的存储方法及读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103412962B (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103744855B (zh) * | 2013-11-29 | 2017-07-28 | 航天恒星科技有限公司 | 一种基于聚合文件的瓦片地图存储方法 |
CN103812939B (zh) * | 2014-02-17 | 2017-02-08 | 大连云动力科技有限公司 | 一种大数据存储系统 |
CN104281701B (zh) * | 2014-10-20 | 2018-02-09 | 北京农业信息技术研究中心 | 分布式多尺度空间数据查询方法及系统 |
CN104778212B (zh) * | 2014-12-19 | 2018-08-07 | 北京搜狗科技发展有限公司 | 地图数据生成方法和装置、地图数据读取方法和装置 |
CN104850534B (zh) * | 2015-05-11 | 2018-02-23 | 深圳市元征科技股份有限公司 | 基于嵌入式多语言文本的存储方法及装置 |
CN104820714B (zh) * | 2015-05-20 | 2018-02-09 | 国家电网公司 | 基于hadoop的海量瓦片小文件存储管理方法 |
CN105117451B (zh) * | 2015-08-17 | 2018-10-26 | 苏州中科天启遥感科技有限公司 | 一种地图瓦片文件的存储方法 |
CN105893433A (zh) * | 2015-12-09 | 2016-08-24 | 乐视云计算有限公司 | 文件存储方法、访问方法及装置 |
CN108572958B (zh) * | 2017-03-07 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置 |
CN107992584A (zh) * | 2017-12-08 | 2018-05-04 | 中国船舶重工集团公司第七二四研究所 | 一种海洋大数据分类解析与网格化存储方法 |
CN108335735A (zh) * | 2018-03-06 | 2018-07-27 | 上海赛图计算机科技股份有限公司 | 一种医疗影像存储、读取的方法和系统 |
CN110309244B (zh) * | 2018-03-23 | 2023-11-03 | 北京京东振世信息技术有限公司 | 一种目标点定位的方法和装置 |
CN108536829B (zh) * | 2018-04-11 | 2019-04-26 | 中国中医科学院中药研究所 | 一种提高无人机航测数据生成瓦片地图效率的方法 |
CN108664619B (zh) * | 2018-05-14 | 2020-06-19 | 江西理工大学 | 一种类瓦片技术的海量线划地形图本原存储与调度方法 |
CN109299087A (zh) * | 2018-08-14 | 2019-02-01 | 中国平安财产保险股份有限公司 | 数据缓存方法、装置、计算机设备及存储介质 |
CN109492060A (zh) * | 2018-09-28 | 2019-03-19 | 湖南国科图创信息科技有限公司 | 一种基于MBTiles的地图瓦片存储方法 |
CN111159438B (zh) * | 2018-11-08 | 2022-06-03 | 杭州海康威视数字技术股份有限公司 | 一种数据的存储和检索方法、电子设备及存储介质 |
CN109597865B (zh) * | 2018-11-21 | 2022-11-04 | 中国航空无线电电子研究所 | 基于嵌入式平台的海量地理信息数据的存储与检索方法 |
CN109753447A (zh) * | 2019-01-14 | 2019-05-14 | 北京星际荣耀空间科技有限公司 | 一种运载火箭遥测数据实时缓存系统及方法 |
CN110019636A (zh) * | 2019-04-17 | 2019-07-16 | 重庆同汇勘测规划有限公司 | 一种gis瓦片地图的存储方式 |
CN110765298B (zh) * | 2019-10-18 | 2022-03-15 | 中国电子科技集团公司第二十八研究所 | 矢量数据几何属性解耦的瓦片编码方法 |
CN111143289A (zh) * | 2019-12-26 | 2020-05-12 | 四川航天神坤科技有限公司 | 一种地图的瓦片数据处理方法及装置 |
CN111882482B (zh) * | 2020-07-10 | 2024-05-14 | 长沙景嘉微电子股份有限公司 | 图形分块数据读写方法、装置、设备及存储介质 |
CN111813555B (zh) * | 2020-07-21 | 2022-02-15 | 国网湖南省电力有限公司 | 基于互联网技术的超融合基础架构分层资源管理系统 |
CN113778976A (zh) * | 2020-09-04 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN112817545B (zh) * | 2021-03-11 | 2021-09-28 | 福州大学 | 在线即分析影像与格网立方体数据存储管理方法及系统 |
CN113239721A (zh) * | 2021-03-30 | 2021-08-10 | 深圳市易智博网络科技有限公司 | 道路地面塌陷分析展示方法 |
CN113157654B (zh) * | 2021-05-12 | 2022-12-02 | 山东志盈医学科技有限公司 | 数字切片图像存储的方法和装置 |
CN115080561B (zh) * | 2021-05-24 | 2023-05-23 | 摩赛恩科技(苏州)有限公司 | 一种质谱数据分层存储数据库及其管理方法 |
CN113987233B (zh) * | 2021-12-30 | 2022-03-29 | 成都国星宇航科技有限公司 | 瓦片请求方法、装置、及电子设备 |
CN114996600B (zh) * | 2022-08-03 | 2022-10-21 | 成都经纬达空间信息技术有限公司 | 一种多时相影像管理数据库数据写入、读取方法及装置 |
CN116126942B (zh) * | 2023-02-09 | 2023-11-24 | 国家气象信息中心(中国气象局气象数据中心) | 一种多维空间气象网格数据分布式存储查询方法 |
CN115905122B (zh) * | 2023-02-20 | 2023-05-30 | 成都九洲电子信息系统股份有限公司 | 一种飞行航迹数据存储及检索系统、方法及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887595A (zh) * | 2009-05-14 | 2010-11-17 | 武汉如临其境科技创意有限公司 | 基于四叉树索引的三维数字地球空间数据组织渲染方法 |
CN101923542A (zh) * | 2009-06-12 | 2010-12-22 | 如临其境创意(上海)有限公司 | 一种用于网络多维空间数据表达的MDDRQ-Tree索引结构 |
CN102663057A (zh) * | 2012-03-02 | 2012-09-12 | 苏州武大影像信息工程研究院有限责任公司 | 多源异构航空遥感数据管理方法 |
-
2013
- 2013-09-04 CN CN201310398165.4A patent/CN103412962B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101887595A (zh) * | 2009-05-14 | 2010-11-17 | 武汉如临其境科技创意有限公司 | 基于四叉树索引的三维数字地球空间数据组织渲染方法 |
CN101923542A (zh) * | 2009-06-12 | 2010-12-22 | 如临其境创意(上海)有限公司 | 一种用于网络多维空间数据表达的MDDRQ-Tree索引结构 |
CN102663057A (zh) * | 2012-03-02 | 2012-09-12 | 苏州武大影像信息工程研究院有限责任公司 | 多源异构航空遥感数据管理方法 |
Non-Patent Citations (2)
Title |
---|
RS-Globe系统中空间数据调度和压缩算法研究;马庆华;《万方数据》;20090921;第16-22页 * |
自然地理学和测绘学;牛飞;《中国优秀博硕士学位论文全文数据库(硕士)基础科学辑》;20050615(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103412962A (zh) | 2013-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412962B (zh) | 一种海量瓦片数据的存储方法及读取方法 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN112115198B (zh) | 一种城市遥感智能服务平台 | |
CN110321443B (zh) | 三维实景模型数据库构建方法、装置及数据服务系统 | |
CN109992636A (zh) | 时空编码方法、时空索引及查询方法及装置 | |
CN100468461C (zh) | 逼真三维地形几何模型的实时绘制方法 | |
CN101339570A (zh) | 一种高效的海量遥感数据分布式组织管理方法 | |
CN105956165B (zh) | 一种三维模型数据的瓦片式大文件存储组织方法 | |
CN107402958A (zh) | 一种gkf三维空间数据库的创建和访问方法 | |
CN101364310A (zh) | 一种三维模型图形的生成方法和装置 | |
CN107766471A (zh) | 一种多源数据的组织管理方法与装置 | |
CN109492060A (zh) | 一种基于MBTiles的地图瓦片存储方法 | |
CN108647332A (zh) | 一种基于全球网格的行政区划空间信息组织方法 | |
CN102760160B (zh) | 一种在空间信息库中进行多尺度地形图缩编的系统 | |
CN106933833A (zh) | 一种基于空间索引技术的位置信息快速查询方法 | |
CN109299298A (zh) | 多尺度影像模型的构建方法、装置、应用方法及系统 | |
CN108038249A (zh) | 一种全球一张图数据存储组织方法及调用方法 | |
Tucci et al. | Using spatial analysis and geovisualization to reveal urban changes: Milan, Italy, 1737–2005 | |
CN104166695A (zh) | 一种面向遥感数据内容的剖分、查询及动态显示方法 | |
CN103309943A (zh) | 一种三维地理信息平台及其地形数据处理方法 | |
CN105718481A (zh) | 一种海量地形数据组织发布方法 | |
CN104008209B (zh) | 以GeoJSON格式结构化方式存储地理数据的MongoDB集群的地理数据读写方法 | |
CN116860905B (zh) | 一种城市信息模型的空间单元编码生成方法 | |
CN106780667A (zh) | 一种多图层的混合索引方法 | |
CN106649776A (zh) | 一种半自动化综合矢量多边形的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160907 Termination date: 20170904 |
|
CF01 | Termination of patent right due to non-payment of annual fee |