Real-time dynamic splicing method and device for massive tiles

Through dynamic splicing and caching optimization technology, the problem of long-term and complicated service cuts of large-scale geographical elements is solved, efficient cuts and service releases are achieved, and response speed and system performance are optimized.

CN120104715AActive Publication Date: 2025-06-06BEIJING GEOUNI TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510592622.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-09
Publication Date
2025-06-06
Estimated Expiration
2045-05-09

AI Technical Summary

Technical Problem

The existing technology takes a very long time to cut maps on a large scale, making it difficult to meet the needs of frequent updates of geographical factors. At the same time, too many segmentation numbers lead to complex number of map services, which brings inconvenience to map calls.

Method used

By dynamically splicing multiple sets of tiles based on the same slice scheme, combining and outputting a WMTS service, using a binary tree structure to achieve rapid search and positioning of tiles, and optimizing response speed with the first-level caching mechanism.

Benefits of technology

It significantly improves the efficiency of map cutting and service release, optimizes the response speed of client requests, reduces cost and resource consumption, enhances service flexibility and scalability, and improves data consistency and accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120104715A_ABST
    Figure CN120104715A_ABST
Patent Text Reader

Abstract

The invention discloses a method and a device for dynamically splicing massive tiles in real time. The method comprises the following steps of: storing a plurality of compact slices generated based on the same slicing scheme in a set position of a server; adding a unique identifier to each tile generated by the compact slicing; the tiles are loaded into a GeoWebCache for dynamic analysis, and the four-dimensional range and the corresponding hierarchical range of the tiles are obtained; according to a sequence of loading the tiles into the GeoWebCache, determining a superposition sequence of the tiles in overall display; according to the root node, on the basis of the relationship between the four-direction range of the tile and the hierarchical range corresponding to the tile, extending to the lower level by using a tree structure to splice the tile, and constructing a tile tree structure; and processing a service request input by a user through the Wmts service, and outputting service metadata or tile image data. According to the method, the map cutting efficiency can be ensured, the number of map services can be reduced, and more convenient and efficient services are provided for a map calling party.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of geospatial data processing, and in particular to a method and device for real-time dynamic splicing of massive tiles. Background Art

[0002] In geospatial data processing, various geospatial data need to be made into compact tiles. These data include vector data, such as Shapefile files or geodatabase feature classes of points, lines, and surfaces; and raster data, such as satellite images, digital elevation models, etc. Use ArcGIS Pro or ArcMap software to perform appropriate symbolization and annotation settings according to the data type and characteristics, and adjust the layer order and transparency to make the map present the expected display effect. After confirming that all color schemes and settings are correct, you can start the map cutting task. ArcGIS will cut the map data into a series of tiles according to the set parameters and slicing scheme, and store them in the specified cache location. The map cutting process takes a long time, and the specific duration depends on the scale and complexity of the map data. Taking the image data cutting of levels 0-19 in a specified area as an example, it takes 3 months in a single-machine environment.

[0003] The tiled product uses Esri's unique data format and storage structure. This format compresses and organizes tile data specifically for efficient storage and fast local access, and may contain ArcGIS-specific metadata and optimization mechanisms. The product (compact tile) is also used to publish WMTS services.

[0004] At present, there are two main ways to publish WMTS services on the market: one is to publish through arcgisServer, but because it is not open source and expensive, an open source solution GeoWebCache has emerged. Whether publishing results through arcgisServer or GeoWebCache, the results of a map cut are usually published as a WMTS service. However, in actual situations, it often takes a long time to slice a large range of geographic features. Taking a specified area as an example, it may take several months to fully slice it, which is obviously difficult to meet the needs at the moment when geographic features are frequently updated. Therefore, most people choose to slice map features according to fixed rules, and then perform map matching, color adjustment and slicing operations respectively. Although this approach can improve the efficiency of map cutting to a certain extent, it also brings new problems. Suppose the map production of a specified area is sliced ​​into 10 blocks, 10 map services will be generated after publishing. For the map caller, 10 services may be acceptable; but when the number of slices increases to 20, 30 or even more, this will undoubtedly bring great inconvenience to the map call, which is difficult to accept.

[0005] Therefore, how to invent a real-time dynamic splicing method for massive tiles that can not only ensure the efficiency of map cutting, but also reduce the number of map services and provide more convenient and efficient services for map callers has become an urgent problem to be solved. Summary of the invention

[0006] To this end, the present invention provides a method and device for real-time dynamic splicing of massive tiles, which dynamically splices multiple groups of tiles based on the same slicing scheme and then merges and outputs a WMTS service. Through the binary tree structure, the client's requested tile can be quickly searched and located; at the same time, with the help of the first-level cache mechanism, a quick response can be achieved for tile requests with the same row and column numbers that appear again, significantly optimizing the service response speed and the overall system performance.

[0007] In order to achieve the above object, the present invention provides the following technical solution: a method for real-time dynamic splicing of massive tiles, comprising:

[0008] Store several compact tiles generated based on the same tiling scheme in a set location on the server;

[0009] Adding a unique identifier to each tile generated by the compact slice; the unique identifier serves as a root node for indexing the tile;

[0010] Load the tile into GeoWebCache, and dynamically analyze the tile through GeoWebCache to obtain the bounds and corresponding hierarchical ranges of the tile;

[0011] Determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles, and the stacking order data of the tiles according to the set storage method;

[0012] According to the root node, based on the relationship between the bounding range of the tile and the hierarchical range corresponding to the tile, the tiles are extended to the lower level in a tree structure to construct a tile tree structure;

[0013] The Wmts service processes the service request input by the user and outputs service metadata or tile image data.

[0014] As a preferred solution of the method for real-time dynamic splicing of massive tiles, the steps of the Wmts service processing the service request input by the user are as follows:

[0015] If a GetCapabilities request is received, obtain and output the service metadata;

[0016] If a GetTile request is received, the target tile is located in the tile tree structure according to the set parameters in the URL input by the client; the target tile is overlaid and superimposed, invalid tiles and blank images are removed, the target result image is obtained and output to the client; the target result image is cached and a mapping relationship between the cache path and the row and column numbers is constructed to improve the response speed of subsequent identical GetTile requests.

[0017] As a preferred solution for the real-time dynamic splicing method of massive tiles, in the process of storing the compact slices in a set location of the server, the storage methods include: local disk storage, Hadoop distributed file system storage and network file system storage.

[0018] As a preferred solution of the real-time dynamic splicing method for massive tiles, in the process of the Wmts service processing the GetCapabilities request, the service metadata includes: coordinate system, tile matrix set, layer information, service operation, service restriction conditions and tile matrix specific information;

[0019] The layer information includes: layer name, title, abstract description and data format;

[0020] The service operation includes: supported request types and parameters of the request types;

[0021] The service restrictions include: access rights and terms of use;

[0022] The specific information of the tile matrix includes: resolution, scale denominator and range.

[0023] As a preferred solution for the real-time dynamic splicing method of massive tiles, in the process of the Wmts service processing the GetTile request, the GetTile request adds the setting parameters in the URL input by the client through the HTTP GET method; the setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

[0024] The present invention also provides a device for real-time dynamic splicing of massive tiles, based on the above method for real-time dynamic splicing of massive tiles, comprising:

[0025] A compact slice storage module, used for storing a plurality of compact slices generated based on the same slice scheme in a set location of the server;

[0026] A tile identification adding module, used for adding a unique identification to each tile generated by the compact slice; the unique identification is used as a root node for indexing the tile;

[0027] A tile dynamic analysis processing module is used to load the tile into GeoWebCache, dynamically analyze the tile through GeoWebCache, and obtain the bounds and corresponding hierarchical ranges of the tile;

[0028] The tile stacking order determination module is used to determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles, and the stacking order data of the tiles according to the set storage method;

[0029] A tile tree structure construction module is used to extend and splice the tiles to lower levels in a tree structure according to the root node and based on the relationship between the boundary range of the tile and the level range corresponding to the tile to construct a tile tree structure;

[0030] The Wmts service processing module is used to process the service request input by the user through the Wmts service and output service metadata or tile image data.

[0031] As a preferred solution of the device for real-time dynamic splicing of massive tiles, in the Wmts service processing module, the submodule for processing the service request input by the Wmts service includes:

[0032] A GetCapabilities request processing submodule, configured to obtain and output the service metadata if a GetCapabilities request is received;

[0033] The GetTile request processing submodule is used to locate the target tile in the tile tree structure according to the set parameters in the URL input by the client if a GetTile request is received; perform an overlay operation on the target tile, remove invalid tiles and blank images, obtain the target result image and output it to the client; cache the target result image and construct a mapping relationship between the cache path and the row and column numbers to improve the response speed of subsequent identical GetTile requests.

[0034] As a preferred solution for the real-time dynamic splicing device of massive tiles, in the compact slice storage module, in the process of storing the compact slice in a set location of the server, the storage methods include: local disk storage, Hadoop distributed file system storage and network file system storage.

[0035] As a preferred solution of the device for real-time dynamic splicing of massive tiles, in the GetCapabilities request processing submodule in the Wmts service processing module, during the process of the Wmts service processing the GetCapabilities request, the service metadata includes: coordinate system, tile matrix set, layer information, service operation, service restriction conditions and tile matrix specific information;

[0036] The layer information includes: layer name, title, abstract description and data format;

[0037] The service operation includes: supported request types and parameters of the request types;

[0038] The service restrictions include: access rights and terms of use;

[0039] The specific information of the tile matrix includes: resolution, scale denominator and range.

[0040] As a preferred solution for the real-time dynamic splicing device of massive tiles, in the GetTile request processing submodule in the Wmts service processing module, during the process of the Wmts service processing the GetTile request, the GetTile request adds the setting parameters in the URL input by the client through the HTTP GET method; the setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

[0041] The present invention has the following advantages:

[0042] First, it significantly improves the efficiency of map cutting and service publishing: Traditional map cutting methods take a long time to cut maps for large-scale geographic elements. For example, it takes several months to cut maps of a specified area in a single-machine environment. The present invention greatly shortens the map cutting time by dividing map elements according to reasonable rules and processing them separately. It can also dynamically splice multiple groups of tiles and merge them into a WMTS service when the program is running, avoiding the problem of complicated service quantity caused by too many divisions, making map service publishing more efficient and convenient, greatly improving the overall efficiency of the geospatial data processing process, and meeting the actual needs of frequent updates of geographic elements.

[0043] Second, the client request response speed is optimized: the binary tree structure is used to quickly find and locate the tiles requested by the client. When the client initiates a request, the system can use the binary search method to quickly traverse the tree nodes based on the request parameters, through the reverse operation of the slicing scheme and the tree node index number rules, and accurately locate the area where the target tile is located to obtain the result image. At the same time, the first-level cache mechanism responds quickly to tile requests with the same row and column numbers. The next time there is a request with the same row and column number, the image is directly obtained based on the mapping relationship between the cache path and the row and column number, without the need to repeatedly match nodes from the tree structure, which greatly reduces the response time, provides a smoother and more efficient user experience for the map caller, and significantly optimizes the response speed of client requests and system performance.

[0044] Third, it reduces costs and resource consumption: Compared with the closed and expensive publishing method of arcgisServer, the present invention is developed based on the open source GeoWebCache. This not only saves the cost of purchasing software, but also reduces the hardware resource consumption caused by long-term cutting and maintenance of a large number of services, including storage resources and computing resources, by optimizing the cutting and service publishing process. For example, in the cutting process, the shortened cutting time means reducing the server running time and reducing energy consumption, thereby reducing the overall operating cost of geospatial data services.

[0045] Fourth, it enhances service flexibility and scalability: The dynamic splicing method of the present invention allows for the flexible integration of compact slices from different sources but based on the same slicing scheme without re-cutting the map on a large scale, making it convenient to adjust and expand map service content at any time according to actual business needs. Whether adding new geographic area data or updating and optimizing existing data, it can be easily achieved, greatly enhancing the flexibility and scalability of geospatial data services, and better adapting to changing business scenarios and user needs.

[0046] Fifth, data consistency and accuracy have been improved: When merging multiple tile result packages, the consistency and accuracy of the data format, resolution, and overall range in the entire WMTS service are ensured by reordering the tiles in memory according to the level and range, and uniformly obtaining and processing the service metadata information. This helps avoid map display errors or analysis deviations caused by inconsistent data, provides a more reliable data foundation for various geographic information applications based on the service, and improves the quality and availability of geospatial data. BRIEF DESCRIPTION OF THE DRAWINGS

[0047] In order to more clearly illustrate the implementation methods of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for the implementation methods or the description of the prior art. Obviously, the drawings in the following description are only exemplary, and for ordinary technicians in this field, other implementation drawings can be derived from the provided drawings without creative work.

[0048] The structures, proportions, sizes, etc. illustrated in this specification are only used to match the contents disclosed in the specification so as to facilitate understanding and reading by persons familiar with the technology. They are not used to limit the conditions under which the present invention can be implemented, and therefore have no substantial technical significance. Any structural modification, change in proportion or adjustment of size shall still fall within the scope of the technical contents disclosed in the present invention without affecting the effects and purposes that can be achieved by the present invention.

[0049] Figure 1 This is a schematic diagram of the process of the real-time dynamic splicing method of a large number of tiles provided in Embodiment 1 of the present invention;

[0050] Figure 2 A schematic diagram of a tile tree structure in the method for real-time dynamic splicing of a large number of tiles provided in Embodiment 1 of the present invention;

[0051] Figure 3 This is a schematic diagram of the architecture of the device for real-time dynamic splicing of massive tiles provided in Example 2 of the present invention. DETAILED DESCRIPTION

[0052] The following is a description of the implementation of the present invention by specific embodiments. People familiar with the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0053] Example 1

[0054] See also Figure 1 Embodiment 1 of the present invention provides a method for real-time dynamic splicing of massive tiles, comprising the following steps:

[0055] S1, storing a plurality of compact slices generated based on the same slicing scheme at a set location of the server;

[0056] S2. Add a unique identifier to each tile generated by the compact slice; the unique identifier serves as a root node for indexing the tile;

[0057] S3, loading the tile into GeoWebCache, dynamically analyzing the tile through GeoWebCache, and obtaining the bounds and corresponding hierarchical ranges of the tile;

[0058] S4. Determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles, and the stacking order data of the tiles according to the set storage method;

[0059] S5. According to the root node, based on the relationship between the bounding range of the tile and the hierarchical range corresponding to the tile, the tiles are extended to the lower level in a tree structure to construct a tile tree structure;

[0060] S6. Process the service request input by the user through the Wmts service and output service metadata or tile image data.

[0061] In this embodiment, in step S1, a plurality of compact slices generated based on the same slice scheme are stored in a set location of the server;

[0062] Specifically, several compact slices generated based on the same set of slicing schemes are stored and deployed to a specified location that can be read by the server.

[0063] Among them, storage methods are diverse, covering but not limited to local disk storage, Hadoop Distributed File System (HDFS) storage, and Network File System (NFS) storage. Among them, local storage is suitable for scenarios with small data volumes and extremely high requirements for data read and write speeds, and can achieve fast data access; HDFS storage, with its high fault tolerance and high scalability, can cope with the reliable storage and processing needs of large-scale data; NFS storage facilitates the sharing of file resources between hosts with different operating systems, promoting efficient circulation and collaboration of data. In actual operation, it is necessary to carefully select the most suitable storage method based on the performance configuration of the server, the scale of data, and the business application scenario, so as to ensure the stability, efficiency, and security of compact slice data storage.

[0064] In this embodiment, in step S2, a unique identifier is added to each tile generated by the compact slice; the unique identifier serves as a root node for indexing the tile;

[0065] Specifically, a unique identifier is set for each tile generated by the compact slice to accurately describe this group of tiles, and this identifier is used as the root node of the tile index.

[0066] In this embodiment, in step S3, the tile is loaded into GeoWebCache, and GeoWebCache dynamically analyzes the tile to obtain the bounds and corresponding hierarchical ranges of the tile;

[0067] Specifically, the tiles generated by the compact slices are loaded into GeoWebCache. In this process, the specific method of GeoWebCache reading HDFS and NFS files is not discussed. By configuring GeoWebCache, it is ensured that the tiles can be loaded smoothly, laying the foundation for subsequent operations such as map display.

[0068] After loading into GeoWebCache, GeoWebCache automatically performs dynamic analysis on the loaded tiles to accurately obtain the boundaries of the tiles and the level range corresponding to the tiles.

[0069] In this embodiment, in step S4, the stacking order of the tiles in the overall display is determined according to the order in which the tiles are loaded into GeoWebCache; the bounding range of the tiles, the level range corresponding to the tiles, and the stacking order data of the tiles are saved according to the set storage method;

[0070] Specifically, the order in which the tiles are superimposed in the overall display is determined according to the order in which the tiles are loaded into GeoWebCache in step S3. After the determination is completed, the key metadata information, such as the bounds of the tile, the hierarchical range corresponding to the tile, and the superposition order of the tile, is saved through database storage or memory cache. It should be noted that the saved metadata information is only valid during the current system startup, and the next startup will re-analyze and save operations to adapt to possible changes in slice data and configuration.

[0071] In this embodiment, in step S5, according to the root node, based on the relationship between the bounding range of the tile and the hierarchical range corresponding to the tile, the tile is extended to the lower level in a tree structure to construct a tile tree structure;

[0072] Specifically, according to the root node of the tile, based on the relationship between the bounding range of the tile and the hierarchical range corresponding to the tile, the root nodes of each tile are extended downward in a tree structure to construct a tile tree structure. Figure 2As shown, in such a tree structure, tile nodes 0-0-0 and 0-0-1 together represent a specific map range block. In this tree, the index number of each node is determined by its last digit. For example, if there are 500 such map range blocks in the second level, then the tile node index number corresponding to the last range block is 0-0-500. When entering the next level, the index numbers will be arranged in sequence starting from 0-0-500-0. A part of metadata information is attached to each node, and this metadata information identifies which result package each tile is located in. Based on the above structural analysis, multiple tile result packages are basically reordered in memory according to the level and range. And the reordered structure is cached in memory.

[0073] In this embodiment, in step S6, the service request input by the user is processed by the Wmts service, and service metadata or tile image data is output.

[0074] Specifically, the steps of processing the service request input by the user by the Wmts service are as follows:

[0075] S61. If a GetCapabilities request is received, obtain and output the service metadata;

[0076] Specifically, GetCapabilities is mainly used to obtain service metadata information, covering a wide range of content, including the coordinate system supported by the service, tile matrix set, layer-related information (such as layer name, title, abstract description, and data format, etc.), service operations (such as supported request types and their parameters), service restrictions (such as access rights, terms of use, etc.), and details of each tile matrix (such as resolution, scale denominator, and four-dimensional range, etc.). These metadata information is crucial, allowing the client to fully understand the capabilities and resources of the Wmts service, so that subsequent requests can be correctly constructed. When it comes to merging multiple layers, the focus of metadata is mainly on the description of data format, resolution, and overall four-dimensional range. Given that the data format has been agreed in advance to be png or jpeg in the early data preparation stage, and a consistent slicing scheme is used, this ensures resolution consistency. When determining the overall four-dimensional range, only one intersection operation is required for the four-dimensional range of each row of tree nodes to obtain it.

[0077] S62. If a GetTile request is received, the target tile is located in the tile tree structure according to the set parameters in the URL input by the client; the target tile is overlaid and superimposed, invalid tiles and blank images are removed, the target result image is obtained and output to the client; the target result image is cached and a mapping relationship between the cache path and the row and column numbers is constructed to improve the response speed of subsequent identical GetTile requests.

[0078] Specifically, the client sends a GetTile request to the Wmts service by specifying parameters such as the layer name, tile matrix set name, tile row number, tile column number, and tile zoom level. The server extracts the corresponding tile image data (common formats such as PNG, JPEG, etc.) from the map data based on these parameters and returns it to the client for displaying the specific area of ​​the map in the map application.

[0079] The GetTile request adds the setting parameters to the URL input by the client through the HTTP GET method; the setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

[0080] Specific examples include:

[0081] "http: / / XXXXX:80 / GeoWebCache / gishub / layer_group / XXX / wmts?layer=[layer name]&style=&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fpng&TileMatrix=8&TileCol=185&TileRow=34".

[0082] In the above example, the client explicitly specifies the service type, version, request action, target layer, tile matrix set, zoom level, and specific row and column numbers and image format through an HTTP GET request.

[0083] When the client initiates a request, the system matches the root node of each tree based on the layer name in the request. If the match is successful, the first condition is met. Subsequently, the row and column numbers in the request are matched. Taking the request URL as an example, when tilematrix = 8, tilerow = 34, and tilecol = 185, it can be seen that the tile requested by the client is in the 8th layer of the tree. Based on the row number 185 and the column number 34, through the inverse operation of the slicing scheme, it can be determined that the tile is located in the area with a range of [87.5830, 43.8574218, 87.62912, 43.9045]. Since the index number generation rule of the tree node covers the range of four, in the process of traversing the tree node, the binary method is used to determine whether the tile is within the specified range, and the index number of the seventh level can be quickly located. Then, based on the seventh-level index number, the eighth-level index number is generated by splicing, so that the overall serial number prefix of the requested tile can be quickly obtained, for example: 1 - 2 - 3 - 4 - 5 - 6 - 7 -8 - XXX. According to this index number prefix, all tiles with serial numbers starting with 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 are obtained. Then, the overlapping operation is performed in the order of XXX, and invalid tiles and blank images are eliminated to finally obtain the result image.

[0084] In this embodiment, the system searches and matches in the memory tree structure according to the row and column numbers of the request to obtain the corresponding result image, and then responds to the client with the image. At the same time, in order to optimize the efficiency of subsequent request processing, the system will cache the result image to a third-party memory or local storage. After completing the caching operation, a mapping relationship will be built inside the server to associate the cache path with the row and column numbers. When a request with the same row and column number comes in next time, the system will be able to directly and quickly locate the result image based on this mapping relationship, without having to match the node from the tree structure again, which greatly improves the response speed and system performance.

[0085] It should be noted that the method of the embodiment of the present disclosure can be performed by a single device, such as a computer or a server. The method of the present embodiment can also be applied in a distributed scenario and completed by multiple devices cooperating with each other. In the case of such a distributed scenario, one of the multiple devices can only perform one or more steps in the method of the embodiment of the present disclosure, and the multiple devices will interact with each other to complete the described method.

[0086] It should be noted that the above describes some embodiments of the present disclosure. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the above embodiments and still achieve the desired results. In addition, the processes depicted in the accompanying drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0087] Example 2

[0088] See also Figure 3 Embodiment 2 of the present invention further provides a device for real-time dynamic splicing of massive tiles, including:

[0089] The compact slice storage module 001 is used to store a plurality of compact slices generated based on the same slice scheme in a set location of the server;

[0090] The tile identification adding module 002 is used to add a unique identification to each tile generated by the compact slice; the unique identification is used as a root node for indexing the tile;

[0091] The tile dynamic analysis processing module 003 is used to load the tile into GeoWebCache, and dynamically analyze the tile through GeoWebCache to obtain the boundary range and corresponding level range of the tile;

[0092] The tile stacking order determination module 004 is used to determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles and the stacking order data of the tiles according to the set storage method;

[0093] A tile tree structure construction module 005 is used to construct a tile tree structure by extending and splicing the tiles to lower levels in a tree structure according to the root node and based on the relationship between the boundary range of the tile and the level range corresponding to the tile;

[0094] The Wmts service processing module 006 is used to process the service request input by the user through the Wmts service and output service metadata or tile image data.

[0095] In this embodiment, in the Wmts service processing module 006, the submodule for the Wmts service to process the service request input by the user includes:

[0096] GetCapabilities request processing submodule 061, used for obtaining and outputting the service metadata if a GetCapabilities request is received;

[0097] The GetTile request processing submodule 062 is used to locate the target tile in the tile tree structure according to the set parameters in the URL input by the client if a GetTile request is received; perform an overlay operation on the target tile, remove invalid tiles and blank images, obtain the target result image and output it to the client; cache the target result image and construct a mapping relationship between the cache path and the row and column numbers to improve the response speed of subsequent identical GetTile requests.

[0098] In this embodiment, in the compact slice storage module 001, in the process of storing the compact slice in a set location of the server, the storage methods include: local disk storage, Hadoop distributed file system storage and network file system storage.

[0099] In this embodiment, in the GetCapabilities request processing submodule 061 in the Wmts service processing module 006, during the process of the Wmts service processing the GetCapabilities request, the service metadata includes: coordinate system, tile matrix set, layer information, service operation, service restriction condition and tile matrix specific information;

[0100] The layer information includes: layer name, title, abstract description and data format;

[0101] The service operation includes: supported request types and parameters of the request types;

[0102] The service restrictions include: access rights and terms of use;

[0103] The specific information of the tile matrix includes: resolution, scale denominator and range.

[0104] In this embodiment, in the GetTile request processing submodule 062 in the Wmts service processing module 006, during the process of the Wmts service processing the GetTile request, the GetTile request adds the setting parameters in the URL input by the client through the HTTP GET method; the setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

[0105] It should be noted that the information interaction, execution process, etc. between the modules of the above-mentioned system are based on the same concept as the method embodiment in Example 1 of the present application, and the technical effects they bring are the same as those of the method embodiment of the present application. For specific contents, please refer to the description in the method embodiment shown above in the present application, and will not be repeated here.

[0106] Example 3

[0107] Embodiment 3 of the present invention provides a non-transitory computer-readable storage medium, in which program code for a method for real-time dynamic splicing of massive tiles is stored. The program code includes instructions for executing the method for real-time dynamic splicing of massive tiles of Embodiment 1 or any possible implementation thereof.

[0108] Computer-readable storage media can be any available medium that can be accessed by a computer or a data storage device such as a server or data center that includes one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state drive (SSD)).

[0109] Example 4

[0110] Embodiment 4 of the present invention provides an electronic device, including: a memory and a processor;

[0111] The processor and the memory communicate with each other via a bus; the memory stores program instructions that can be executed by the processor, and the processor calls the program instructions to execute the real-time dynamic splicing method for massive tiles of Example 1 or any possible implementation thereof.

[0112] Specifically, the processor can be implemented by hardware or by software. When implemented by hardware, the processor can be a logic circuit, an integrated circuit, etc.; when implemented by software, the processor can be a general-purpose processor implemented by reading software codes stored in a memory. The memory can be integrated in the processor or can be located outside the processor and exist independently.

[0113] In the above embodiments, it can be implemented in whole or in part by software, hardware, firmware or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, the process or function described in the embodiment of the present invention is generated in whole or in part. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable systems. The computer instructions can be stored in a computer-readable storage medium, or transmitted from a computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions can be transmitted from a website site, computer, server or data center by wired (e.g., coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) mode to another website site, computer, server or data center.

[0114] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing system, they can be concentrated on a single computing system, or distributed on a network composed of multiple computing systems, and optionally, they can be implemented by a program code executable by a computing system, so that they can be stored in a storage system and executed by the computing system, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0115] Although the present invention has been described in detail above by general description and specific embodiments, it is obvious to those skilled in the art that some modifications or improvements can be made to the present invention. Therefore, these modifications or improvements made without departing from the spirit of the present invention all belong to the scope of protection claimed by the present invention.

Claims

1. A method for real-time dynamic splicing of massive tiles, characterized in that: include: Store several compact tiles generated based on the same tiling scheme in a set location on the server; Adding a unique identifier to each tile generated by the compact slice; The unique identifier is used as a root node for indexing the tile; Load the tile into GeoWebCache, and dynamically analyze the tile through GeoWebCache to obtain the bounds and corresponding hierarchical ranges of the tile; Determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles, and the stacking order data of the tiles according to the set storage method; According to the root node, based on the relationship between the bounding range of the tile and the hierarchical range corresponding to the tile, the tiles are extended to the lower level in a tree structure to construct a tile tree structure; The Wmts service processes the service request input by the user and outputs service metadata or tile image data.

2. The method for real-time dynamic splicing of massive tiles according to claim 1, characterized in that: The steps of processing the service request input by the user by the Wmts service are as follows: If a GetCapabilities request is received, obtain and output the service metadata; If a GetTile request is received, the target tile is located in the tile tree structure according to the set parameters in the URL input by the client; The target tiles are overlapped and superimposed, invalid tiles and blank images are removed, the target result image is obtained and output to the client; the target result image is cached and a mapping relationship between the cache path and the row and column numbers is constructed to improve the response speed of subsequent identical GetTile requests.

3. The real-time dynamic splicing method of massive tiles according to claim 2 is characterized in that: In the process of storing the compact slices in a set location of the server, the storage methods include: local disk storage, Hadoop distributed file system storage and network file system storage.

4. The method for real-time dynamic splicing of massive tiles according to claim 3, characterized in that: In the process of the Wmts service processing the GetCapabilities request, the service metadata includes: coordinate system, tile matrix set, layer information, service operation, service restriction condition and tile matrix specific information; The layer information includes: layer name, title, abstract description and data format; The service operation includes: supported request types and parameters of the request types; The service restrictions include: access rights and terms of use; The specific information of the tile matrix includes: resolution, scale denominator and range.

5. The method for real-time dynamic splicing of massive tiles according to claim 4, characterized in that: In the process of the Wmts service processing the GetTile request, the GetTile request adds the setting parameters to the URL input by the client through the HTTP GET method; The setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

6. A device for real-time dynamic splicing of massive tiles, using the method for real-time dynamic splicing of massive tiles according to any one of claims 1 to 5, characterized in that: include: A compact slice storage module, used for storing a plurality of compact slices generated based on the same slice scheme in a set location of the server; A tile identification adding module, used for adding a unique identification to each tile generated by the compact slice; the unique identification is used as a root node for indexing the tile; A tile dynamic analysis processing module is used to load the tile into GeoWebCache, dynamically analyze the tile through GeoWebCache, and obtain the bounds and corresponding hierarchical ranges of the tile; The tile stacking order determination module is used to determine the stacking order of the tiles in the overall display according to the order in which the tiles are loaded into GeoWebCache; save the bounds of the tiles, the level ranges corresponding to the tiles, and the stacking order data of the tiles according to the set storage method; A tile tree structure construction module is used to extend and splice the tiles to lower levels in a tree structure according to the root node and based on the relationship between the boundary range of the tile and the level range corresponding to the tile to construct a tile tree structure; The Wmts service processing module is used to process the service request input by the user through the Wmts service and output service metadata or tile image data.

7. The real-time dynamic splicing device for massive tiles according to claim 6, characterized in that: In the Wmts service processing module, the submodule for the Wmts service to process the service request input by the user includes: A GetCapabilities request processing submodule, configured to obtain and output the service metadata if a GetCapabilities request is received; The GetTile request processing submodule is used to locate the target tile in the tile tree structure according to the set parameters in the URL input by the client if a GetTile request is received; perform an overlay operation on the target tile, remove invalid tiles and blank images, obtain the target result image and output it to the client; cache the target result image and construct a mapping relationship between the cache path and the row and column numbers to improve the response speed of subsequent identical GetTile requests.

8. The real-time dynamic splicing device for massive tiles according to claim 7, characterized in that: In the compact slice storage module, in the process of storing the compact slice in a set location of the server, the storage methods include: local disk storage, Hadoop distributed file system storage and network file system storage.

9. The real-time dynamic splicing device for massive tiles according to claim 8, characterized in that: In the GetCapabilities request processing submodule in the Wmts service processing module, during the process of the Wmts service processing the GetCapabilities request, the service metadata includes: coordinate system, tile matrix set, layer information, service operation, service restriction condition and tile matrix specific information; The layer information includes: layer name, title, abstract description and data format; The service operation includes: supported request types and parameters of the request types; The service restrictions include: access rights and terms of use; The specific information of the tile matrix includes: resolution, scale denominator and range.

10. The real-time dynamic splicing device for massive tiles according to claim 9, characterized in that: In the GetTile request processing submodule in the Wmts service processing module, during the process of the Wmts service processing the GetTile request, the GetTile request adds the setting parameter to the URL input by the client through the HTTP GET method; The setting parameters include: layer name, tile matrix set name, tile row number, tile column number and tile zoom level.

Citation Information

Patent Citations

  • Network map tile service aggregation method and system

    CN102968442A

  • EnersunWebCache based method for dynamically generating cached power grid map tiles

    CN105608191A

  • A method and a system for quickly drawing super-large-scale spatial data

    CN109408657A

  • Spliced picture display method and device of GIS map

    CN111858822A

  • Method of and system for defining a service for serving map images

    CN113632076A