CN116150145A - 一种数字高程数据的服务方法及装置 - Google Patents
一种数字高程数据的服务方法及装置 Download PDFInfo
- Publication number
- CN116150145A CN116150145A CN202211559664.2A CN202211559664A CN116150145A CN 116150145 A CN116150145 A CN 116150145A CN 202211559664 A CN202211559664 A CN 202211559664A CN 116150145 A CN116150145 A CN 116150145A
- Authority
- CN
- China
- Prior art keywords
- data
- digital elevation
- tile
- subdivision
- level
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013500 data storage Methods 0.000 claims abstract description 112
- 238000012545 processing Methods 0.000 claims abstract description 42
- 238000003860 storage Methods 0.000 claims description 49
- 230000015654 memory Effects 0.000 claims description 38
- 238000012952 Resampling Methods 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 10
- 230000004927 fusion Effects 0.000 claims description 5
- 230000004044 response Effects 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012876 topography Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002224 dissection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/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/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- 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
-
- 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/29—Geographical information databases
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)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数字高程数据的服务方法及装置。该方法包括:获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。本发明提供的方法,能够提高数字高程数据存储的规范性,缩短了数字高程数据请求的服务响应时间,有效提升了数字高程数据的服务响应效率。
Description
技术领域
本发明涉及数字地图技术领域,具体涉及一种数字高程数据的服务方法及装置。另外,还涉及一种电子设备及处理器可读存储介质。
背景技术
随着对地观测技术的快速发展,为遥感应用积累了大量的观测数据。针对大量遥感栅格数据的管理,主要是数据的存储组织和对上层应用如何进行支撑的问题。然而,对于全球数字高程数据,其数据量大,以瓦片数据方式进行服务,切片准备时间长。如何为各种计算和三维可视化软件提供高效的瓦片数据服务成为亟待解决的难题。
发明内容
为此,本发明提供一种数字高程数据的服务方法及装置,以解决现有技术中存在的数字高程数据的服务方案局限性较高,从而导致数字高程数据的服务响应效率较差的缺陷。
第一方面,本发明提供一种数字高程数据的服务方法,包括:
获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;
对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;
基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;
获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
进一步的,所述数据剖分规则包含数字高程数据所对应的剖分格网的信息;
所述对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据,具体包括:
基于预设的各个处理节点对应的任务并行度,在所述全球数字高程数据对应的数字高程数据文件之间采用任务并行的方式进行初步的数据并行剖分;以及,在所述数字高程数据文件内部,将所述数字高程数据文件中的数字高程数据预取到内存中并与所述剖分格网进行对应,基于内存并行方式对预取到内存中的数字高程数据进行二次的数据并行剖分,获得切片待存储的瓦片数据;其中,所述全球数字高程数据包含多个数字高程数据文件。
进一步的,将所述切片待存储的瓦片数据存入预设的请求数据库,具体包括:将所述切片待存储的瓦片数据和请求数据库中已存储的瓦片数据进行融合,生成新的瓦片数据,并将所述新的瓦片数据重新存入所述瓦片数据库。
进一步的,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则,具体包括:确定所述全球数字高程数据对应的数据存储结构;以及,确定所述全球数字高程数据对应的数据存储路径;以及,确定所述全球数字高程数据对应的数据剖分规则;
所述确定所述全球数字高程数据对应的数据存储结构,具体包括:
基于Hilbert空间填充曲线将原始二维空间结构转换为一维线性前缀存储结构,并构建所述一维线性前缀存储结构对应的检索索引,所述一维线性前缀存储结构包含时相、空间范围和数据图层的信息;
所述确定所述全球数字高程数据对应的数据存储路径,具体包括:
将所述一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径,配合层级的编号和处理节点的名称,构成包含数据图层的信息、层级的编号、处理节点的名称、文件名和文件路径的数据存储路径;
所述确定所述全球数字高程数据对应的数据剖分规则,具体包括:
确定针对所述全球数字高程数据对应的数据剖分方式,所述数据剖分方式包含剖分起始层级、剖分结束层级及其每个剖分层级对应的分辨率、投影方式的信息;所述投影方式的信息决定剖分格网的信息。
进一步的,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据,具体包括:
确定所述瓦片数据获取请求对应的目标层级是否达到或者超过所述预设层级,若否,则确定所述瓦片数据获取请求对应的瓦片数据存储地址,基于所述瓦片数据存储地址返回对应的瓦片数据;若是,则基于所述预设层级到所述目标层级的偏移量,获取所述预设层级的瓦片数据,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据。
进一步的,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据,具体包括:采用双线性插值方法对所述预设层级到所述目标层级的全球数字高程数据进行重采样,返回对应层级的瓦片数据。
进一步的,所述的数字高程数据的服务方法,还包括:确定经纬度坐标点,根据所述经纬度坐标点返回对应的高程值。
第二方面,本发明还提供一种数字高程数据的服务装置,包括:
数据存储及剖分信息确定单元,用于获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;
数据并行处理单元,用于对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;
数据融合单元,用于基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;
数据服务单元,用于获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
进一步的,所述数据剖分规则包含数字高程数据所对应的剖分格网的信息;
所述数据并行处理单元,具体用于:
基于预设的各个处理节点对应的任务并行度,在所述全球数字高程数据对应的数字高程数据文件之间采用任务并行的方式进行初步的数据并行剖分;以及,在所述数字高程数据文件内部,将所述数字高程数据文件中的数字高程数据预取到内存中并与所述剖分格网进行对应,基于内存并行方式对预取到内存中的数字高程数据进行二次的数据并行剖分,获得切片待存储的瓦片数据;其中,所述全球数字高程数据包含多个数字高程数据文件。
进一步的,所述数据融合单元,具体用于:将所述切片待存储的瓦片数据和请求数据库中已存储的瓦片数据进行融合,生成新的瓦片数据,并将所述新的瓦片数据重新存入所述请求数据库。
进一步的,所述数据存储及剖分信息确定单元,具体包括:数据存储结构确定单元,用于确定所述全球数字高程数据对应的数据存储结构;以及,数据存储路径确定单元,用于确定所述全球数字高程数据对应的数据存储路径;以及,数据剖分规则确定单元,用于确定所述全球数字高程数据对应的数据剖分规则;
所述数据存储结构确定单元,具体用于:
基于Hilbert空间填充曲线将原始二维空间结构转换为一维线性前缀存储结构,并构建所述一维线性前缀存储结构对应的检索索引,所述一维线性前缀存储结构包含时相、空间范围和数据图层的信息;
所述数据存储路径确定单元,具体用于:
将所述一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径,配合层级的编号和处理节点的名称,构成包含数据图层的信息、层级的编号、处理节点的名称、文件名和文件路径的数据存储路径;
所述数据剖分规则确定单元,具体用于:
确定针对所述全球数字高程数据对应的数据剖分方式,所述数据剖分方式包含剖分起始层级、剖分结束层级及其每个剖分层级对应的分辨率、投影方式的信息;所述投影方式的信息决定剖分格网的信息。
进一步的,所述数据服务单元,具体用于:
确定所述瓦片数据获取请求对应的目标层级是否达到或者超过所述预设层级,若否,则确定所述瓦片数据获取请求对应的瓦片数据存储地址,基于所述瓦片数据存储地址返回对应的瓦片数据;若是,则基于所述预设层级到所述目标层级的偏移量,获取所述预设层级的瓦片数据,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据。
进一步的,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据,具体包括:采用双线性插值方法对所述预设层级到所述目标层级的全球数字高程数据进行重采样,返回对应层级的瓦片数据。
进一步的,所述的数字高程数据的服务方法,还包括:高程值获得单元,用于确定经纬度坐标点,根据所述经纬度坐标点返回对应的高程值。
第三方面,本发明还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现如上述任意一项所述的数字高程数据的服务方法的步骤。
第四方面,本发明还提供一种处理器可读存储介质,所述处理器可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任意一项所述的数字高程数据的服务方法的步骤。
本发明提供的数字高程数据的服务方法,通过获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。其能够提高数字高程数据存储及剖分的规范性,缩短了数字高程数据请求的服务响应时间,有效提升了数字高程数据的服务响应效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1是本发明实施例提供的数字高程数据的服务方法的流程示意图;
图2是本发明实施例提供的全球数字高程数据分布式存储路径规划的示意图;
图3是本发明实施例提供的全球数字高程数据并行剖分方案的示意图;
图4是本发明实施例提供的数字高程数据文件之间和数字高程数据文件内部2层并行模式的示意图;
图5是本发明实施例提供的瓦片数据获取请求的处理流程示意图;
图6是本发明实施例提供的根据经纬度点计算高程值的流程示意图;
图7是本发明实施例提供的数字高程数据的服务装置的结构示意图;
图8是本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
下面基于本发明所述的数字高程数据的服务方法,对其实施例进行详细描述。如图1所示,为本发明实施例提供的数字高程数据的服务方法的流程示意图,具体过程包括以下步骤:
步骤101:获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则。
在本发明实施例中,所述的全球数字高程数据,即DEM(Digital ElevationModel,数字高程模型)数据,其是研究分析地形、流域、地物识别的重要原始资料。由于DEM数据能够反映一定分辨率的局部地形特征,因此通过DEM数据可提取大量的地表形态信息,可用于绘制等高线、坡度图、坡向图、立体透视图、立体景观图,并应用于制作正射影像、立体地形模型与地图修测。
在本步骤具体实施过程中,包括:确定所述全球数字高程数据对应的数据存储结构;以及,确定所述全球数字高程数据对应的数据存储路径;以及,确定所述全球数字高程数据对应的数据剖分规则。
其中,所述确定所述全球数字高程数据对应的数据存储结构,对应的具体实现过程包括:采用Hilbert空间填充曲线将原始二维空间结构转换为一维线性前缀存储结构,并构建所述一维线性前缀存储结构对应的检索索引,所述一维线性前缀存储结构为设计数字高程数据瓦片的存储结构,包含时相、空间范围和数据图层的信息;相对于二维结构,该一维线性前缀存储结构有利于构建检索索引,从而可有效提高数据库中瓦片的检索效率。
所述确定所述全球数字高程数据对应的数据存储路径,对应的实现过程包括:将所述一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径,配合层级的编号和处理节点的名称,构成包含数据图层的信息、层级的编号、处理节点的名称、文件名和文件路径的数据存储路径,该数据存储路径为分布式的全球数字高程数据的存储路径。
如图2所示,可将一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径2段,配合层级的编号(即层号)和节点名称(即处理节点的名称),构成图层名、层号、节点名称、文件路径、文件名4段分治的方式,可进一步方便数据在处理节点间的迁移和负载动态平衡。需要说明的是,每个计算机作为一个处理节点,多台计算机分别对应多个处理节点。所述瓦片数据存储地址可为8位数,通过哈希计算变成20位,比如可将前10位作为文件路径、后10位作为文件名,在此不做具体限定。所述文件路径即为图2中的哈希路径1-哈希路径n,n为大于1的整数。所述文件名即为图2中的哈希文件名11、哈希文件名12、哈希文件名13等。
所述确定所述全球数字高程数据对应的数据剖分规则,对应的实现过程包括:确定针对所述全球数字高程数据对应的数据剖分方式,所述数据剖分方式包含剖分起始层级、剖分结束层级及其每个剖分层级对应的分辨率、投影方式的信息;所述投影方式的信息包含剖分格网的信息(比如剖分格网的行列号)。在数据剖分规则设计中,全球数字高程数据的剖分方式,包含剖分起始层级、剖分结束层级、每层的分辨率以及投影方式的信息。数据剖分规则示意图如图3所示。剖分初始层级编号为0,第0层分辨率为2.8125度,从第0层至第20层的分辨率依次为2.8125度、1.40625度、0.703125度、0.3515625度、0.17578125度、0.087890625度、0.0439453125度、0.02197265625度、0.010986328125度、0.0054931640625度、0.00274658203125度、0.001373291015625度、0.0006866455078125度、0.00034332275390625度、0.000171661376953125度、0.0000858306884765625度、0.00004291534423828125度、0.000021457672119140625度、0.0000107288360595703125度、0.00000536441802978515625度、0.000002682209014892578125度。其中,初始剖分层级编号为0的分辨率2.8125度可通过180度除以64获得,剖分层级编号为1的分辨率1.40625度可通过180度除以64再除以2获得,依次类推。
剖分结束层级为数字高程数据(即全球数字高程数据中的数据)分辨率最相近的层级向下取整,以一景(就是遥感数据中的一景数据,比如一景影像)分辨率为0.00833度的全球覆盖的高程数据为例,其分辨率落在第8层0.010986328125度和第9层0.0054931640625度之间,则该景数字高程数据的切片结束层级为9,通过服务时内存采样的方式,实际服务的层级为15层,但相比于直接将数据切片到15层级,节省的存储空间达到4096倍(26×26=4096)。剖分数据的投影方式为投影方式采用EPSG4326,剖分起算点为左下顶点(-180,-90),切片大小固定为64×64,剖分格网的行列号计算规则如下:X方向,即经度方向,对于每一层,左下为0,依次加1,最大为2N+1-1,N为层号;Y方向,即纬度方向,对于每一层,左下为0,依次加1,最大为2N-1,N为层号。特别是,Y方向的编号为服务时的用户视图,实现时为与遥感栅格数据的存储取值方向一致,内部实现时将Y方向进行了颠倒。
步骤102:对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据。
在本步骤实施过程中,可基于预设的各个处理节点对应的任务并行度,在所述全球数字高程数据对应的数字高程数据文件之间采用任务并行的方式进行初步的数据并行剖分;以及,在所述数字高程数据文件内部,将所述数字高程数据文件中的数字高程数据预取到内存中并与所述剖分格网进行对应,基于内存并行方式对预取到内存中的数字高程数据进行二次的数据并行剖分,获得切片待存储的瓦片数据;其中,所述全球数字高程数据包含多个数字高程数据文件。
具体的,如图4所示,数字高程数据文件之间采用任务并行的方式,通过处理节点(计算机)主动请求式的任务调度方式来实现,当设置了节点的任务并行度P后(P>=1),当该节点上运行的任务数量小于P时,该节点会主动请求增加任务。数字高程数据文件内采用基于数据预取的内存并行方式,基于内存速度显著高于磁盘速度的事实,切片64×64过小需要频繁访问磁盘的情况,为避免频繁访存,设计了基于数据预取的内存并行方式。对于一景数字高程数据,根据服务器内存、并行任务数量(即任务并行度P)计算当前内存中容许的最大预取数据量,第一步先将数据预取到内存,为保证切片内存对齐,预取数据时需计算高程数据左上顶点在全球格网中的位置,预取数据时避免将一个切片数据分多次预取,增加访问磁盘和内存的开销,第二步对预取到内存中的数据,基于内存并行进行数据剖分。
步骤103:基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库。
在本步骤实施过程中,可将所述切片待存储的瓦片数据和请求数据库中已存储的瓦片数据进行融合,生成新的瓦片数据,并将所述新的瓦片数据基于所述重新存入所述请求数据库。具体的,对切片待存储的瓦片数据和请求数据库中已有瓦片数据进行融合。切片数据进入请求数据库之前,先从该切片数据的格网坐标(即剖分格网的行列号)、时相和图层名、层号、请求数据库中是否已有瓦片数据,如果有瓦片数据,将库中瓦片数据读取出来解压缩后与该切片待存储的瓦片数据进行融合,然后对数据进行压缩,生成一个新的瓦片数据再入库。
步骤104:获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
在本步骤实施过程中,可确定所述瓦片数据获取请求对应的目标层级是否达到或者超过所述预设层级(例如14层级),若否,则确定所述瓦片数据获取请求对应的瓦片数据存储地址,基于所述瓦片数据存储地址返回对应的瓦片数据;若是,则基于所述预设层级到所述目标层级的偏移量,获取所述预设层级的瓦片数据,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据。
具体的,对于切片存储后的高程数据,即存储的瓦片数据,采用OGC WMTS协议和Http共2种方式进行发布。数据瓦片获取请求响应如图5所示。举例而言,假设预设层级为14层级,小于等于14层级的瓦片请求(即数据瓦片获取请求),直接Hash计算文件地址(即瓦片数据存储地址),文件地址包含图层名、层号、处理节点的名称、文件路径和文件名等,读取其中的瓦片数据并返回,即返回对应的瓦片数据。大于14层级的瓦片请求,依次计算从请求层(即目标层)到第14层的各层级剖分格网的参数(经度方向编号、纬度方向编号、层号),从第14层到请求层的偏移量(经度方向偏移量、纬度方向偏移量),获取第14层数据,从第14层到请求层依次重采样并根据下一层对应上一层的偏移量裁剪对应区域数据,最后返回请求层数据,即返回对应层级的瓦片数据。重采样时使用双线性插值方法实现,以上计算过程都在内存中完成,不会明显降低数据服务的速度。
另外,如图6所示,在本发明中还可确定经纬度坐标点,根据所述经纬度坐标点返回对应的高程值。也就是,在上述计算瓦片数据存储地址的基础上,进一步计算该经纬度坐标点在瓦片数据内部的偏移值(△x,△y),根据偏移值在瓦片数据中获取该经纬度坐标点的高程值并返回。
本发明实施例提供一种全球数字高程数据的并行剖分集约存储和高效服务方法,不仅实现了全球数字高程数据的高效管理和集约存储,还支持高程数据按经纬度点对取值,支持流行的三维可视化软件按格网坐标取值2种方式,能够满足高程数据应用的典型场景。并行剖分主要体现在全球数据的剖分效率上,采用高程数据文件之间和高程数据内部2种并行相结合的处理模式;集约存储是为了节省数据存储空间,一方面采用压缩存储的方式,一方面采用服务时内存采样的方式,数据存储只存储与高程数据分辨率最接近的层级,服务时实时采样,最大能扩大到影像原始层级的64倍;高效服务体现在数据瓦片寻址为Hash计算和分段寻址,提高了数据检索效率。
综上,本发明实施例所述的数字高程数据的服务方法,能够提高数字高程数据存储及剖分的规范性,缩短了数字高程数据请求的服务响应时间,有效提升了数字高程数据的服务响应效率。
与上述提供的一种数字高程数据的服务方法相对应,本发明还提供一种数字高程数据的服务装置。由于该装置的实施例相似于上述方法实施例,所以描述得比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的数字高程数据的服务装置的实施例仅是示意性的。请参考图7所示,其为本发明实施例提供的一种数字高程数据的服务装置的结构示意图。
本发明所述的数字高程数据的服务装置,具体包括如下部分:
数据存储及剖分信息确定单元701,用于获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;
数据并行处理单元702,用于对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;
数据融合单元703,用于基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;
数据服务单元704,用于获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
进一步的,所述数据剖分规则包含数字高程数据所对应的剖分格网的信息;
所述数据并行处理单元,具体用于:
基于预设的各个处理节点对应的任务并行度,在所述全球数字高程数据对应的数字高程数据文件之间采用任务并行的方式进行初步的数据并行剖分;以及,在所述数字高程数据文件内部,将所述数字高程数据文件中的数字高程数据预取到内存中并与所述剖分格网进行对应,基于内存并行方式对预取到内存中的数字高程数据进行二次的数据并行剖分,获得切片待存储的瓦片数据;其中,所述全球数字高程数据包含多个数字高程数据文件。
进一步的,所述数据融合单元,具体用于:将所述切片待存储的瓦片数据和请求数据库中已存储的瓦片数据进行融合,生成新的瓦片数据,并将所述新的瓦片数据重新存入所述请求数据库。
进一步的,所述数据存储及剖分信息确定单元,具体包括:数据存储结构确定单元,用于确定所述全球数字高程数据对应的数据存储结构;以及,数据存储路径确定单元,用于确定所述全球数字高程数据对应的数据存储路径;以及,数据剖分规则确定单元,用于确定所述全球数字高程数据对应的数据剖分规则;
所述数据存储结构确定单元,具体用于:
基于Hilbert空间填充曲线将原始二维空间结构转换为一维线性前缀存储结构,并构建所述一维线性前缀存储结构对应的检索索引,所述一维线性前缀存储结构包含时相、空间范围和数据图层的信息;
所述数据存储路径确定单元,具体用于:
将所述一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径,配合层级的编号和处理节点的名称,构成包含数据图层的信息、层级的编号、处理节点的名称、文件名和文件路径的数据存储路径;
所述数据剖分规则确定单元,具体用于:
确定针对所述全球数字高程数据对应的数据剖分方式,所述数据剖分方式包含剖分起始层级、剖分结束层级及其每个剖分层级对应的分辨率、投影方式的信息;所述投影方式的信息决定剖分格网的信息。
进一步的,所述数据服务单元,具体用于:
确定所述瓦片数据获取请求对应的目标层级是否达到或者超过所述预设层级,若否,则确定所述瓦片数据获取请求对应的瓦片数据存储地址,基于所述瓦片数据存储地址返回对应的瓦片数据;若是,则基于所述预设层级到所述目标层级的偏移量,获取所述预设层级的瓦片数据,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据。
进一步的,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据,具体包括:采用双线性插值方法对所述预设层级到所述目标层级的全球数字高程数据进行重采样,返回对应层级的瓦片数据。
进一步的,所述的数字高程数据的服务方法,还包括:高程值获得单元,用于确定经纬度坐标点,根据所述经纬度坐标点返回对应的高程值。
本发明实施例所述的数字高程数据的服务装置,通过获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。其能够提高数字高程数据存储及剖分的规范性,缩短了数字高程数据请求的服务响应时间,有效提升了数字高程数据的服务响应效率。
与上述提供的数字高程数据的服务方法相对应,本发明还提供一种电子设备。由于该电子设备的实施例相似于上述方法实施例,所以描述得比较简单,相关之处请参见上述方法实施例部分的说明即可,下面描述的电子设备仅是示意性的。如图8所示,其为本发明实施例公开的一种电子设备的实体结构示意图。该电子设备可以包括:处理器(processor)801、存储器(memory)802和通信总线803,其中,处理器801,存储器802通过通信总线803完成相互间的通信,通过通信接口804与外部进行通信。处理器801可以调用存储器802中的逻辑指令,以执行数字高程数据的服务方法,该方法包括:获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
此外,上述的存储器802中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:存储芯片、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在处理器可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的数字高程数据的服务方法。该方法包括:获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
又一方面,本发明实施例还提供一种处理器可读存储介质,所述处理器可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的数字高程数据的服务方法。该方法包括:获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
所述处理器可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD))等。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种数字高程数据的服务方法,其特征在于,包括:
获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;
对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;
基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;
获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
2.根据权利要求1所述的数字高程数据的服务方法,其特征在于,所述数据剖分规则包含数字高程数据所对应的剖分格网的信息;
所述对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据,具体包括:
基于预设的各个处理节点对应的任务并行度,在所述全球数字高程数据对应的数字高程数据文件之间采用任务并行的方式进行初步的数据并行剖分;以及,在所述数字高程数据文件内部,将所述数字高程数据文件中的数字高程数据预取到内存中并与所述剖分格网进行对应,基于内存并行方式对预取到内存中的数字高程数据进行二次的数据并行剖分,获得切片待存储的瓦片数据;其中,所述全球数字高程数据包含多个数字高程数据文件。
3.根据权利要求1所述的数字高程数据的服务方法,其特征在于,将所述切片待存储的瓦片数据存入瓦片数据库,具体包括:
将所述切片待存储的瓦片数据和请求数据库中已存储的瓦片数据进行融合,生成新的瓦片数据,并将所述新的瓦片数据重新存入所述瓦片数据库。
4.根据权利要求1所述的数字高程数据的服务方法,其特征在于,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则,具体包括:确定所述全球数字高程数据对应的数据存储结构;以及,确定所述全球数字高程数据对应的数据存储路径;以及,确定所述全球数字高程数据对应的数据剖分规则;
所述确定所述全球数字高程数据对应的数据存储结构,具体包括:
基于Hilbert空间填充曲线将原始二维空间结构转换为一维线性前缀存储结构,并构建所述一维线性前缀存储结构对应的检索索引,所述一维线性前缀存储结构包含时相、空间范围和数据图层的信息;
所述确定所述全球数字高程数据对应的数据存储路径,具体包括:
将所述一维线性前缀存储结构表示的瓦片数据存储地址拆分为文件名和文件路径,配合层级的编号和处理节点的名称,构成包含数据图层的信息、层级的编号、处理节点的名称、文件名和文件路径的数据存储路径;
所述确定所述全球数字高程数据对应的数据剖分规则,具体包括:
确定针对所述全球数字高程数据对应的数据剖分方式,所述数据剖分方式包含剖分起始层级、剖分结束层级及其每个剖分层级对应的分辨率、投影方式的信息;所述投影方式的信息决定剖分格网的信息。
5.根据权利要求1所述的数字高程数据的服务方法,其特征在于,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据,具体包括:
确定所述瓦片数据获取请求对应的目标层级是否达到或者超过所述预设层级,若否,则确定所述瓦片数据获取请求对应的瓦片数据存储地址,基于所述瓦片数据存储地址返回对应的瓦片数据;若是,则基于所述预设层级到所述目标层级的偏移量,获取所述预设层级的瓦片数据,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据。
6.根据权利要求5所述的数字高程数据的服务方法,其特征在于,基于预设的重采样的方式从所述预设层级到所述目标层级依次重采样并获取对应区域数据,返回对应层级的瓦片数据,具体包括:
采用双线性插值方法对所述预设层级到所述目标层级的全球数字高程数据进行重采样,返回对应层级的瓦片数据。
7.根据权利要求1所述的数字高程数据的服务方法,其特征在于,还包括:确定经纬度坐标点,根据所述经纬度坐标点返回对应的高程值。
8.一种数字高程数据的服务装置,其特征在于,包括:
数据存储及剖分信息确定单元,用于获取待存储的全球数字高程数据,确定所述全球数字高程数据对应的数据存储结构、数据存储路径以及数据剖分规则;
数据并行处理单元,用于对所述全球数字高程数据采用并行方式进行层次递归剖分处理,获得切片待存储的瓦片数据;
数据融合单元,用于基于所述数据存储结构、所述数据存储路径以及所述数据剖分规则,将所述切片待存储的瓦片数据存入瓦片数据库;
数据服务单元,用于获得瓦片数据获取请求,确定所述瓦片数据获取请求的目标层级,基于所述目标层级与预设层级之间的关系,返回对应层级的瓦片数据。
9.一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的数字高程数据的服务方法的步骤。
10.一种处理器可读存储介质,所述处理器可读存储介质上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7任意一项所述的数字高程数据的服务方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559664.2A CN116150145A (zh) | 2022-12-06 | 2022-12-06 | 一种数字高程数据的服务方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211559664.2A CN116150145A (zh) | 2022-12-06 | 2022-12-06 | 一种数字高程数据的服务方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116150145A true CN116150145A (zh) | 2023-05-23 |
Family
ID=86360964
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211559664.2A Pending CN116150145A (zh) | 2022-12-06 | 2022-12-06 | 一种数字高程数据的服务方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150145A (zh) |
-
2022
- 2022-12-06 CN CN202211559664.2A patent/CN116150145A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399441B (zh) | 一种海量点数据聚合渲染方法、装置、设备及存储介质 | |
CN101364310A (zh) | 一种三维模型图形的生成方法和装置 | |
CN113628314B (zh) | 一种虚幻引擎中摄影测量模型的可视化方法、装置和设备 | |
CN113626550B (zh) | 基于三元组双向索引与优化缓存的影像瓦片地图服务方法 | |
CN112686997B (zh) | 基于WebGIS的三维模型数据分析展示平台及方法 | |
CN114020756B (zh) | 遥感影像实时地图服务发布方法和装置 | |
CN111090716A (zh) | 矢量瓦片数据处理方法、装置、设备和存储介质 | |
CN115391699B (zh) | 一种云优化的静态地理信息矢量数据在线服务方法 | |
US10818083B1 (en) | Pyramid generation via depth-first walk | |
CN113535867A (zh) | 一种适配多数据源的矢量瓦片生成方法及系统 | |
CN110597900A (zh) | 一种gdb数据实时按需生成矢量切片的方法 | |
US9317527B2 (en) | Method and apparatus for region sampling and estimation in location based networks | |
US8156162B2 (en) | Storage method and search method for mark event on two-dimensional space | |
CN117056626A (zh) | 一种地图预览的方法及装置 | |
CN103093040A (zh) | 网络地图影像的工程化应用方法 | |
CN116150145A (zh) | 一种数字高程数据的服务方法及装置 | |
CN112231426A (zh) | 一种基于矢量瓦片点数据的更新方法、系统、介质及终端 | |
CN115330960A (zh) | 一种实景三维建模方法、装置、服务器和存储介质 | |
CN113495935A (zh) | 一种基于不规则三角化网格剖分的地形切片方法和系统 | |
Platings et al. | Compression of Large‐Scale Terrain Data for Real‐Time Visualization Using a Tiled Quad Tree | |
CN111681295A (zh) | 一种基于超分图像重建的瓦片地图切片与服务方法及系统 | |
CN102117495B (zh) | 一种三维建模中的新数据分割方法及装置 | |
Hu et al. | Geospatial web service for remote sensing data visualization | |
CN111552893A (zh) | AutoCAD中实现多源地理信息数据在线加载的方法、插件及系统 | |
KR100309788B1 (ko) | 다양한 해상도의 디지털 고도 모델 자동 생성 방법 |
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 |