A method and apparatus for serving digital elevation data

By optimizing the storage and retrieval of digital elevation data through parallel partitioning and a one-dimensional linear prefix storage structure, the problem of low service efficiency in existing technologies is solved, and efficient tile data management and rapid response are achieved.

CN116150145BActive Publication Date: 2026-01-16AEROSPACE INFORMATION RES INST CAS
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211559664.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-12-06
Publication Date
2026-01-16
Estimated Expiration
2042-12-06

AI Technical Summary

Technical Problem

Existing digital elevation data service solutions have significant limitations, resulting in poor service response efficiency, especially with long slice preparation times when providing tile data services.

Method used

A parallel approach is adopted for hierarchical recursive partitioning, which is combined with Hilbert space-filling curves to convert the data into a one-dimensional linear prefix storage structure. A retrieval index is constructed, and the storage and retrieval of tile data are optimized through data storage structure, storage path and partitioning rules. Efficient tile data management is achieved by using memory parallelism and task parallel partitioning techniques.

Benefits of technology

It improves the standardization of digital elevation data storage and subdivision, shortens service response time, enhances service efficiency, and supports efficient tile data services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116150145B_ABST
    Figure CN116150145B_ABST
Patent Text Reader

Abstract

The application provides a digital elevation data service method and device. The method comprises the following steps: obtaining global digital elevation data to be stored, determining a data storage structure, a data storage path and a data partitioning rule corresponding to the global digital elevation data; performing hierarchical recursive partitioning processing on the global digital elevation data in a parallel mode to obtain tile data to be stored of a slice; storing the tile data to be stored of the slice into a tile database based on the data storage structure, the data storage path and the data partitioning rule; obtaining a tile data acquisition request, determining a target level of the tile data acquisition request, and returning tile data of a corresponding level based on a relationship between the target level and a preset level. The method provided by the application can improve the standardization of digital elevation data storage, shorten the service response time of digital elevation data request, and effectively improve the service response efficiency of digital elevation data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of digital map technology, specifically to a method and apparatus for providing digital elevation data. It also relates to an electronic device and a processor-readable storage medium. Background Technology

[0002] With the rapid development of Earth observation technology, a vast amount of observational data has been accumulated for remote sensing applications. The management of this large volume of remote sensing raster data mainly involves data storage and organization, as well as how to support upper-level applications. However, for global digital elevation data, the data volume is enormous, and serving it as tile data results in long tile preparation times. How to provide efficient tile data services for various computing and 3D visualization software has become an urgent problem to be solved. Summary of the Invention

[0003] To address this, the present invention provides a method and apparatus for providing digital elevation data services, thereby overcoming the shortcomings of existing digital elevation data service solutions, which have high limitations and result in poor service response efficiency.

[0004] In a first aspect, the present invention provides a method for serving digital elevation data, comprising:

[0005] Obtain the global digital elevation data to be stored, and determine the data storage structure, data storage path, and data partitioning rules corresponding to the global digital elevation data;

[0006] The global digital elevation data is processed in a parallel manner using hierarchical recursive partitioning to obtain tile data for storage.

[0007] Based on the data storage structure, the data storage path, and the data segmentation rules, the tile data to be stored in the slice is stored in the tile database;

[0008] A tile data acquisition request is received, the target level of the tile data acquisition request is determined, and the tile data of the corresponding level is returned based on the relationship between the target level and the preset level.

[0009] Furthermore, the data partitioning rules include information about the partitioning grid corresponding to the digital elevation data;

[0010] The process of performing hierarchical recursive partitioning of the global digital elevation data in parallel to obtain tile data for storage specifically includes:

[0011] Based on the preset task parallelism corresponding to each processing node, the global digital elevation data is preliminarily parallelized in a task parallel manner among the digital elevation data files corresponding to the global digital elevation data; and, in the digital elevation data file, the digital elevation data in the digital elevation data file is pre-fetched into the memory and corresponds to the divided grid, the digital elevation data pre-fetched into the memory is secondarily parallelized in a memory parallel manner to obtain tile data to be stored; wherein the global digital elevation data comprises a plurality of digital elevation data files.

[0012] Further, the tile data to be stored is stored in the preset request database, specifically including: fusing the tile data to be stored and the tile data stored in the request database to generate new tile data, and re-storing the new tile data in the tile database.

[0013] Further, the data storage structure, data storage path and data division rule corresponding to the global digital elevation data are determined, specifically including: determining the data storage structure corresponding to the global digital elevation data; and determining the data storage path corresponding to the global digital elevation data; and determining the data division rule corresponding to the global digital elevation data.

[0014] The determination of the data storage structure corresponding to the global digital elevation data specifically includes:

[0015] Based on the Hilbert space-filling curve, the original two-dimensional space structure is converted into a one-dimensional linear prefix storage structure, and a retrieval index corresponding to the one-dimensional linear prefix storage structure is constructed, the one-dimensional linear prefix storage structure containing information of time phase, space range and data layer;

[0016] The determination of the data storage path corresponding to the global digital elevation data specifically includes:

[0017] The tile data storage address represented by the one-dimensional linear prefix storage structure is split into a file name and a file path, and combined with the number of levels and the name of processing nodes to form a data storage path containing information of data layers, the number of levels, the name of processing nodes, the file name and the file path;

[0018] The determination of the data division rule corresponding to the global digital elevation data specifically includes:

[0019] The data division mode corresponding to the global digital elevation data is determined, the data division mode containing information of a division starting level, a division ending level and a resolution corresponding to each division level thereof, and a projection mode; the information of the projection mode determines the information of the divided grid.

[0020] Further, based on the relationship between the target level and the preset level, the tile data of the corresponding level is returned, specifically including:

[0021] determining whether the target level corresponding to the tile data acquisition request reaches or exceeds the preset level, if not, determining the tile data storage address corresponding to the tile data acquisition request, and returning the corresponding tile data based on the tile data storage address; if yes, based on the offset from the preset level to the target level, obtaining the tile data of the preset level, sequentially resampling and obtaining the corresponding regional data from the preset level to the target level based on the preset resampling manner, and returning the tile data of the corresponding level.

[0022] Further, based on the preset resampling manner, the corresponding regional data is sequentially resampled and obtained from the preset level to the target level, and the tile data of the corresponding level is returned, specifically including: the global digital elevation data from the preset level to the target level is resampled by using a bilinear interpolation method, and the tile data of the corresponding level is returned.

[0023] Further, the service method of the digital elevation data further comprises: determining a latitude and longitude coordinate point, and returning a corresponding elevation value according to the latitude and longitude coordinate point.

[0024] In a second aspect, the present application further provides a service device of digital elevation data, comprising:

[0025] a data storage and sectioning information determination unit configured to obtain global digital elevation data to be stored, and determine a data storage structure, a data storage path and a data sectioning rule corresponding to the global digital elevation data;

[0026] a data parallel processing unit configured to perform hierarchical recursive sectioning processing on the global digital elevation data in a parallel manner to obtain tile data to be stored of a slice;

[0027] a data fusion unit configured to store the tile data to be stored of the slice into a tile database based on the data storage structure, the data storage path and the data sectioning rule;

[0028] a data service unit configured to obtain a tile data acquisition request, determine a target level of the tile data acquisition request, and return tile data of a corresponding level based on the relationship between the target level and a preset level.

[0029] Further, the data sectioning rule comprises information of a sectioning grid corresponding to the digital elevation data.

[0030] The data parallel processing unit is specifically configured to:

[0031] based on the preset task parallelism corresponding to each processing node, performing preliminary data parallel subdivision among the digital elevation data files corresponding to the global digital elevation data in a task parallel manner; and, internally in the digital elevation data file, pre-fetching the digital elevation data in the digital elevation data file into the memory and corresponding to the subdivision grid, based on a memory parallel manner, performing secondary data parallel subdivision on the digital elevation data pre-fetched into the memory to obtain tile data to be stored by the slice; wherein the global digital elevation data comprises a plurality of digital elevation data files.

[0032] Further, the data fusion unit is specifically configured to: fuse the tile data to be stored by the slice and the tile data already stored in the request database to generate new tile data, and re-store the new tile data into the request database.

[0033] Further, the data storage and subdivision information determination unit specifically comprises: a data storage structure determination unit configured to determine a data storage structure corresponding to the global digital elevation data; a data storage path determination unit configured to determine a data storage path corresponding to the global digital elevation data; and a data subdivision rule determination unit configured to determine a data subdivision rule corresponding to the global digital elevation data.

[0034] The data storage structure determination unit is specifically configured to:

[0035] convert an original two-dimensional spatial structure into a one-dimensional linear prefix storage structure based on a Hilbert space-filling curve, and construct a retrieval index corresponding to the one-dimensional linear prefix storage structure, the one-dimensional linear prefix storage structure containing information of time phase, spatial range and data layer;

[0036] The data storage path determination unit is specifically configured to:

[0037] split the tile data storage address represented by the one-dimensional linear prefix storage structure into a file name and a file path, cooperate with the number of levels and the name of processing nodes to form a data storage path containing information of data layer, number of levels, name of processing nodes, file name and file path;

[0038] The data subdivision rule determination unit is specifically configured to:

[0039] determine a data subdivision mode corresponding to the global digital elevation data, the data subdivision mode containing information of a subdivision starting level, a subdivision ending level and a resolution corresponding to each subdivision level thereof, and a projection mode; the information of the projection mode determines information of a subdivision grid.

[0040] Further, the data service unit is specifically configured to:

[0041] determine whether the target level corresponding to the tile data acquisition request reaches or exceeds the preset level, if not, determine a tile data storage address corresponding to the tile data acquisition request, return the corresponding tile data based on the tile data storage address, if yes, based on the offset of the preset level to the target level, acquire the tile data of the preset level, sequentially resample and acquire the corresponding regional data from the preset level to the target level based on the preset resampling manner, and return the tile data of the corresponding level.

[0042] Further, sequentially resample and acquire the corresponding regional data from the preset level to the target level based on the preset resampling manner, and return the tile data of the corresponding level, specifically comprising: using a bilinear interpolation method to resample the global digital elevation data from the preset level to the target level, and returning the tile data of the corresponding level.

[0043] Further, the service method of digital elevation data further comprises an elevation value obtaining unit configured to determine a longitude and latitude coordinate point and return a corresponding elevation value according to the longitude and latitude coordinate point.

[0044] In a third aspect, the present application further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the steps of the service method of digital elevation data according to any one of the above aspects when executing the computer program.

[0045] In a fourth aspect, the present application further provides a processor-readable storage medium, wherein the processor-readable storage medium stores a computer program, and the computer program implements the steps of the service method of digital elevation data according to any one of the above aspects when executed by a processor.

[0046] The service method of digital elevation data provided by the present application can improve the standardization of digital elevation data storage and partitioning, shorten the service response time of digital elevation data request, and effectively improve the service response efficiency of digital elevation data. BRIEF DESCRIPTION OF DRAWINGS

[0047] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or prior art description. Obviously, the drawings described below are only some embodiments of the present application, and the ordinary skilled in the art can obtain other drawings according to these drawings without any creative effort.

[0048] Figure 1 is a flowchart of the service method of digital elevation data provided by the embodiments of the present application;

[0049] Figure 2 is a schematic diagram of the global digital elevation data distributed storage path planning provided by the embodiments of the present application;

[0050] Figure 3 is a schematic diagram of the global digital elevation data parallel partitioning scheme provided by the embodiments of the present application;

[0051] Figure 4 is a schematic diagram of the 2-layer parallel mode between digital elevation data files and within digital elevation data files provided by the embodiments of the present application;

[0052] Figure 5 is a schematic diagram of the processing flow of the tile data acquisition request provided by the embodiments of the present application;

[0053] Figure 6 is a schematic diagram of the flowchart of calculating the elevation value according to the latitude and longitude point provided by the embodiments of the present application;

[0054] Figure 7 is a schematic diagram of the structure of the service device of digital elevation data provided by the embodiments of the present application;

[0055] Figure 8 is a schematic diagram of the physical structure of the electronic device provided by the embodiments of the present application. DETAILED DESCRIPTION

[0056] In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the following will describe the technical solutions in the embodiments of the present application clearly and completely with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by the ordinary skilled in the art without any creative effort are within the protection scope of the present application.

[0057] The following will describe the embodiments of the service method of digital elevation data in detail based on the service method of digital elevation data described in the present application. As shown in Figure 1 is a flowchart of the service method of digital elevation data provided by the embodiments of the present application, and the specific process includes the following steps:

[0058] Step 101: obtaining global digital elevation data to be stored, determining a data storage structure corresponding to the global digital elevation data, a data storage path corresponding to the global digital elevation data, and a data partitioning rule corresponding to the global digital elevation data.

[0059] In the embodiment of the present application, the global digital elevation data, i.e. DEM (Digital Elevation Model) data, is important raw data for studying and analyzing terrain, watershed, and ground object identification. Since DEM data can reflect local terrain features at a certain resolution, a large amount of surface shape information can be extracted from DEM data, which can be used to draw contour lines, slope maps, slope direction maps, stereoscopic perspective views, and stereoscopic landscape maps, and applied to making orthophotos, stereoscopic terrain models, and map revision.

[0060] In the specific implementation process of the present step, the following steps are included: determining a data storage structure corresponding to the global digital elevation data; determining a data storage path corresponding to the global digital elevation data; and determining a data partitioning rule corresponding to the global digital elevation data.

[0061] The specific implementation process of determining the data storage structure corresponding to the global digital elevation data includes: converting an original two-dimensional space structure into a one-dimensional linear prefix storage structure using a Hilbert space-filling curve, and constructing a retrieval index corresponding to the one-dimensional linear prefix storage structure, wherein the one-dimensional linear prefix storage structure is a storage structure of a designed digital elevation data tile, and contains information of time phase, spatial range, and data layer; compared with a two-dimensional structure, the one-dimensional linear prefix storage structure is beneficial to constructing a retrieval index, thereby effectively improving the retrieval efficiency of tiles in a database.

[0062] The specific implementation process of determining the data storage path corresponding to the global digital elevation data includes: splitting a tile data storage address represented by the one-dimensional linear prefix storage structure into a file name and a file path, and combining a hierarchical number and a processing node name to form a data storage path containing information of a data layer, a hierarchical number, a processing node name, a file name, and a file path, wherein the data storage path is a storage path of distributed global digital elevation data.

[0063] As Figure 2As shown, the tile data storage address represented by the one-dimensional linear prefix storage structure can be split into two parts, a file name and a file path. In combination with the layer number and the node name, the four parts of the layer name, the layer number, the node name, the file path, and the file name can be used to facilitate the migration of data between processing nodes and dynamic load balancing. It should be noted that each computer serves as a processing node, and multiple computers correspond to multiple processing nodes. The tile data storage address can be 8 digits, which can be converted to 20 digits by hash calculation. For example, the first 10 digits can be used as the file path, and the last 10 digits can be used as the file name, which is not limited herein. The file path is the hash path 1-hash path n in Figure 2 , where n is an integer greater than 1. The file name is the hash file name 11, hash file name 12, hash file name 13, and the like in Figure 2 .

[0064] The data partitioning rule corresponding to the global digital elevation data includes the following steps: determining the data partitioning mode corresponding to the global digital elevation data, which contains the information of the partitioning starting level, the partitioning ending level, the resolution corresponding to each partitioning level, and the projection mode. The information of the projection mode contains the information of the partitioning grid (such as the row and column numbers of the partitioning grid). In the design of the data partitioning rule, the partitioning mode of the global digital elevation data contains the information of the partitioning starting level, the partitioning ending level, the resolution of each layer, and the projection mode. The data partitioning rule is shown in Figure 3The initial layer number is 0, and the resolution of the 0th layer is 2.8125 degrees. The resolutions of the layers from the 0th layer to the 20th layer are 2.8125 degrees, 1.40625 degrees, 0.703125 degrees, 0.3515625 degrees, 0.17578125 degrees, 0.087890625 degrees, 0.0439453125 degrees, 0.02197265625 degrees, 0.010986328125 degrees, 0.0054931640625 degrees, 0.00274658203125 degrees, 0.001373291015625 degrees, 0.0006866455078125 degrees, 0.00034332275390625 degrees, 0.000171661376953125 degrees, 0.0000858306884765625 degrees, 0.00004291534423828125 degrees, 0.000021457672119140625 degrees, 0.0000107288360595703125 degrees, 0.00000536441802978515625 degrees, and 0.000002682209014892578125 degrees, respectively. The resolution of the initial layer number 0 is 2.8125 degrees, which can be obtained by dividing 180 degrees by 64. The resolution of the layer number 1 is 1.40625 degrees, which can be obtained by dividing 180 degrees by 64 and then dividing the result by 2. The resolutions of the layers are sequentially obtained in the same manner.

[0065] The end layer of the slicing is the layer with the closest resolution to the resolution of the digital elevation data (i.e., the data in the global digital elevation data). For example, the resolution of the global elevation data with a scene resolution of 0.00833 degrees is between the resolution of the 8th layer 0.010986328125 degrees and the resolution of the 9th layer 0.0054931640625 degrees. Therefore, the end layer of the slicing of the scene digital elevation data is the 9th layer. The actual service layer is the 15th layer by the memory sampling method. Compared with directly slicing the data to the 15th layer, the storage space is saved by 4096 times (2 6 ×2 6 =4096). The projection mode of the sliced data is EPSG4326, the starting point of the slicing is the lower left vertex (-180, -90), and the slicing size is fixed at 64x64. The calculation rules of the row and column numbers of the slicing grid are as follows: in the X direction (i.e., the longitude direction), the lower left is 0 for each layer, and is sequentially increased by 1, and the maximum is 2 N+1 -1, and N is the layer number; in the Y direction (i.e., the latitude direction), the lower left is 0 for each layer, and is sequentially increased by 1, and the maximum is 2 N-1, where N is the layer number. In particular, the Y-direction number is the user view during service, which is implemented to be consistent with the storage value direction of the remote sensing raster data, but the internal implementation reverses the Y-direction.

[0066] Step 102: Perform hierarchical recursive partitioning on the global digital elevation data in a parallel manner to obtain tile data to be stored.

[0067] During this step, based on the preset task parallelism of each processing node, preliminary data parallel partitioning can be performed among the digital elevation data files corresponding to the global digital elevation data using a task parallel approach; and within the digital elevation data files, the digital elevation data in the digital elevation data files is prefetched into memory and matched with the partitioned grid, and a second data parallel partitioning is performed on the prefetched digital elevation data in memory using a memory parallel approach to obtain tile data to be stored; wherein, the global digital elevation data contains multiple digital elevation data files.

[0068] Specifically, such as Figure 4 As shown, the digital elevation data files employ a task-parallel approach, implemented through a task scheduling method where processing nodes (computers) actively request tasks. When a node's task parallelism degree P is set (P>=1), if the number of tasks running on that node is less than P, the node will actively request additional tasks. Within the digital elevation data files, a memory-parallel approach based on data prefetching is used. Given that memory speed is significantly higher than disk speed, and considering that 64×64 slices are too small and require frequent disk access, a memory-parallel approach based on data prefetching is designed to avoid frequent memory accesses. For a single scene of digital elevation data, the maximum amount of data that can be prefetched in memory is calculated based on server memory and the number of parallel tasks (i.e., task parallelism P). The first step is to prefetch the data into memory. To ensure slice alignment in memory, the position of the top-left vertex of the elevation data within the global grid needs to be calculated during data prefetching. Prefetching avoids splitting a slice of data into multiple prefetches, which increases the overhead of disk and memory access. The second step involves partitioning the prefetched data in memory using memory parallelism.

[0069] Step 103: Based on the data storage structure, the data storage path, and the data partitioning rules, store the tile data to be stored in the tile database.

[0070] In the implementation process of the step, the tile data to be stored of the slice and the tile data already stored in the request database can be fused to generate new tile data, and the new tile data is stored in the request database again based on the re-storage. Specifically, the tile data to be stored of the slice and the tile data already stored in the request database are fused. Before the slice data enters the request database, the grid coordinates (i.e. the row and column numbers of the subdivision grid), the time phase and the layer name, the layer number, and whether there is tile data in the request database are determined. If there is tile data, the tile data in the database is read out, decompressed, fused with the tile data to be stored of the slice, then compressed to generate a new tile data, and stored in the database again.

[0071] Step 104: Obtain a tile data acquisition request, determine a target level corresponding to the tile data acquisition request, and return tile data of a corresponding level based on a relationship between the target level and a preset level.

[0072] In the implementation process of the step, it can be determined whether the target level corresponding to the tile data acquisition request reaches or exceeds the preset level (for example, 14 levels). If not, a tile data storage address corresponding to the tile data acquisition request is determined, and corresponding tile data is returned based on the tile data storage address. If yes, tile data of the preset level is obtained based on an offset from the preset level to the target level, corresponding area data is obtained by sequentially resampling from the preset level to the target level based on a preset resampling manner, and tile data of a corresponding level is returned.

[0073] Specifically, for the elevation data stored after the slice, i.e. the stored tile data, two ways of OGC WMTS protocol and Http are used for publishing. The data tile acquisition request response is as shown in Figure 5 For example, assuming that the preset level is 14 levels, the tile request (i.e. the data tile acquisition request) less than or equal to 14 levels is directly Hash calculated to obtain a file address (i.e. a tile data storage address), the file address includes a layer name, a layer number, a name of a processing node, a file path, and a file name, etc., the tile data in the file address is read and returned, i.e. corresponding tile data is returned. The tile request greater than 14 levels is sequentially calculated to obtain parameters (longitude direction number, latitude direction number, layer number) of each level subdivision grid from the request level (i.e. the target level) to the 14th level, an offset (longitude direction offset, latitude direction offset) from the 14th level to the request level, the 14th level data is obtained, the corresponding area data is cropped according to the offset of the next level to the previous level from the 14th level to the request level, and finally the request level data is returned, i.e. tile data of a corresponding level is returned. The bilinear interpolation method is used for resampling, and the above calculation process is completed in the memory, which does not significantly reduce the speed of data service.

[0074] In addition, such as Figure 6 As shown, in this invention, latitude and longitude coordinates can also be determined, and the corresponding elevation value can be returned based on the latitude and longitude coordinates. That is, based on the above calculation of the tile data storage address, the offset value (△x, △y) of the latitude and longitude coordinates within the tile data is further calculated, and the elevation value of the latitude and longitude coordinates within the tile data is obtained and returned based on the offset value.

[0075] This invention provides a parallel partitioning, intensive storage, and efficient service method for global digital elevation data (DEM). It not only achieves efficient management and intensive storage of DEM, but also supports two methods: extracting elevation data by latitude and longitude points and extracting values ​​by grid coordinates using popular 3D visualization software. This meets the typical application scenarios of elevation data. Parallel partitioning primarily improves the efficiency of global data partitioning by employing a combined parallel processing mode between elevation data files and within the elevation data itself. Intensive storage saves data storage space by using compressed storage and on-demand memory sampling. Data storage only stores the level closest to the elevation data resolution, while on-demand sampling is performed in real time, expanding up to 64 times the original image level. Efficient service is achieved through hash calculation and segmented addressing for data tiles, improving data retrieval efficiency.

[0076] In summary, the digital elevation data service method described in this embodiment of the invention can improve the standardization of digital elevation data storage and subdivision, shorten the service response time for digital elevation data requests, and effectively improve the service response efficiency of digital elevation data.

[0077] Corresponding to the digital elevation data service method provided above, this invention also provides a digital elevation data service apparatus. Since the embodiments of this apparatus are similar to the method embodiments described above, the description is relatively simple. For relevant details, please refer to the description in the method embodiment section above. The embodiments of the digital elevation data service apparatus described below are merely illustrative. Please refer to... Figure 7 The diagram shown is a structural schematic of a digital elevation data service device provided in an embodiment of the present invention.

[0078] The digital elevation data service device of the present invention specifically includes the following parts:

[0079] The data storage and subdivision information determination unit 701 is used to acquire global digital elevation data to be stored and determine the data storage structure, data storage path and data subdivision rules corresponding to the global digital elevation data.

[0080] The data parallel processing unit 702 is configured to perform hierarchical recursive subdivision processing on the global digital elevation data in parallel to obtain tile data to be stored in a slice;

[0081] The data fusion unit 703 is configured to store the tile data to be stored in a slice into a tile database based on the data storage structure, the data storage path, and the data subdivision rule;

[0082] The data service unit 704 is configured to obtain a tile data acquisition request, determine a target level of the tile data acquisition request, and return tile data of a corresponding level based on a relationship between the target level and a preset level.

[0083] Further, the data subdivision rule includes information of a subdivision grid corresponding to the digital elevation data.

[0084] The data parallel processing unit is specifically configured to:

[0085] Based on a preset task parallel degree corresponding to each processing node, perform preliminary data parallel subdivision on the digital elevation data files corresponding to the global digital elevation data in a task parallel manner, and perform secondary data parallel subdivision on the digital elevation data pre-stored in the memory and corresponding to the subdivision grid based on a memory parallel manner to obtain tile data to be stored in a slice; wherein the global digital elevation data includes a plurality of digital elevation data files.

[0086] Further, the data fusion unit is specifically configured to fuse the tile data to be stored in a slice and the tile data already stored in the request database to generate new tile data, and store the new tile data in the request database again.

[0087] Further, the data storage and subdivision information determination unit specifically includes a data storage structure determination unit configured to determine a data storage structure corresponding to the global digital elevation data, a data storage path determination unit configured to determine a data storage path corresponding to the global digital elevation data, and a data subdivision rule determination unit configured to determine a data subdivision rule corresponding to the global digital elevation data.

[0088] The data storage structure determination unit is specifically configured to:

[0089] Convert an original two-dimensional spatial structure into a one-dimensional linear prefix storage structure based on a Hilbert space-filling curve, and construct a retrieval index corresponding to the one-dimensional linear prefix storage structure, wherein the one-dimensional linear prefix storage structure includes information of a time phase, a spatial range, and a data layer.

[0090] The data storage path determination unit is specifically configured to:

[0091] The tile data storage address represented by the one-dimensional linear prefix storage structure is split into a file name and a file path, and combined with the number of levels and the name of the processing node to form the data storage path including the information of the data layer, the number of levels, the name of the processing node, the file name, and the file path.

[0092] The data partitioning rule determination unit is specifically configured to:

[0093] The data partitioning rule determination unit is specifically configured to:

[0094] Further, the data service unit is specifically configured to:

[0095] The data service unit is specifically configured to:

[0096] Further, based on the preset resampling method, the corresponding regional data is sequentially resampled and obtained from the preset level to the target level, and the tile data of the corresponding level is returned. Specifically, the bilinear interpolation method is used to resample the global digital elevation data from the preset level to the target level, and the tile data of the corresponding level is returned.

[0097] Further, the service method of the digital elevation data further includes an elevation value obtaining unit configured to determine a latitude and longitude coordinate point and return a corresponding elevation value according to the latitude and longitude coordinate point.

[0098] The digital elevation data service device described in this embodiment of the invention acquires global digital elevation data to be stored, determines the corresponding data storage structure, data storage path, and data partitioning rules; performs hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain tile data to be stored; based on the data storage structure, the data storage path, and the data partitioning rules, stores the tile data to be stored in a tile database; receives a tile data acquisition request, determines the target level of the tile data acquisition request, and returns the tile data of the corresponding level based on the relationship between the target level and a preset level. This device can improve the standardization of digital elevation data storage and partitioning, shorten the service response time of digital elevation data requests, and effectively improve the service response efficiency of digital elevation data.

[0099] Corresponding to the digital elevation data service method provided above, this invention also provides an electronic device. Since the embodiment of this electronic device is similar to the method embodiment described above, it is described simply. For relevant details, please refer to the description in the method embodiment section above. The electronic device described below is merely illustrative. Figure 8 The diagram illustrates the physical structure of an electronic device according to an embodiment of the present invention. The electronic device may include a processor 801, a memory 802, and a communication bus 803. The processor 801 and the memory 802 communicate with each other via the communication bus 803 and communicate with external systems via a communication interface 804. The processor 801 can call logical instructions in the memory 802 to execute a digital elevation data service method. This method includes: acquiring global digital elevation data to be stored; determining the data storage structure, data storage path, and data partitioning rules corresponding to the global digital elevation data; performing hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain tile data to be stored; storing the tile data to be stored in a tile database based on the data storage structure, the data storage path, and the data partitioning rules; obtaining a tile data acquisition request; determining the target level of the tile data acquisition request; and returning the tile data of the corresponding level based on the relationship between the target level and a preset level.

[0100] Further, the logic instructions in the memory 802 described above can be implemented in the form of software functional units and sold or used as independent products, and can be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium, and includes a number of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a storage chip, a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0101] In another aspect, the embodiments of the present application also provide a computer program product, which comprises a computer program stored on a processor readable storage medium, and the computer program comprises program instructions, when the program instructions are executed by a computer, the computer can execute the service method of digital elevation data provided by the above-mentioned method embodiments. The method comprises: obtaining global digital elevation data to be stored, determining a data storage structure, a data storage path and a data subdivision rule corresponding to the global digital elevation data; performing hierarchical recursive subdivision processing on the global digital elevation data in a parallel manner to obtain tile data to be stored after slicing; storing the tile data to be stored after slicing into a tile database based on the data storage structure, the data storage path and the data subdivision rule; obtaining a tile data acquisition request, determining a target level of the tile data acquisition request, and returning tile data of a corresponding level based on a relationship between the target level and a preset level.

[0102] In another aspect, the embodiments of the present application also provide a processor readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the service method of digital elevation data provided by the above-mentioned embodiments. The method comprises: obtaining global digital elevation data to be stored, determining a data storage structure, a data storage path and a data subdivision rule corresponding to the global digital elevation data; performing hierarchical recursive subdivision processing on the global digital elevation data in a parallel manner to obtain tile data to be stored after slicing; storing the tile data to be stored after slicing into a tile database based on the data storage structure, the data storage path and the data subdivision rule; obtaining a tile data acquisition request, determining a target level of the tile data acquisition request, and returning tile data of a corresponding level based on a relationship between the target level and a preset level.

[0103] The processor-readable storage medium can be any available medium or data storage device that a processor can access, including but not limited to a magnetic storage (e.g., floppy disks, hard disks, tape, MO, etc.), an optical storage (e.g., CD, DVD, BD, HVD, etc.), and a semiconductor storage (e.g., ROM, EPROM, EEPROM, NAND FLASH, SSD, etc.), etc.

[0104] The device embodiments described above are merely illustrative, wherein the units described as separate components can or can not be physically separated, and the components displayed as units can or can not be physical units, i.e., can be located in one place or distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the embodiment scheme according to actual needs. Those skilled in the art can understand and implement without creative labor.

[0105] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be realized by means of software and necessary general hardware platform, and of course can also be realized by hardware. Based on such understanding, the above technical solutions can be embodied in the form of software product, which can be stored in a computer readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., including a plurality of instructions to make a computer device (which can be a personal computer, server, or network device, etc.) execute the method described in each embodiment or some part of the embodiment.

[0106] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent replacement to some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A service method of digital elevation data, characterized by, The method comprises the following steps: obtain the global digital elevation data to be stored, determine the data storage structure, data storage path and data partitioning rule corresponding to the global digital elevation data; perform hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain tile data to be stored; based on the data storage structure, the data storage path and the data partitioning rule, store the tile data to be stored into a tile database; obtain a tile data acquisition request, determine the target level of the tile data acquisition request, and return the tile data of the corresponding level based on the relationship between the target level and the preset level; the data partitioning rule includes information of a partitioning grid corresponding to the digital elevation data; the hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain tile data to be stored comprises: based on the preset task parallelism degree of each processing node, perform preliminary data parallel partitioning on the digital elevation data files corresponding to the global digital elevation data in a task parallel manner; and, in the digital elevation data file, pre-fetch the digital elevation data in the digital elevation data file to the memory and correspond to the partitioning grid, perform secondary data parallel partitioning on the pre-fetched digital elevation data in the memory based on the memory parallel manner, and obtain the tile data to be stored; wherein the global digital elevation data comprises a plurality of digital elevation data files.

2. The method of claim 1, wherein storing the tile data to be stored into a tile database comprises: fuse the tile data to be stored and the tile data already stored in the request database to generate new tile data, and store the new tile data into the tile database again.

3. The method of claim 1, wherein determining the data storage structure, data storage path and data partitioning rule corresponding to the global digital elevation data comprises: determining the data storage structure corresponding to the global digital elevation data; and determining the data storage path corresponding to the global digital elevation data; and determining the data partitioning rule corresponding to the global digital elevation data; the determination of the data storage structure corresponding to the global digital elevation data comprises: convert the original two-dimensional space structure into a one-dimensional linear prefix storage structure based on the Hilbert space-filling curve, and construct a retrieval index corresponding to the one-dimensional linear prefix storage structure, the one-dimensional linear prefix storage structure containing information of time phase, spatial range and data layer; the determination of the data storage path corresponding to the global digital elevation data comprises: split the tile data storage address represented by the one-dimensional linear prefix storage structure into a file name and a file path, cooperate with the number of levels and the name of processing nodes to form a data storage path containing information of data layer, number of levels, name of processing nodes, file name and file path; the determination of the data partitioning rule corresponding to the global digital elevation data comprises: Determine the data partition mode corresponding to the global digital elevation data, which includes the partition starting level, the partition ending level, and the information of the resolution corresponding to each partition level and the projection mode; the information of the projection mode determines the information of the partition grid.

4. The method of claim 1, wherein Based on the relationship between the target level and the preset level, return the tile data of the corresponding level, specifically including: Determine whether the target level corresponding to the tile data acquisition request reaches or exceeds the preset level, if not, determine the tile data storage address corresponding to the tile data acquisition request, and return the corresponding tile data based on the tile data storage address; if yes, based on the offset from the preset level to the target level, acquire the tile data of the preset level, and sequentially resample and acquire the corresponding regional data from the preset level to the target level based on the preset resampling mode, and return the tile data of the corresponding level.

5. The method of claim 4, wherein Based on the preset resampling mode, sequentially resample and acquire the corresponding regional data from the preset level to the target level, and return the tile data of the corresponding level, specifically including: Using the bilinear interpolation method to resample the global digital elevation data from the preset level to the target level, and returning the tile data of the corresponding level.

6. The method of claim 1, wherein Also including: Determine the latitude and longitude coordinate point, and return the corresponding elevation value according to the latitude and longitude coordinate point.

7. A service apparatus for digital elevation data, characterized by Including: Data storage and partition information determination unit, for acquiring the global digital elevation data to be stored, determining the data storage structure, data storage path and data partition rule corresponding to the global digital elevation data; Data parallel processing unit, for performing hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain the tile data to be stored by slicing; Data fusion unit, for storing the tile data to be stored by slicing into the tile database based on the data storage structure, the data storage path and the data partition rule; Data service unit, for obtaining a tile data acquisition request, determining the target level of the tile data acquisition request, and returning the tile data of the corresponding level based on the relationship between the target level and the preset level; The data partition rule includes the information of the partition grid corresponding to the digital elevation data; The hierarchical recursive partitioning processing on the global digital elevation data in a parallel manner to obtain the tile data to be stored by slicing, specifically including: Based on the preset task parallel degree corresponding to each processing node, perform preliminary data parallel partitioning between the digital elevation data files corresponding to the global digital elevation data in a task parallel manner; and, in the digital elevation data file, pre-fetch the digital elevation data in the digital elevation data file to the memory and correspond to the partition grid, and perform secondary data parallel partitioning on the digital elevation data pre-fetched to the memory based on the memory parallel manner to obtain the tile data to be stored by slicing; wherein the global digital elevation data includes a plurality of digital elevation data files.

8. An electronic device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, The computer program is executed by the processor to implement the steps of the method for serving digital elevation data according to any one of claims 1 to 6.

9. A processor-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method for serving digital elevation data according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • A parallel point cloud generation DEM method for predicting calculation intensity based on machine learning

    CN109934917A

  • Image tile map service method based on triple bidirectional indexing and optimal caching

    CN113626550A