CN111061806A - 面向分布式的海量地理瓦片的存储方法与网络化访问方法 - Google Patents
面向分布式的海量地理瓦片的存储方法与网络化访问方法 Download PDFInfo
- Publication number
- CN111061806A CN111061806A CN201911147189.6A CN201911147189A CN111061806A CN 111061806 A CN111061806 A CN 111061806A CN 201911147189 A CN201911147189 A CN 201911147189A CN 111061806 A CN111061806 A CN 111061806A
- Authority
- CN
- China
- Prior art keywords
- tile
- file
- rowkey
- tile file
- byte array
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种面向分布式的海量地理瓦片的存储方法,包含以下步骤:步骤一、将瓦片文件集合按照四叉树进行四分,采用Hilbert空间填充曲线对每个格子进行编号和排序,获取每个瓦片文件的瓦片索引编号;步骤二、采用RowKey编码技术按照时间、空间分辨率、瓦片索引编号组合的方式对每一个瓦片文件进行唯一编码;步骤三、根据Hbase开发接口,连接Hbase;读取瓦片文件并转化为字节数组,将RowKey和字节数组一起写入到指定行。本发明可满足海量地理瓦片数据的无限存储和大量用户并发访问,为网络化GIS开发提供了关键的基础技术。
Description
技术领域
本发明涉及基于网络化的地理瓦片高效组织技术,特别涉及一种分布式云平台下,海量地理瓦片的存储与远程网络化访问技术。
背景技术
随着计算机技术的发展,云计算技术、网络技术应用越来越广。在分布式云平台环境下,地理信息软件通过云端存储和网络化访问地理瓦片,可以快速实现地理位置感知、地理信息获取,可以实现地理数据服务端集中部署、实时更新。
当前地理信息技术、测绘技术不断发展,地理信息数据的获取能力得到了飞速提高,地理瓦片数据体量急剧膨胀,例如全球5米栅格瓦片数量达到上亿个,数据量超过1TB。传统的地理瓦片数据存储算法和调度算法使用典型的文件方式或者空间数据库管理地理瓦片数据,会导致单个目录小文件超过操作系统数量极限,数据库单表记录数量超过上限,进一步导致检索效率下降,瓦片数据调度变慢,最终客户端可视化数据刷新较慢,用户体验较差。特别是面对全球海量数据,传统方式读取效率越来越低,可视化也难以满足最低秒级响应需求,极大地影响GIS软件的使用效果。
发明内容
为了解决文件管理、空间数据库等方式存在瓶颈,本发明提供了一种面向分布式的海量地理瓦片的存储方法,该存储方法提出并实现了一种基于空间填充曲线的空间相邻瓦片的聚合方法,设计了分布式云平台下的RowKey编码模块,设计了基于Hbase的瓦片二进制存储模块,实现了分布式云平台下海量地理瓦片的编码、存储。本发明还提供了一种面向分布式的海量地理瓦片的网络化访问方法,实现了分布式云平台下海量地理瓦片的编码、存储、服务、调用验证。
本发明的发明目的通过以下技术方案实现:
一种面向分布式的海量地理瓦片的存储方法,包含以下步骤:
步骤一、将某层次的所有瓦片文件集合按照四叉树进行四分,采用Hilbert空间填充曲线对每个格子进行编号和排序;然后再对每个格子再按照四叉树进行四分,并同样采用Hilbert空间填充曲线对每个格子进行编号和排序;再对每个小格子细分,直到对应每个瓦片文件为止,完成了每个瓦片文件的排序,并获得了每个瓦片文件的瓦片索引编号;
步骤二、采用RowKey编码技术按照时间、空间分辨率、瓦片索引编号组合的方式对每一个瓦片文件进行唯一编码;
步骤三、根据Hbase开发接口,连接Hbase;读取瓦片文件并转化为字节数组,将RowKey和字节数组一起写入到指定行;以此类推,循环将所有瓦片文件进行写入瓦片服务器。
一种面向分布式的海量地理瓦片的网络化访问方法,用于对上述一种面向分布式的海量地理瓦片的存储方法存储的瓦片文件进行访问,包含以下步骤:
瓦片服务器接收到客户端发送过来的瓦片获取请求后,根据URL解析层行列号,再根据层行列号反算RowKey,连接Hbase,根据RowKey遍历字节数组,找到对应的字节数组后反序列化为瓦片文件,最后响应数据流到客户端。
本发明实现了分布式云平台下,对海量地理瓦片数据的存储和服务,极大提高了地理瓦片的获取和可视化速度,可满足海量地理瓦片数据的无限存储和大量用户并发访问,为网络化GIS开发提供了关键的基础技术。
附图说明
图1地理瓦片数据空间填充曲线图;
图2RowKey编码规则图;
图3瓦片网络服务界面。
具体实施方式
为了更好地理解本发明,下面通过附图和实施例对本发明作进一步详细说明。
本实施例所示的一种面向分布式的海量地理瓦片的存储方法,运行在瓦片服务器上,如图2所示,包含基于空间填充曲线的空间相邻瓦片的聚合方法、分布式云平台下的RowKey编码技术和基于Hbase的瓦片二进制存储技术。
参见图1所示,基于空间填充曲线的空间相邻瓦片的聚合方法:为了实现空间相邻瓦片文件的有序存储,采用Hilbert空间填充曲线,按照地理特点将索引空间划分为多个网格,并给每一个网格分配一个唯一编号,使空间目标(瓦片)相邻。具体过程为:
某层次的所有瓦片文件集合是一张正方形的二维地图,按照四叉树进行四分,采用Hilbert空间填充曲线对每个格子进行编号和排序,排序时保证编号小的格子里的图片始终在编号大的格子里的图片前面;然后再对每个格子再按照四叉树进行四分,并同样采用Hilbert空间填充曲线对每个格子进行编号和排序。再对每个小格子细分,直到对应每个瓦片文件为止。这样就完成了每个瓦片文件的排序,并获得了每个瓦片文件的瓦片索引编号。递归四分排序算法基于空间填充曲线,递归四分排序方法可以保证地理上相邻的图片,存储时也大致相邻。
分布式云平台下的RowKey编码技术:RowKey是按照字典顺序排序存储的,为充分利用这个排序特点,需要将经常读取的数据存储到一块,所以最终瓦片数据是否相邻取决于RowKey。按照时间、空间分辨率、瓦片索引编号组合的方式,对每一个瓦片文件的RowKey进行唯一编码。
举例:影像成像时间2015年5月13日,分辨率为5米,瓦片索引编号为111561467,RowKey则为20150513005111561467。
基于Hbase的瓦片二进制存储技术:Hbase针对海量数据具有很高的实时性,但Hbase不支持栅格数据的存储,只支持互联网文本数据的存储。瓦片数据大小约几十到几百KB,适合Hbase存储模型,为了利用Hbase分布式存储可扩展、高效读取等特性,将地理瓦片数据序列化为二进制,具体实施过程是:根据Hbase开发接口,连接Hbase。读取地理瓦片,转化为字节数组,将RowKey和字节数组一起写入到指定行。以此类推,循环将所有瓦片进行写入操作。
本实施例还提供了的一种面向分布式的海量地理瓦片的网络化访问方法,对通过上述一种面向分布式的海量地理瓦片的存储方法存储的地理瓦片进行访问,主要采用基于Rest API的瓦片网络化服务技术。
基于Rest API的瓦片网络化服务技术:瓦片服务调用需要考虑编程语言、操作系统无关;考虑采用SOA架构,将前后端分离,更便于调试、复用,最终采用Rest API轻量级架构。具体实施过程是:瓦片服务器接收到客户端发送过来的瓦片获取请求后,服务器端根据URL解析层行列号,再根据层行列号反算RowKey,连接Hbase,根据RowKey遍历瓦片,找到对应的瓦片后取出字节数组并反序列化为PNG或JPG图片,最后响应数据流到客户端,由用户进行可视化。
举例:用户请求URL为http://192.168.1.1:8080/imageRS/12/3431/1677.png,即第12层第3431行第1677列瓦片,服务器端获取层行列参数,根据参数计算RowKey为201505130051234311677,从Hbase中查询并获取瓦片,经栅格序列化后,返回该数据流,如图3所示。
Claims (2)
1.一种面向分布式的海量地理瓦片的存储方法,包含以下步骤:
步骤一、将某层次的所有瓦片文件集合按照四叉树进行四分,采用Hilbert空间填充曲线对每个格子进行编号和排序;然后再对每个格子再按照四叉树进行四分,并同样采用Hilbert空间填充曲线对每个格子进行编号和排序;再对每个小格子细分,直到对应每个瓦片文件为止,完成了每个瓦片文件的排序,并获得了每个瓦片文件的瓦片索引编号;
步骤二、采用RowKey编码技术按照时间、空间分辨率、瓦片索引编号组合的方式对每一个瓦片文件进行唯一编码;
步骤三、根据Hbase开发接口,连接Hbase;读取瓦片文件并转化为字节数组,将RowKey和字节数组一起写入到指定行;以此类推,循环将所有瓦片文件进行写入瓦片服务器。
2.一种面向分布式的海量地理瓦片的网络化访问方法,用于对权利要求1所述一种面向分布式的海量地理瓦片的存储方法存储的瓦片文件进行访问,包含以下步骤:
瓦片服务器接收到客户端发送过来的瓦片获取请求后,根据URL解析层行列号,再根据层行列号反算RowKey,连接Hbase,根据RowKey遍历字节数组,找到对应的字节数组后反序列化为瓦片文件,最后响应数据流到客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147189.6A CN111061806B (zh) | 2019-11-21 | 2019-11-21 | 面向分布式的海量地理瓦片的存储方法与网络化访问方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911147189.6A CN111061806B (zh) | 2019-11-21 | 2019-11-21 | 面向分布式的海量地理瓦片的存储方法与网络化访问方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061806A true CN111061806A (zh) | 2020-04-24 |
CN111061806B CN111061806B (zh) | 2023-04-07 |
Family
ID=70298270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911147189.6A Active CN111061806B (zh) | 2019-11-21 | 2019-11-21 | 面向分布式的海量地理瓦片的存储方法与网络化访问方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061806B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380302A (zh) * | 2020-10-23 | 2021-02-19 | 北京建筑大学 | 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质 |
CN113791742A (zh) * | 2021-11-18 | 2021-12-14 | 南湖实验室 | 一种高性能的数据湖系统及数据存储方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104091301A (zh) * | 2014-06-30 | 2014-10-08 | 江苏华大天益电力科技有限公司 | 一种基于MapReduce的瓦片金字塔并行构建方法 |
CN104820714A (zh) * | 2015-05-20 | 2015-08-05 | 国家电网公司 | 基于hadoop的海量瓦片小文件存储管理方法 |
US20170168990A1 (en) * | 2015-12-11 | 2017-06-15 | Sap Se | Adaptive tile matrix representation and multiplication |
-
2019
- 2019-11-21 CN CN201911147189.6A patent/CN111061806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104091301A (zh) * | 2014-06-30 | 2014-10-08 | 江苏华大天益电力科技有限公司 | 一种基于MapReduce的瓦片金字塔并行构建方法 |
CN104820714A (zh) * | 2015-05-20 | 2015-08-05 | 国家电网公司 | 基于hadoop的海量瓦片小文件存储管理方法 |
US20170168990A1 (en) * | 2015-12-11 | 2017-06-15 | Sap Se | Adaptive tile matrix representation and multiplication |
Non-Patent Citations (1)
Title |
---|
杨莹;: "瓦片四叉树和填充曲线实现海量地形数据管理" * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380302A (zh) * | 2020-10-23 | 2021-02-19 | 北京建筑大学 | 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质 |
CN112380302B (zh) * | 2020-10-23 | 2023-07-21 | 北京建筑大学 | 基于轨迹数据的热力图生成方法、装置、电子设备以及存储介质 |
CN113791742A (zh) * | 2021-11-18 | 2021-12-14 | 南湖实验室 | 一种高性能的数据湖系统及数据存储方法 |
CN113791742B (zh) * | 2021-11-18 | 2022-03-25 | 南湖实验室 | 一种高性能的数据湖系统及数据存储方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111061806B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105786942B (zh) | 一种基于云平台的地理信息存储系统 | |
CN109241161B (zh) | 一种气象数据管理方法 | |
CN104820714B (zh) | 基于hadoop的海量瓦片小文件存储管理方法 | |
CN110599490B (zh) | 一种遥感影像数据存储方法和系统 | |
CN104657436B (zh) | 基于MapReduce的静态瓦片金字塔并行构建方法 | |
CN103995861B (zh) | 一种基于空间关联的分布式数据装置、方法及系统 | |
CN107515952B (zh) | 点云数据存储、并行计算和实时检索的方法及其系统 | |
CN103336772B (zh) | 一种单景影像瓦片数据组织方法 | |
CN104091301B (zh) | 一种基于MapReduce的瓦片金字塔并行构建方法 | |
CN109871418A (zh) | 一种时空数据的空间索引方法和系统 | |
CN108804602A (zh) | 一种基于spark的分布式空间数据存储计算方法 | |
CN109299298A (zh) | 多尺度影像模型的构建方法、装置、应用方法及系统 | |
CN111061806B (zh) | 面向分布式的海量地理瓦片的存储方法与网络化访问方法 | |
Sirdeshmukh et al. | Utilizing a discrete global grid system for handling point clouds with varying locations, times, and levels of detail | |
CN111914041B (zh) | 一种电网地图矢量数据提供方法 | |
CN109829021A (zh) | 一种地图展示方法及装置 | |
Li et al. | A scalable cyberinfrastructure solution to support big data management and multivariate visualization of time-series sensor observation data | |
Guo et al. | A spatially adaptive decomposition approach for parallel vector data visualization of polylines and polygons | |
CN116126942A (zh) | 一种多维空间气象网格数据分布式存储查询方法及系统 | |
CN114372034A (zh) | 一种基于遥感影像地图服务的存取方法 | |
US20140280158A1 (en) | Systems and methods for managing large volumes of data in a digital earth environment | |
Rueda-Ruiz et al. | SPSLiDAR: towards a multi-purpose repository for large scale LiDAR datasets | |
CN107679126A (zh) | 激光三维点云数据存储和管理方法及其系统 | |
Weng et al. | Efficient visualization techniques for high resolution remotely sensed data in a network environment | |
Mellone et al. | A novel approach for large‐scale environmental data partitioning on cloud and on‐premises storage for compute continuum applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |