High-precision map vector data slicing processing method and device
By constructing tree-structured indexes and spatial indexing algorithms, the problem of low efficiency in generating high-precision map tiles was solved, and efficient and easily updatable tile data processing was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NAT AUTOMOBILE UNIV SPACE-TIME TECH (ANQING) CO LTD
- Filing Date
- 2023-07-28
- Publication Date
- 2026-06-12
AI Technical Summary
Traditional methods are inefficient in generating high-precision map tiles, waste resources significantly, and are difficult to update and maintain.
By employing tree-structured data indexing and spatial indexing algorithms, and by constructing a full quadtree, sorting the set of geometric points, calculating the range of row and column numbers, and the set of index values, the association between slices and data is established, enabling fast retrieval and updates.
It improves the efficiency of generating high-precision map tiles, reduces data storage costs and complexity, and simplifies the data update and maintenance process.
Smart Images

Figure CN117076587B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of geographic information technology, and in particular to a method and apparatus for processing high-precision map vector data tiling. Background Technology
[0002] With the development of technology, automation has gradually become an important technological pillar in modern industries. Automated driving, in particular, has become a crucial area of development in the modern transportation sector. Compared to traditional in-vehicle navigation maps that primarily serve drivers, high-precision maps store a wealth of driving assistance information as structured data. One type of data is road data, such as lane information including lane position, type, width, slope, and curvature. Another type includes information on fixed objects around the lanes, such as traffic signs, traffic lights, lane height restrictions, sewer openings, obstacles, and other road details. It also includes information on elevated structures, guardrails, their number, road edge types, and roadside landmarks. Its three main functions—map matching, assisted environmental perception, and path planning—give it a unique and irreplaceable advantage in autonomous driving.
[0003] Traditional raster and vector tiling methods work well for conventional electronic navigation maps, but are not suitable for high-precision maps. High-precision maps require high detail and up-to-date information. Currently, traditional electronic maps typically have a scale level of 0 to 18. To reflect the high detail of high-precision maps, the scale level often needs to be expanded to 22 or even 23. Therefore, the required map tile data tiling time and data storage space increase exponentially, leading to a significant decrease in tile generation efficiency, substantial resource waste, and cost increases. Furthermore, because high-precision maps require a large amount of driving assistance information, subsequent data updates and maintenance become extremely difficult. Summary of the Invention
[0004] This invention discloses a method and apparatus for processing high-precision map vector data tiling, which improves the efficiency of tiling and the ease of updating tiling data.
[0005] To achieve the above objectives, this invention discloses a high-precision map vector data tiling processing method, comprising:
[0006] Based on the high-precision map vector data of the layer to be sliced, the corresponding tree structure data is generated, and a unique index is constructed for each child node data in the tree structure data through a preset spatial indexing algorithm to obtain the index value corresponding to each child node data in the tree structure data.
[0007] Based on the preset slicing level of the layer to be sliced, the set of geometric points in the high-precision map vector data is sorted by spatial coordinates using a preset variational method, and the geometric boundary information corresponding to the preset slicing level of the layer to be sliced is obtained based on the sorting of spatial coordinates.
[0008] Based on the geometric boundary information, the range of row and column numbers corresponding to the slice level is obtained through a preset row and column number conversion formula;
[0009] The tree structure data is retrieved based on the range of row and column numbers to obtain the index values contained in the slice level, thereby forming the set of index values corresponding to the slice level.
[0010] By combining the index value, the row and column number range, and the slice level, the map vector slice data corresponding to the slice layer is obtained.
[0011] This invention discloses a method for processing high-precision map vector data tiling. After obtaining the high-precision map vector data of the layer to be tiled, a corresponding tree structure data is first constructed based on the high-precision map vector data. The tree structure data is then indexed using spatial indexing to create a unique index value for each child node in the tree structure data. This allows for rapid modification and updating of the tiling data within the tiling level based on the index value, improving the maintainability and updateability of the tiling data. Next, after generating the index value corresponding to the tree structure data, the invention calculates geometric boundary information for the current tiling level. This information is used to calculate the range of row and column numbers included in the current tiling level. The calculated geometric boundary is then used to retrieve the index value set from the constructed tree structure data. Based on the index value set and the range of row and column numbers, the resulting data contained in the current tiling level is obtained. This reduces the redundancy of the resulting data, decreases the volume of the tiling results, and improves the efficiency of data tiling.
[0012] As a preferred example, the process involves generating corresponding tree structure data based on the high-precision map vector data of the layer to be sliced, and constructing a unique index for each child node in the tree structure data using a preset spatial indexing algorithm, including:
[0013] Based on the acquired high-precision map vector data with sliced layers, a full quadtree corresponding to the high-precision map vector data is created at a preset depth to obtain the tree structure data corresponding to the high-precision map vector data.
[0014] The tree structure data is traversed using a preset spatial indexing algorithm, and a unique index is established for each child node in the tree structure data to obtain the index value corresponding to each child node.
[0015] This invention first creates a full quadtree with depth based on the high-precision map vector data of the layer to be sliced, and sequentially forms the association between the data. This facilitates the construction of the association between slices based on the association between the data when slicing the data in the future. Furthermore, an index structure between slices and data is established, which facilitates data updates based on the index structure and improves the ease of maintaining slice data.
[0016] As a preferred example, the step of sorting the set of geometric points in the high-precision map vector data by spatial coordinates using a preset variational method, and obtaining the geometric boundary information corresponding to the preset tiling level of the layer to be tiled based on the sorting of spatial coordinates, includes:
[0017] The set of geometric points in the high-precision map vector data is sorted by spatial coordinates according to a preset variation method to obtain the minimum and maximum points in the set of geometric points.
[0018] Based on the two-dimensional spatial coordinates of the minimum and maximum points, the geometric boundary information of the slice level corresponding to the layer to be sliced is obtained.
[0019] This invention utilizes a variational method to obtain the two-dimensional spatial coordinates of the maximum and minimum points of the current layer, so as to determine the geometric boundary information of the slice layer based on the two-dimensional spatial coordinates. This information is used to determine the high-precision map vector data actually required for the current slice layer, avoiding data duplication, reducing the cost of slice data, and improving the efficiency of data slicing.
[0020] As a preferred example, the process of retrieving the tree structure data based on the row and column number range to obtain the index values contained in the slice level includes:
[0021] Traverse the range of row and column numbers to obtain the row and column numbers for each iteration, and deduce the preset row and column number calculation formula based on the row and column numbers to obtain several slice bounding boxes corresponding to the slice level.
[0022] The tree structure data is retrieved based on the plurality of slice bounding boxes, and the index values contained in the plurality of slice bounding boxes are obtained through a preset polygon intersection algorithm.
[0023] This invention calculates the range of row and column numbers corresponding to the current slice level based on geometric boundary information, and then reverse-engineers the high-precision map vector data corresponding to the slice level based on the range of row and column numbers. Based on the index information of the high-precision map vector data, it calculates the data geometry and slice relationship, intersection relationship, and associates the map slice with the map index to build the association between the slice and the data. This facilitates subsequent searching, updating and maintaining of slice data, and reduces the complexity of slice data maintenance.
[0024] As a preferred example, obtaining the map vector tile data corresponding to the layer to be tiled by combining the index value, the row and column number range, and the tile level includes:
[0025] The tree structure data corresponding to the high-precision map vector data is retrieved based on the set of index values to obtain the high-precision map vector data corresponding to each index value contained in the set of index values;
[0026] Based on the slice level, combined with the set of index values, the range of row and column numbers, and the high-precision map vector data corresponding to each index value in the set of index values, the map vector slice data corresponding to the slice layer is obtained.
[0027] This invention assembles the corresponding row and column number ranges and index value sets in the slice level to form map vector slice data corresponding to the current slice level. In addition to recording the slice level, data type, coordinate information and other contents of the current slice in the data, the data of a certain slice can be quickly modified and updated by using the constructed data index structure through the records, so that the slice data is easy to update and maintain.
[0028] On the other hand, the present invention also discloses a high-precision map vector data tiling processing device, including a data indexing module, a geometric boundary module, a row and column number calculation module, a data retrieval module and a data combination module;
[0029] The data indexing module is used to generate corresponding tree structure data based on the high-precision map vector data of the layer to be sliced, and to construct a unique index for each child node data in the tree structure data through a preset spatial indexing algorithm to obtain the index value corresponding to each child node data in the tree structure data.
[0030] The geometric boundary module is used to sort the spatial coordinates of the set of geometric points in the high-precision map vector data according to the preset slicing level of the layer to be sliced, and to obtain the geometric boundary information corresponding to the preset slicing level of the layer to be sliced according to the sorting of the spatial coordinates.
[0031] The row and column number calculation module is used to obtain the row and column number range corresponding to the slice level based on the geometric boundary information and a preset row and column number conversion formula.
[0032] The data retrieval module is used to retrieve the tree structure data according to the row and column number range, obtain the index values contained in the slice level, and then form the index value set corresponding to the slice level;
[0033] The data combining module is used to combine the index value combination, the row and column number range, and the slice level to obtain the map vector slice data corresponding to the slice layer.
[0034] This invention discloses a high-precision map vector data tiling processing device. After obtaining the high-precision map vector data of the layer to be tiled, the device first constructs a corresponding tree structure data based on the high-precision map vector data, and indexes the tree structure data using spatial indexing to create a unique index value for each child node in the tree structure data. This allows for rapid modification and updating of the tile data within the tile level based on the index value, improving the ease of updating and maintaining the tile data. Next, after generating the index value corresponding to the tree structure data, the invention calculates geometric boundary information based on the current tile level. This allows for the calculation of the row and column number range included in the current tile level based on the geometric boundary information. The calculated geometric boundary is then used to retrieve the index value set from the constructed tree structure data. Based on the index value set and the row and column number range, the resulting data contained in the current tile level is obtained, thereby reducing the redundancy of the resulting data, reducing the volume of the tiled result data, and improving the efficiency of data tiling.
[0035] As a preferred example, the data indexing module includes a tree construction unit and an index traversal unit;
[0036] The tree construction unit is used to create a full quadtree corresponding to the high-precision map vector data with sliced layers based on the acquired high-precision map vector data at a preset depth, thereby obtaining the tree structure data corresponding to the high-precision map vector data.
[0037] The index traversal unit is used to traverse the tree structure data using a preset spatial indexing algorithm, establish a unique index for each child node data in the tree structure data, and obtain the index value corresponding to each child node data.
[0038] This invention first creates a full quadtree with depth based on the high-precision map vector data of the layer to be sliced, and sequentially forms the association between the data. This facilitates the construction of the association between slices based on the association between the data when slicing the data in the future. Furthermore, an index structure between slices and data is established, which facilitates data updates based on the index structure and improves the ease of maintaining slice data.
[0039] As a preferred example, the geometric boundary module includes a spatial sorting unit and a boundary construction unit;
[0040] The spatial sorting unit is used to sort the spatial coordinates of the geometric point set in the high-precision map vector data according to a preset variation method, and to obtain the minimum and maximum points in the geometric point set.
[0041] The boundary construction unit is used to obtain the geometric boundary information of the slice level corresponding to the slice layer to be sliced based on the two-dimensional spatial coordinates of the minimum point and the maximum point.
[0042] This invention utilizes a variational method to obtain the two-dimensional spatial coordinates of the maximum and minimum points of the current layer, so as to determine the geometric boundary information of the slice layer based on the two-dimensional spatial coordinates. This information is used to determine the high-precision map vector data actually required for the current slice layer, avoiding data duplication, reducing the cost of slice data, and improving the efficiency of data slicing.
[0043] As a preferred example, the data retrieval module includes a traversal unit and a retrieval unit;
[0044] The traversal unit is used to traverse the range of row and column numbers, obtain the row and column numbers of each iteration, and deduce the preset row and column number calculation formula based on the row and column numbers to obtain several slice bounding boxes corresponding to the slice level.
[0045] The retrieval unit is used to retrieve the tree structure data based on the plurality of slice bounding boxes, and obtain the index values contained in the plurality of slice bounding boxes through a preset polygon intersection algorithm.
[0046] This invention calculates the range of row and column numbers corresponding to the current slice level based on geometric boundary information, and then reverse-engineers the high-precision map vector data corresponding to the slice level based on the range of row and column numbers. Based on the index information of the high-precision map vector data, it calculates the data geometry and slice relationship, intersection relationship, and associates the map slice with the map index to build the association between the slice and the data. This facilitates subsequent searching, updating and maintaining of slice data, and reduces the complexity of slice data maintenance.
[0047] As a preferred example, the data combining module includes an indexing unit and a combining unit;
[0048] The indexing unit is used to retrieve the tree structure data corresponding to the high-precision map vector data according to the set of index values, and obtain the high-precision map vector data corresponding to each index value contained in the set of index values;
[0049] The combining unit is used to obtain map vector tile data corresponding to the layer to be tiled based on the tile level, the set of index values, the range of row and column numbers, and the high-precision map vector data corresponding to each index value in the set of index values.
[0050] This invention assembles the corresponding row and column number ranges and index value sets in the slice level to form map vector slice data corresponding to the current slice level. In addition to recording the slice level, data type, coordinate information and other contents of the current slice in the data, the data of a certain slice can be quickly modified and updated by using the constructed data index structure through the records, so that the slice data is easy to update and maintain. Attached Figure Description
[0051] Figure 1 : A flowchart illustrating a high-precision map vector data tiling method provided in an embodiment of the present invention;
[0052] Figure 2 : A schematic diagram of a high-precision map vector data tiling processing device provided in an embodiment of the present invention. Detailed Implementation
[0053] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0054] Example
[0055] This invention provides a method for processing high-precision map vector data tiling. The specific implementation process of the tiling method can be found in the following embodiments. Figure 1 It mainly includes steps 101 to 105, the steps being:
[0056] Step 101: Based on the high-precision map vector data of the layer to be sliced, generate the corresponding tree structure data, and construct a unique index for each child node data in the tree structure data using a preset spatial indexing algorithm to obtain the index value corresponding to each child node data in the tree structure data.
[0057] In this embodiment, the step mainly includes: based on the acquired high-precision map vector data with sliced layers, creating a full quadtree corresponding to the high-precision map vector data at a preset depth to obtain tree structure data corresponding to the high-precision map vector data; traversing the tree structure data using a preset spatial indexing algorithm, establishing a unique index for each child node data in the tree structure data, and obtaining the index value corresponding to each child node data.
[0058] For example, in this embodiment, high-precision map vector data of the layer to be sliced is obtained, and a full quadtree of the geometry of the high-precision map vector data is established to prepare for subsequent data calculation.
[0059] In this embodiment, the high-precision map vector data is configured to consist of layer attribute data and a set of geometric (point, line, and polygon) points. First, based on the input high-precision map vector data, a full quadtree of a certain depth is created by dividing the data into layers, and a unique index (GeoHash conversion) is established for each child node. This data index relationship is then used for subsequent fast retrieval. In this embodiment, the depth can be set to 7. Furthermore, in this embodiment, GeoHash conversion, a spatial indexing algorithm, is used to establish a unique index for each child node. GeoHash is a spatial indexing method. Its basic principle is to understand the Earth as a two-dimensional plane. By encoding two-dimensional spatial latitude and longitude data into a string, the plane can be recursively decomposed into smaller sub-blocks with the same encoding within a certain latitude and longitude range. The GeoHash encoding rule is to first divide the latitude and longitude range (-90, 90) into two equal intervals (-90, 0) and (0, 90, 90). 90), if the target latitude is within the previous interval, it is encoded as 0; otherwise, it is encoded as 1. Then, based on the interval where the target latitude and longitude fall, it is divided into two equal intervals for encoding, and so on, until the accuracy requirement is met. Longitude is also processed using the same algorithm, subdividing (-180, 180) sequentially. Then, the longitude and latitude codes are merged, with odd-numbered positions for latitude and even-numbered positions for longitude, forming a new binary code. This is then encoded according to Base32. For example, latitude and longitude are (104... The latitude and longitude (30.559545) are converted to binary data according to the GeoHash encoding rules: the final binary encoding of latitude (30.559545) is: 101010110111011, and the binary encoding of longitude (104.059684) is: 110010011111111; the combined binary number is then Base32 encoded: the final latitude and longitude encoding is: wm3vzg;
[0060] This step first creates a full quadtree with depth based on the high-precision map vector data of the layer to be tiled, and sequentially forms the relationships between the data. This facilitates the construction of relationships between tiles when tiling the data in the future, and establishes an index structure between tiles and data, which makes it easier to update data based on the index structure and improves the ease of maintaining tile data.
[0061] Step 102: Based on the preset slicing level of the layer to be sliced, sort the spatial coordinates of the geometric point set in the high-precision map vector data using a preset variational method, and obtain the geometric boundary information corresponding to the preset slicing level of the layer to be sliced based on the sorting of the spatial coordinates.
[0062] In this embodiment, the step mainly includes: sorting the spatial coordinates of the geometric point set in the high-precision map vector data according to a preset variation method to obtain the minimum and maximum points in the geometric point set; and obtaining the geometric boundary information of the slice level corresponding to the slice layer based on the two-dimensional spatial coordinates of the minimum and maximum points.
[0063] In this embodiment, after constructing the index value, the geometric point set in the high-precision map vector data is sorted using the variational method (pre-sorting), and the minimum and maximum points are extracted. The simplified rectangular bounding box of the current layer can be obtained from the x and y coordinates of the minimum and maximum points, forming the geometric boundary information.
[0064] This step uses a variational approach to obtain the two-dimensional spatial coordinates of the maximum and minimum points of the current layer. This allows the geometric boundary information of the slice layer to be determined based on the two-dimensional spatial coordinates. This information is then used to determine the high-precision map vector data actually needed for the current slice layer, avoiding data duplication, reducing the cost of slice data, and improving the efficiency of data slicing.
[0065] Step 103: Based on the geometric boundary information, obtain the range of row and column numbers corresponding to the slice level using a preset row and column number conversion formula.
[0066] In this embodiment, this step mainly involves: using the geometric boundary information obtained from the above steps, and based on the current slice target level (denoted as z), converting it using a preset row and column number conversion formula to obtain the row and column number range of the current map data.
[0067] In this embodiment, the row and column number conversion formula is as follows:
[0068]
[0069] Wherein, x and y represent the row number and column number respectively, lon represents the longitude of the layer to be sliced, lat represents the latitude of the layer to be sliced, and z represents the current slicing level;
[0070] The number of slices included in the current layer and the row and column numbers of all slices can be determined based on the range of row and column numbers. In this embodiment, assuming that the longitude of an object is lon and the latitude is lat, the row and column numbers of the slice where the object is located can be calculated at level z.
[0071] Step 104: Retrieve the tree structure data according to the row and column number range to obtain the index values contained in the slice level, and then form the index value set corresponding to the slice level.
[0072] In this embodiment, the step mainly includes: traversing the range of row and column numbers, obtaining the row and column numbers for each iteration, and using the row and column numbers to deduce a preset row and column number calculation formula to obtain several slice bounding boxes corresponding to the slice level; retrieving the tree structure data based on the several slice bounding boxes, and obtaining the index values contained in the several slice bounding boxes through a preset polygon intersection algorithm.
[0073] In this embodiment, the range of row and column numbers obtained in the embodiments of the present invention is traversed. The row and column numbers of each iteration are denoted as x and y, respectively. The latitude and longitude coordinates corresponding to the current x and y are calculated in reverse according to the above row and column number conversion formula, so as to obtain the current slice bounding box. Finally, the polygon intersection algorithm is used to calculate the data (denoted as data) that is currently within the slice bounding box. In this embodiment, the principle of the intersection algorithm is: after two polygons intersect, their vertices are either the intersection point of the two polygon edges or points inside the polygon.
[0074] The implementation steps of the intersection algorithm include: calculating the intersection points between each side of the two polygons (using the fast repulsion experiment and the straddle experiment); calculating the points contained inside the polygons (using the ray method); the fast repulsion experiment: let R be the rectangle with line segments P1 and P2 as diagonals, and T be the rectangle with line segments Q1 and Q2 as diagonals. If R and T do not intersect, then the two line segments do not intersect; the straddle experiment: if the two line segments intersect, then the two line segments must straddle each other; the ray method: with point P as the endpoint, draw a ray L to the left. Since the polygon is bounded, the left end of ray L must be outside the polygon. Consider moving along L from the infinite distance from left to right; when encountering the first intersection point with the polygon, it enters the interior of the polygon; when encountering the second intersection point, it leaves the polygon; therefore, when the number of intersection points C between L and the polygon is odd, P is inside the polygon; when it is even, P is outside the polygon.
[0075] Step 105: Combine the index value, the row and column number range, and the slice level to obtain the map vector slice data corresponding to the slice layer.
[0076] In this embodiment, the step mainly includes: retrieving the tree structure data corresponding to the high-precision map vector data according to the index value set to obtain the high-precision map vector data corresponding to each index value contained in the index value set; and obtaining the map vector tile data corresponding to the layer to be tiled according to the tile level, combined with the index value set, the row and column number range, and the high-precision map vector data corresponding to each index value in the index value set.
[0077] In this embodiment, based on the set of index values and the range of row and column numbers corresponding to the tile level, the feature index of the map and the data contained in the map vector tiles are obtained. After the tile layer obtains the tile data, the recorded uid (index value), x (row number), y (column number), z (tile level), and data (high-precision map vector data) are organized through a database (or other methods, the data is not limited) to form map vector tile data with the following structure (simple example):
[0078]
[0079] And the map feature index data is generated and stored in the following structure using a uid and data lookup table (simple example):
[0080]
[0081] In the data organization unit, the output data is prepared in the appropriate format based on the data required for subsequent data distribution.
[0082] Example: Here's an example using JSON formatted output data:
[0083] Datatype:hdvt represents a data type with significant achievements.
[0084] Geomtype: polyline Layer Geometry Type
[0085] Layername:link layer name
[0086] Fields: [id, name, length, ...] The names of the fields to be entered into the slice.
[0087] F_offset: 10 Offset of the entered field data
[0088] Property: [1,”dpi”,3.2] Enters the attribute value of the field.
[0089] P_offset: 20 Offset of attribute value data
[0090] Coordinate:[(0,0,0 0,1,0 0,2,0 0,3,0)......] Geometric point set
[0091] C_offset: 150 Geometric data offset
[0092] This data structure not only records the data type, geometry type, attribute data, and coordinate information of the current slice, but also additionally records the offsets of three data items. By using the offsets recorded here, the data of a certain slice can be quickly modified and updated, achieving the better update and maintainability of the slice data mentioned in the design.
[0093] This invention calculates the range of row and column numbers corresponding to the current slice level based on geometric boundary information, and then reverse-engineers the high-precision map vector data corresponding to the slice level based on the range of row and column numbers. Based on the index information of the high-precision map vector data, it calculates the data geometry and slice relationship, intersection relationship, and associates the map slice with the map index to build the association between the slice and the data. This facilitates subsequent searching, updating and maintaining of slice data, and reduces the complexity of slice data maintenance.
[0094] On the other hand, embodiments of the present invention also provide a high-precision map vector data tiling processing device, the specific composition and structure of which can be referred to Figure 2 It includes a data indexing module 201, a geometric boundary module 202, a row and column number calculation module 203, a data retrieval module 204, and a data combination module 205.
[0095] The data indexing module 201 is used to generate corresponding tree structure data based on the high-precision map vector data of the layer to be sliced, and to construct a unique index for each child node data in the tree structure data through a preset spatial indexing algorithm to obtain the index value corresponding to each child node data in the tree structure data.
[0096] The geometric boundary module 202 is used to sort the spatial coordinates of the set of geometric points in the high-precision map vector data according to the preset slicing level of the layer to be sliced, and to obtain the geometric boundary information corresponding to the preset slicing level of the layer to be sliced according to the sorting of the spatial coordinates.
[0097] The row and column number calculation module 203 is used to obtain the range of row and column numbers corresponding to the slice level based on the geometric boundary information and a preset row and column number conversion formula.
[0098] The data retrieval module 204 is used to retrieve the tree structure data according to the row and column number range, obtain the index values contained in the slice level, and then form the index value set corresponding to the slice level.
[0099] The data combining module 205 is used to combine the index value combination, the row and column number range and the slice level to obtain the map vector slice data corresponding to the slice layer.
[0100] In this embodiment, the data indexing module 201 includes a tree construction unit and an index traversal unit.
[0101] The tree construction unit is used to create a full quadtree corresponding to the high-precision map vector data with sliced layers based on the acquired high-precision map vector data at a preset depth, thereby obtaining the tree structure data corresponding to the high-precision map vector data.
[0102] The index traversal unit is used to traverse the tree structure data using a preset spatial indexing algorithm, establish a unique index for each child node data in the tree structure data, and obtain the index value corresponding to each child node data.
[0103] In this embodiment, the geometric boundary module 202 includes a spatial sorting unit and a boundary construction unit.
[0104] The spatial sorting unit is used to sort the spatial coordinates of the geometric point set in the high-precision map vector data according to a preset variation method, and to obtain the minimum and maximum points in the geometric point set.
[0105] The boundary construction unit is used to obtain the geometric boundary information of the slice level corresponding to the slice layer to be sliced based on the two-dimensional spatial coordinates of the minimum point and the maximum point.
[0106] In this embodiment, the data retrieval module 204 includes a traversal unit and a retrieval unit.
[0107] The traversal unit is used to traverse the range of row and column numbers, obtain the row and column numbers for each iteration, and deduce the preset row and column number calculation formula based on the row and column numbers to obtain several slice bounding boxes corresponding to the slice level.
[0108] The retrieval unit is used to retrieve the tree structure data based on the plurality of slice bounding boxes, and obtain the index values contained in the plurality of slice bounding boxes through a preset polygon intersection algorithm.
[0109] In this embodiment, the data combining module 205 includes an indexing unit and a combining unit.
[0110] The indexing unit is used to retrieve the tree structure data corresponding to the high-precision map vector data according to the set of index values, and obtain the high-precision map vector data corresponding to each index value contained in the set of index values.
[0111] The combining unit is used to obtain map vector tile data corresponding to the layer to be tiled based on the tile level, the set of index values, the range of row and column numbers, and the high-precision map vector data corresponding to each index value in the set of index values.
[0112] This invention discloses a method and apparatus for processing high-precision map vector data tiling. First, a full quadtree of depth 7 is created by dividing the input high-precision map data into layers, and a unique index (Geohash conversion) is established for each child node for subsequent fast retrieval. The geometric boundary is calculated based on the current tile level. The data calculation unit calculates the row and column number range of the current tile based on the geometric boundary information. The calculated geometric boundary is used to perform a retrieval within the constructed full quadtree (i.e., retrieving all elements within this boundary, equivalent to taking the intersection relationship), resulting in a unique index set. Finally, the data organization unit organizes and generates the final output data by combining the index set with the field configuration information in the compilation configuration file. Unlike conventional tiling methods, this invention separates the tile index from the map data and records the important information offset of the tile. Based on the characteristics of high-precision map vector data, it reduces the redundancy of the output data and can significantly reduce... The tiling results reduce the volume of the data, making updates and maintenance easier, improving space utilization, and enhancing subsequent network bandwidth resource utilization. This improves the overall application efficiency and effectiveness. In contrast, existing tiling methods create individual data tiles without interrelationships or indexing based on map feature information. Updating tile data is difficult, and the volume and space occupied by the resulting tiling data differ significantly. This invention reduces the space required for data storage. The flexible tiling method requires fewer layers than traditional methods, directly reducing data storage volume. Flexible tile level configuration allows for more flexible applications and rendering. Data tiles are grouped and graded according to specific needs, eliminating the need to cut to every layer, greatly improving data utilization over time. It is easy to update and maintain; simply knowing which tile requires which attribute or geometric changes allows for updating the current map tile data, while also reducing data transmission costs. In this invention, the layer data obtained during data requests is generally larger than the calculated range, thus reducing the number of tiles transmitted and alleviating data transmission pressure.
[0113] The specific embodiments described above further illustrate the purpose, technical solution, and beneficial effects of the present invention. It should be understood that the above descriptions are merely specific embodiments of the present invention and are not intended to limit the scope of protection of the present invention. In particular, it should be noted that any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention for those skilled in the art.
Claims
1. A method for processing high-precision map vector data tiling, characterized in that, include: Based on the high-precision map vector data of the layer to be sliced, a full quadtree corresponding to the high-precision map vector data is created at a preset depth to obtain the tree structure data corresponding to the high-precision map vector data. The tree structure data is traversed using a preset spatial indexing algorithm. A unique index is established for each child node in the tree structure data to obtain the index value corresponding to each child node. Based on the preset slicing level of the layer to be sliced, the spatial coordinates of the set of geometric points in the high-precision map vector data are sorted according to the preset variation method to obtain the minimum and maximum points in the set of geometric points. Based on the two-dimensional spatial coordinates of the minimum point and the maximum point, the geometric boundary information of the slice level corresponding to the slice layer to be sliced is obtained; Based on the geometric boundary information, the range of row and column numbers corresponding to the slice level is obtained through a preset row and column number conversion formula; The tree structure data is retrieved based on the range of row and column numbers to obtain the index values contained in the slice level, thereby forming a set of index values corresponding to the slice level. Specifically, the range of row and column numbers is traversed to obtain the row and column numbers for each iteration, and a preset row and column number calculation formula is derived from the row and column numbers to obtain several slice bounding boxes corresponding to the slice level. The tree structure data is then retrieved based on these slice bounding boxes, and the index values contained in the slice bounding boxes are obtained through a preset polygon intersection algorithm. By combining the index value, the row and column number range, and the slice level, the map vector slice data corresponding to the layer to be sliced is obtained; wherein, the map vector slice data records the data offset of the high-precision map vector data in the original data file.
2. The high-precision map vector data tiling method as described in claim 1, characterized in that, The process of combining the index value, the row and column number range, and the tile level to obtain the map vector tile data corresponding to the layer to be tiled includes: The tree structure data corresponding to the high-precision map vector data is retrieved based on the set of index values to obtain the high-precision map vector data corresponding to each index value contained in the set of index values; Based on the slice level, combined with the set of index values, the range of row and column numbers, and the high-precision map vector data corresponding to each index value in the set of index values, the map vector slice data corresponding to the slice layer is obtained.
3. A high-precision map vector data tiling processing device, characterized in that, It includes a data indexing module, a geometric boundary module, a row and column number calculation module, a data retrieval module, and a data combination module; The data indexing module is used to generate corresponding tree structure data based on the high-precision map vector data of the layer to be sliced, and to construct a unique index for each child node data in the tree structure data through a preset spatial indexing algorithm to obtain the index value corresponding to each child node data in the tree structure data. The data indexing module includes a tree construction unit and an index traversal unit. The tree construction unit is used to create a full quadtree corresponding to the high-precision map vector data of the acquired layer to be tiled, based on a preset depth, to obtain the tree structure data corresponding to the high-precision map vector data. The index traversal unit is used to traverse the tree structure data using a preset spatial indexing algorithm, establish a unique index for each child node in the tree structure data, and obtain the index value corresponding to each child node. The geometric boundary module is used to sort the spatial coordinates of the set of geometric points in the high-precision map vector data according to the preset slicing level of the layer to be sliced, and to obtain the geometric boundary information corresponding to the preset slicing level of the layer to be sliced according to the sorting of the spatial coordinates. The geometric boundary module includes a spatial sorting unit and a boundary construction unit. The spatial sorting unit is used to sort the spatial coordinates of the geometric point set in the high-precision map vector data according to a preset variational method, and obtain the minimum and maximum points in the geometric point set. The boundary construction unit is used to obtain the geometric boundary information of the slice level corresponding to the slice layer based on the two-dimensional spatial coordinates of the minimum and maximum points. The row and column number calculation module is used to obtain the range of row and column numbers corresponding to the slice level based on the geometric boundary information and a preset row and column number conversion formula. The data retrieval module is used to retrieve the tree structure data according to the row and column number range, obtain the index values contained in the slice level, and then form the index value set corresponding to the slice level; wherein, the data retrieval module includes a traversal unit and a retrieval unit; the traversal unit is used to traverse the row and column number range, obtain the row number and column number of each iteration, and deduce a preset row and column number calculation formula according to the row number and column number to obtain a number of slice bounding boxes corresponding to the slice level; the retrieval unit is used to retrieve the tree structure data according to the number of slice bounding boxes, and obtain the index values contained in the number of slice bounding boxes through a preset polygon intersection algorithm; The data combining module is used to combine the index value combination, the row and column number range, and the slice level to obtain the map vector slice data corresponding to the layer to be sliced; wherein, the map vector slice data records the data offset of the high-precision map vector data in the original data file.
4. The high-precision map vector data tiling device as described in claim 3, characterized in that, The data combining module includes an indexing unit and a combining unit; The indexing unit is used to retrieve the tree structure data corresponding to the high-precision map vector data according to the set of index values, and obtain the high-precision map vector data corresponding to each index value contained in the set of index values; The combining unit is used to obtain map vector tile data corresponding to the layer to be tiled based on the tile level, the set of index values, the range of row and column numbers, and the high-precision map vector data corresponding to each index value in the set of index values.