Map data storage method and device, computer readable storage medium and server
By segmenting digital maps and identifying associated segments, the problems of excessively large map data packets and low update efficiency are solved, enabling efficient storage and updating of high-precision digital maps, reducing data redundancy, and ensuring the consistency of map data.
Patent Information
- Application Number
- CN202210742768.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-06-28
- Publication Date
- 2025-12-30
- Estimated Expiration
- 2042-06-28
AI Technical Summary
In existing technologies, the way high-precision digital map data is organized results in excessively large map data packages, which are inconvenient to use and have low update efficiency. This makes it impossible to achieve online dynamic updates of high-precision digital map data and may lead to data redundancy and inconsistencies in map features.
The digital map is divided into multiple map tiles, the associated tiles covered by map features in the digital map are identified, the target tiles corresponding to the map features are determined, the map feature data is stored in the original data file corresponding to the target tile, and the tile index is used to quickly allocate storage locations to avoid data duplication.
It improves map data storage efficiency, reduces data redundancy, simplifies the map update process, increases update efficiency, and ensures the integrity and consistency of map data.
Smart Images

Figure CN115292427B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to the fields of high-precision maps for autonomous driving and map data arrangement. Background Technology
[0002] In related technologies, high-precision digital map data published and used by autonomous vehicles is organized into single files by region. This method is relatively simple for map publishing and data use, but the main drawbacks are that as the map scale increases, the map data package becomes increasingly large, making it inconvenient to use; and the update efficiency of this map data organization method is also relatively low when iterating versions of high-precision digital map data. Summary of the Invention
[0003] This disclosure provides a method, apparatus, electronic device, computer storage medium, and server for map data storage.
[0004] According to one aspect of this disclosure, a map data storage method is provided, comprising: dividing a digital map into multiple map blocks; identifying associated blocks covered by map features in the digital map, wherein the multiple map blocks include the associated blocks; when the associated blocks are multiple blocks, determining a target block among the associated blocks that corresponds to the map feature; storing the map feature data into an original data file corresponding to the target block to obtain a target data file, wherein the target data file is used to store map data corresponding to the target block.
[0005] According to another aspect of this disclosure, a map data storage device is provided, comprising: a partitioning module for partitioning a digital map into multiple map tiles; an identification module for identifying associated tiles covered by map features in the digital map, wherein the multiple map tiles include the associated tiles; a first determining module for determining a target tile among the associated tiles corresponding to the map feature when the associated tiles are multiple tiles; and a storage module for storing the map feature data into an original data file corresponding to the target tile to obtain a target data file, wherein the target data file is used to store map data corresponding to the target tile.
[0006] According to another aspect of this disclosure, an electronic device is provided, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the map data storage method described in any of the preceding claims.
[0007] According to another aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions, wherein the computer instructions are used to cause the computer to perform the map data storage method described in any of the preceding claims.
[0008] According to another aspect of this disclosure, a server is provided, comprising: the above-described electronic device, wherein the memory is further configured to store at least one of the target data file and the target map.
[0009] According to another aspect of this disclosure, an automobile is provided, comprising: an in-vehicle system, wherein the in-vehicle system is communicatively connected to the aforementioned server, and is configured to obtain at least one of the target data file and the target map from the server; the in-vehicle system is further configured to update an original map in the in-vehicle system based on at least one of the target data file and the target map.
[0010] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0011] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:
[0012] Figure 1 This is a schematic flowchart of a map data storage method according to an embodiment of the present disclosure;
[0013] Figure 2 This is a schematic diagram of a map segmentation method based on relevant technologies;
[0014] Figure 3 This is a schematic diagram of map element storage methods based on relevant technologies;
[0015] Figure 4 This is a schematic diagram of a target block determination method according to an optional embodiment of the present disclosure;
[0016] Figure 5 This is a schematic diagram of a high-precision map version update method according to an optional embodiment of the present disclosure;
[0017] Figure 6 This is a structural block diagram of a map data storage device provided according to an embodiment of the present disclosure;
[0018] Figure 7 This is a structural block diagram of a server provided according to an embodiment of the present disclosure;
[0019] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation
[0020] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0021] In related technologies, high-precision digital map data published and used by autonomous vehicles is organized into single files by region. This method is relatively simple for map publishing and data use, but the main drawbacks are that as the map scale increases, the map data package becomes increasingly large, making it inconvenient to use; and the update efficiency of this map data organization method is also relatively low when iterating versions of high-precision digital map data.
[0022] For example, taking the NDS (Navigation Data Standard) navigation data standard as an example, data is generally divided into multi-level blocks, comprehensively segmenting the map. Data of objects located in different map segments are stored in separate data files corresponding to each segment. When the map needs to be updated, the file data is incrementally updated through binary file differential. However, this update method cannot be refined to the semantic level, so in the long run, it is not convenient to achieve online dynamic updates of high-precision digital map data. In addition, comprehensively segmenting the map may affect the integrity of the map data. For example, when map features are located in at least two segmented areas, the map feature data needs to be segmented and edge-joined. The segmented feature data may have inconsistent edge-joining data in different segmented areas due to the precision loss of floating-point operations. It also requires the map data package to record the segmentation status of each map feature data, resulting in a bloated map data package with significant data redundancy.
[0023] Figure 1 This is a flowchart illustrating a map data storage method according to an embodiment of the present disclosure, as shown below. Figure 1 As shown, the method includes the following steps:
[0024] Step S102: Divide the digital map into multiple map tiles. Optionally, the digital map can be a high-precision map, which refers to a highly accurate and finely defined map, often requiring accuracy down to the decimeter level to accurately distinguish lanes. The primary service target of high-precision maps is autonomous driving and advanced driver assistance systems, such as driverless cars. High-precision maps contain a wealth of driving assistance information, such as precise three-dimensional representations of the road network.
[0025] A digital map is divided into multiple map blocks, each of which corresponds to a region in the digital map. By combining multiple map blocks, a complete digital map can be obtained.
[0026] Step S104: Identify the associated tiles covered by map features in the digital map, wherein multiple map tiles include associated tiles.
[0027] Optionally, map features can include features from any layer of the digital map, such as lane lines, ground arrows, poles along roads, or road signs. Map features occupy a certain area in the digital map, and this area can belong to different tiles of the digital map. These tiles can be identified as related tiles covered by map features.
[0028] Step S106: When there are multiple associated blocks, determine a target block that corresponds to a map feature among the associated blocks.
[0029] In this step, one of the multiple associated blocks can be selected as the target block.
[0030] Step S108: Store the map feature data into an original data file corresponding to the target block to obtain the target data file, wherein the target data file is used to store the map data corresponding to the target block.
[0031] It should be noted that in the scheme of organizing digital maps using a tile-based approach, the data of each tile is stored in a separate data file. The original data file is used to store the data of the target tile when organizing the digital map. After determining the target tile corresponding to the map feature, all data related to the map feature can be stored in the original data file corresponding to the target tile, thus organizing the data of the map features in the digital map into the map data file.
[0032] By following the steps above, map feature data can be stored without splitting the map features when organizing map data. This solves the technical problem of high data redundancy caused by storing map feature data across blocks, and achieves the technical effect of improving the storage efficiency of digital maps and reducing data redundancy.
[0033] Figure 2 This is a schematic diagram of a map segmentation method based on relevant technologies. For example... Figure 2 As shown, when organizing map data using the NDS navigation data standard, the entire map can be divided into multiple segments, and each segment can be assigned a corresponding number. Furthermore, when organizing map data using the NDS navigation data standard, map feature data located in different segments is segmented to obtain segmentation data and edge data, which are then stored in their respective data files within their respective segments. Figure 3 This is a schematic diagram of map feature storage methods based on related technologies, such as... Figure 3 As shown, the map feature covers three segmented regions on the map: Tile B, Tile C, and Tile D. When organizing map data using the NDS navigation data standard or other map organization methods, the feature data is segmented according to the map segmentation regions, and the segmented data is stored separately in the data files corresponding to the three segmented regions: Tile B, Tile C, and Tile D. This data storage method is inefficient, as each segmented region's data file not only stores the segmented map feature data but also information such as the segmentation status of the map feature, resulting in significant data redundancy.
[0034] As an optional embodiment, when there are multiple associated blocks, the target block corresponding to the map feature in the associated blocks can be determined in the following way: obtain the block index of each of the multiple associated blocks; select a target index that meets the preset conditions from the block index; and determine that the block indicated by the target index is the target block corresponding to the map feature.
[0035] It should be noted that the tile index can be information indicating the location of a tile within a digital map, such as the row and column number of the tile in the entire digital map. Optionally, the tile index of a related tile can be a location index assigned to each related tile by the digital map, indicating the regional location of that related tile in the digital map. Assigning target tiles for storing data to map features based on tile indexes can achieve the technical effect of fast allocation and avoidance of duplicate data storage.
[0036] As an optional embodiment, a target index that meets the preset conditions can be selected from the block index. If the preset condition is that the index number is the smallest, multiple block indexes can be compared, and the index with the smallest index number among the multiple block indexes can be selected as the target index. Here, the index number is used to represent the sequence number of each of the multiple block indexes.
[0037] It should be noted that the index number can be the sequence number of the tile index corresponding to each tile. Optionally, an index number can be assigned to each tile in the digital map according to different rules. The following examples illustrate several methods for determining the index number of the tile index according to different rules:
[0038] Example 1: All tile indices can be assigned index numbers in ascending order. For instance, the tile index corresponding to the top-left corner of the entire digital map can be assigned index number 1, the tile index to the right of that tile can be assigned index number 2, and so on. As the tile moves to the right, the index number increments by 1 each time, until the last tile in the first row of the digital map is reached. Then, the leftmost tile in the second row of the digital map is assigned index number 1, which is the index number of the rightmost tile in the first row. This process is repeated until all tiles in the digital map have been assigned index numbers. Based on this index number assignment method, if the preset condition is that the index number is the smallest, multiple tile indices can be directly compared, and the tile index with the smallest index number can be selected as the target index.
[0039] Example 2: All block indices can be assigned index numbers according to the row and column positions of the corresponding blocks in the digital map, and the block indexes can be organized in the form of "row part - column part". For example, the block index corresponding to the top left corner of the entire digital map can be determined as 1-1, and the block index corresponding to the right of the block can be determined as 1-2. As the position of the block moves to the right, the part of the index indicating the column position is incremented by 1. Furthermore, the index number of the block in the row directly below the top left corner of the entire digital map can be determined as 2-1, and then the part of the index indicating the row position of the block in the row below the block can be incremented by 1 as the corresponding row number of the block moves down. This example demonstrates how to assign index numbers to the block indexes of each tile in a digital map. After assigning index numbers based on this rule, and assuming the preset condition is that the index number is the smallest, various methods can be used to determine the block index with the smallest index number among multiple block indexes. For example, when comparing the size of the index numbers of the block indexes of multiple related tiles, only the column part of each index number can be compared to select one or more block indexes with the smallest column part. If the column parts of multiple block indexes are all the smallest, the size of the row parts of these block indexes can be further compared to select the block index with the smallest row and column parts as the target index.
[0040] Optionally, the preset condition can also be the maximum index number. It should be noted that when organizing data for the same digital map, the same preset condition can be used to determine which data file is stored for map features covering multiple sections of the digital map. This preset condition can be published synchronously with the digital map, allowing devices on the autonomous vehicle to organize the received digital map data into a visualized digital map and present it to the vehicle user based on this preset condition. This avoids storing the data of the same map feature in multiple data files and avoids errors in map feature identification during the visualization process.
[0041] Figure 4 This is a schematic diagram of a target block determination method according to an optional embodiment of the present disclosure. The diagram shows three blocks of a digital map, namely block 1, block 2 and block 3, where the numbers "1", "2" and "3" are the block indices of the three blocks, respectively. Figure 4 The document also shows four map elements covering the three sections, represented by circles, double wavy lines, single arcs, and triangles, respectively. Figure 4 It can be seen that the circle element covers block 1, the double wavy line element covers blocks 1, 2, and 3, the single arc element covers block 2, and the triangle element covers block 3. The blocks covered by each map element are the associated blocks corresponding to that map element. Under the preset condition of determining the block with the smallest index among all associated blocks covered by the map element as the target block, Figure 4 The diagram illustrates the target blocks for four map features, with the following correspondences: the target block corresponding to the circle and double wavy line is block 1, the target block corresponding to the single arc is block 2, and the target block corresponding to the triangle is block 3. This method allows the data of each map feature to be stored separately in its corresponding target block data file, eliminating the need to segment the map features and store the segmented feature data separately in the data files of the corresponding covered blocks. This reduces data redundancy and improves the efficiency of map data organization.
[0042] As an optional implementation, the map feature data is stored in a data file corresponding to the target tile to obtain the target data file. This can be achieved by first obtaining an original data file corresponding to the target tile based on the target index; then storing the map feature data in the original data file to obtain the target data file. Optionally, the original data file can be the target tile's data file before the version update. Before the version update, map features may not exist, or map features may not cover the target tile, or map features should not be stored in the target tile according to preset conditions before the version update. In this case, the target tile's data file is the original data file. After the version update, based on preset conditions, it is determined that the map feature data should be stored in the original data file corresponding to the target tile. At this time, other related tiles covered by the map features no longer need to update the segmentation data, edge data, and information indicating how the map features are segmented. Only updating the map features in the data file corresponding to the target tile is needed to update and maintain the target tile's data file, improving the convenience of the map data update process.
[0043] As an optional embodiment, the above method may further include determining a version number of the target data file. Using a version number facilitates the organization of digital maps; each time the digital map is updated, it is not necessary to update all map data, but only the data file corresponding to the target tile needs to be updated and assigned a version number. When it is necessary to publish or generate a digital map corresponding to that version number, the target data file can be called based on that version number. On the basis of the original map data, the original data file with a mismatched version number is replaced with the target data file, thereby achieving a version update of the digital map, improving map update efficiency, and reducing the workload of map updates.
[0044] As an optional embodiment, the above method may further include the following steps: receiving a map generation instruction, wherein the map generation instruction includes a version number of the target map; and, if the version number of the target map matches the version number of the target data file, calling the target data file to generate the target map. According to this optional embodiment, the data organization of the entire digital map can be completed. For example, the data files corresponding to each block of the digital map that match the map version number can be determined sequentially based on the version number of the target map, and then these data files can be organized into a complete target map. In related technologies, since the data of the same map feature needs to be stored in multiple data files corresponding to multiple coverage blocks, the data files of each block of the entire map need to be of the same version in order to organize a digital map without incomplete map features. In this optional embodiment, since the map feature is completely stored in a target data file corresponding to a single target block, there is no problem of incomplete map features in the digital map due to inconsistent versions of different blocks. This method of generating the target map does not require unifying the data files corresponding to each block of the digital map to the same version number, greatly improving the flexibility of data retrieval when generating the target map.
[0045] As an optional embodiment, the version number of the target map can be determined to match the version number of the target data file in the following way: obtain the version numbers of multiple associated data files corresponding to the target block, wherein the associated data files include the original data file and the target data file; if the version number of the multiple associated data files is closest to the version number of the target map, then the version number of the target map is determined to match the version number of the target data file.
[0046] The associated data files for the target block can be multiple different versions of data files corresponding to the target block, and each associated data file can include a version number. For example, if the version number of the original data file corresponding to the target block is X, then the version number of the target data file obtained by updating the original data file can be X+1. Optionally, determining which version number among the multiple associated data files is closest to the version number of the target map can include at least two of the following methods: In the first method, the version number of the target map can be subtracted from the version numbers of the multiple associated data files, and the associated data file with the smallest absolute value of the version number difference can be determined as the target data file. Therefore, in the optimal case, the version number of the target data file is equal to the version number of the target map, in which case the target data file and the target map match best. In the second judgment method, the version numbers of multiple target maps are also subtracted from the version numbers of multiple associated data files, but the absolute value of the version number difference is no longer calculated. Instead, the associated data file corresponding to the minimum value among all non-negative values of the version number difference is determined as the target data file. Based on this judgment method, data files with version numbers higher than the target map's own version number will not be called for the target map, ensuring that the generated target map is the map that correctly corresponds to its version number.
[0047] Figure 5 This is a schematic diagram of a digital map version update method according to an optional embodiment of the present disclosure, such as... Figure 5As shown, in this optional embodiment, the data file for block 0 has three corresponding versions: V0.0, V0.1, and V0.2. The number before the decimal point represents the block's index number, and the number after the decimal point represents the block's version number. The data file for block 1 has two corresponding versions: V1.0 and V1.1, and so on for blocks 2 and 3. When the high-precision digital map is updated, blocks whose corresponding map features have not changed do not need to be updated. Only blocks with newly added or deleted map features are updated, and a version number is assigned to the updated blocks. When it is necessary to publish or generate a high-precision digital map, the version number of the high-precision digital map can be used to match the version numbers of the data files for each block in the data file library, and the matched data files can be retrieved to organize the high-precision digital map. Specifically, when multiple data files corresponding to a block contain data files with the same version number as the target map, the data file with the same version number as the target map can be directly called. For example, for block 0, there is a data file V0.2 with version number 2. This data file's version number can be the same as the digital map's version number 2. Therefore, when you want to generate or publish a digital map with version number 2, you can call V0.2. For block 1, the file with the highest version number in its corresponding data files is V1.1, indicating that the map features of this block have not changed in the update corresponding to version 2. Therefore, the data file of block 1 does not need to be updated. So when you want to generate or publish a digital map with version number 2, among the various associated data files corresponding to block 1, you can determine that V1.1 is the data file with the smallest difference between its version number and the target map's version number. That is, V1.1 is the target data file that matches the target map, and you can call V1.1 to generate the target map with version number 2. Optionally, based on the above judgment rules, when publishing the high-precision digital map with version number 2 in this optional embodiment, the four data files V0.2, V1.1, V2.0 and V3.2 can be called.
[0048] According to embodiments of this disclosure, a map data storage device for implementing the above-described map data storage method is also provided. Figure 6 This is a structural block diagram of a map data storage device provided according to embodiments of the present disclosure, such as... Figure 6 As shown, the map data storage device 60 includes: a division module 62, an identification module 64, a first determination module 66, and a storage module 68. The map data storage device 60 will be described below.
[0049] The partitioning module 62 is used to divide the digital map into multiple map blocks;
[0050] The identification module 64, connected to the division module 62, is used to identify the associated blocks covered by map elements in the digital map, wherein multiple map blocks include associated blocks;
[0051] The first determining module 66, connected to the aforementioned identification module 64, is used to determine a target block that corresponds to a map feature among the associated blocks when there are multiple blocks in the associated blocks.
[0052] The storage module 68, connected to the first determining module 66, is used to store the map feature data into an original data file corresponding to the target block to obtain a target data file, wherein the target data file is used to store the map data corresponding to the target block.
[0053] It should be noted that the division module 62, the identification module 64, the first determination module 66 and the storage module 68 mentioned above correspond to steps S102 to S108 in the embodiments. The multiple modules and the corresponding steps implement the same instances and application scenarios, but are not limited to the content disclosed in the above embodiments.
[0054] As an optional embodiment, the determining module includes: a first acquisition unit, used to acquire the block index of each of the multiple associated blocks; a selection unit, used to select a target index that meets preset conditions from the block indexes; and a determining unit, used to determine that the block indicated by the target index is the target block corresponding to the map feature.
[0055] As an optional embodiment, the selection unit is further configured to: compare multiple block indexes when the preset condition is that the index number is the smallest, and select the index with the smallest index number among the multiple block indexes as the target index.
[0056] As an optional embodiment, the storage module includes: a second acquisition unit, used to acquire an original data file corresponding to the target block according to the target index; and a storage unit, used to store the map feature data into the original data file to obtain the target data file.
[0057] As an optional embodiment, the above-described apparatus further includes: a second determining module, configured to determine the version number of the target data file.
[0058] As an optional embodiment, the above apparatus further includes: a receiving module for receiving a map generation instruction, wherein the map generation instruction includes a version number of the target map; and a generation module for generating a target map by calling the target data file if the version number of the target map matches the version number of the target data file.
[0059] As an optional embodiment, the above apparatus further includes: an acquisition module, configured to acquire the version numbers of each of the plurality of associated data files corresponding to the target block, wherein the associated data files include the original data file and the target data file; and a third determination module, configured to determine that the version number of the target map matches the version number of the target data file if the version number of the plurality of associated data files is closest to the version number of the target map.
[0060] According to embodiments of this disclosure, this disclosure also provides a server. Figure 7 This is a structural block diagram of a server provided according to an embodiment of this disclosure, such as... Figure 7 As shown, server 70 includes the aforementioned electronic equipment, wherein the memory is further used to store at least one of the target data file and the target map.
[0061] Optionally, the server can establish a connection with a vehicle including an in-vehicle system. The in-vehicle system communicates with the server 70, and the server 70 sends at least one of the target data file and the target map to the in-vehicle system. The in-vehicle system updates the original map in the in-vehicle system based on at least one of the target data file and the target map.
[0062] The acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0063] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0064] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0065] like Figure 8As shown, device 800 includes a computing unit 801, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 802 or a computer program loaded from storage unit 808 into random access memory (RAM) 803. RAM 803 may also store various programs and data required for the operation of device 800. The computing unit 801, ROM 802, and RAM 803 are interconnected via bus 804. Input / output (I / O) interface 805 is also connected to bus 804.
[0066] Multiple components in device 800 are connected to I / O interface 805, including: input unit 806, such as keyboard, mouse, etc.; output unit 807, such as various types of monitors, speakers, etc.; storage unit 808, such as disk, optical disk, etc.; and communication unit 809, such as network card, modem, wireless transceiver, etc. Communication unit 809 allows device 800 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0067] The computing unit 801 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as map data storage. For example, in some embodiments, the map data storage method may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 808. In some embodiments, part or all of the computer program may be loaded and / or installed on device 800 via ROM 802 and / or communication unit 809. When the computer program is loaded into RAM 803 and executed by the computing unit 801, one or more steps of the map data storage method described above may be performed. Alternatively, in other embodiments, the computing unit 801 may be configured to perform the map data storage method by any other suitable means (e.g., by means of firmware).
[0068] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0069] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0070] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0071] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0072] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0073] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.
[0074] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.
[0075] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A method for storing map data, comprising: dividing a digital map into a plurality of map tiles; identifying associated tiles covered by a map element in the digital map, wherein the plurality of map tiles comprises the associated tiles; in a case where the associated tiles are a plurality of tiles, determining a target tile corresponding to the map element in the associated tiles, wherein the target tile is determined by using a same preset condition when organizing data of a same digital map, and the preset condition is synchronized with the digital map; storing data of the map element into a raw data file corresponding to the target tile to obtain a target data file, wherein the target data file is used to store map data corresponding to the target tile, and data files corresponding to other tiles in the associated tiles are not updated, wherein the other tiles are tiles other than the target tile in the associated tiles; wherein, in a case where the associated tiles are a plurality of tiles, determining a target tile corresponding to the map element in the associated tiles comprises: obtaining tile indexes of the plurality of associated tiles respectively; in a case where the preset condition is a smallest index number, comparing the plurality of tile indexes, and selecting an index with a smallest index number in the plurality of tile indexes as a target index, wherein the index number is used to represent a serial number of the plurality of tile indexes respectively; determining a tile indicated by the target index as the target tile corresponding to the map element.
2. The method of claim 1, wherein, The storing of the data of the map element into the raw data file corresponding to the target tile to obtain the target data file comprises: obtaining a raw data file corresponding to the target tile according to the target index; storing the data of the map element into the raw data file to obtain the target data file. 3.The method of any one of claims 1 to 2, further comprising: determining a version number of the target data file. 4.The method of claim 3, further comprising: receiving a map generation instruction, wherein the map generation instruction comprises a version number of a target map; in a case where the version number of the target map matches the version number of the target data file, calling the target data file to generate the target map. 5.The method of claim 4, further comprising: obtaining version numbers of a plurality of associated data files corresponding to the target tile respectively, wherein the associated data files comprise the raw data file and the target data file; in a case where a version number closest to the version number of the target map in the version numbers of the plurality of associated data files is the version number of the target data file, determining that the version number of the target map matches the version number of the target data file. 6.An apparatus for storing map data, comprising: a dividing module configured to divide a digital map into a plurality of map tiles; an identifying module configured to identify associated tiles covered by a map element in the digital map, wherein the plurality of map tiles comprises the associated tiles; The first determining module is configured to determine a target sub-block corresponding to the map element from the associated sub-blocks when the associated sub-blocks are multiple sub-blocks, wherein the target sub-block is determined by using a same preset condition when data of a same digital map is organized, and the preset condition is synchronized with the digital map; The storage module is configured to store data of the map element into a target data file corresponding to the target sub-block, to obtain a target data file, wherein the target data file is used to store map data corresponding to the target sub-block, and data files corresponding to other sub-blocks in the associated sub-blocks are not updated, and the other sub-blocks are sub-blocks other than the target sub-block in the associated sub-blocks; The determining module includes: a first obtaining unit configured to obtain sub-block indexes of the multiple associated sub-blocks; a selecting unit configured to select a target index meeting a preset condition from the sub-block indexes; and a determining unit configured to determine a sub-block indicated by the target index as the target sub-block corresponding to the map element. The selecting unit is further configured to: when the preset condition is that an index number is minimum, compare the multiple sub-block indexes, and select an index with a minimum index number in the multiple sub-block indexes as the target index, wherein the index number is used to represent a serial number of the multiple sub-block indexes.
7. The apparatus of claim 6, wherein, The storage module includes: A second obtaining unit configured to obtain a target data file corresponding to the target sub-block according to the target index; A storage unit configured to store data of the map element into the target data file, to obtain the target data file.
8. The apparatus according to any one of claims 6-7, further comprising: A second determining module configured to determine a version number of the target data file.
9. The apparatus according to claim 8, further comprising: A receiving module configured to receive a map generation instruction, wherein the map generation instruction includes a version number of a target map; A generating module configured to, when the version number of the target map matches the version number of the target data file, call the target data file to generate the target map.
10. The apparatus according to claim 9, further comprising: An obtaining module configured to obtain version numbers of multiple associated data files corresponding to the target sub-block, wherein the associated data files include the target data file and the target data file; A third determining module configured to, when a version number closest to the version number of the target map in the version numbers of the multiple associated data files is the version number of the target data file, determine that the version number of the target map matches the version number of the target data file.
11. An electronic device, comprising: at least one processor; and a memory connected with the at least one processor in communication; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the map data storage method in any one of claims 1-5.
12. A non-transitory computer readable storage medium having stored thereon computer instructions, wherein, The computer instructions are for causing the computer to perform the map data storage method according to any one of claims 1-5.
13. A server comprising: The electronic device of claim 11, wherein the memory is further configured to store at least one of the target data file and a target map.
Citation Information
Patent Citations
Semantic map partitioning method and device, vehicle and storage medium
CN114185613A