Map data detection method and device, equipment, storage medium and program product
By dividing map data into tile units and generating a global data table, and combining this with quality inspection rules, the problem of low detection accuracy and efficiency in map data updates is solved, achieving efficient and accurate detection across tiles and regions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- XIAN NAVINFO INFORMATION TECH CO LTD
- Filing Date
- 2025-11-13
- Publication Date
- 2026-04-17
AI Technical Summary
Existing technologies are prone to data omissions during map data updates, resulting in low detection accuracy and efficiency. Furthermore, they lack dynamic detection mechanisms and are unable to detect cross-tile and cross-regional road connectivity issues, as well as global data gaps.
The map data is divided into multiple tile units. By determining the table structure information of the feature data table of the target unit, a global data table is generated, and detection is carried out according to the preset quality inspection rules to achieve cross-tile and cross-region data detection.
It improves the accuracy and flexibility of map data detection, enabling the discovery of global issues, enhancing detection efficiency and accuracy, and adapting to the detection needs of different customers or products.
Smart Images

Figure CN121880301A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a method, apparatus, device, storage medium, and program product for detecting map data. Background Technology
[0002] With the development of intelligent driving technology, digital map data plays a crucial role in vehicle driving control. Therefore, timely updates and quality checks of map data are necessary to ensure accurate vehicle control.
[0003] During map data updates, a full inspection of massive amounts of data is required. However, data omissions are common during this process, impacting the efficiency and accuracy of data quality control. Therefore, how to accurately inspect map data is a pressing technical problem that needs to be solved. Summary of the Invention
[0004] This application provides a method, apparatus, device, storage medium, and program product for detecting map data, in order to improve the detection accuracy of map data.
[0005] In a first aspect, embodiments of this application provide a method for detecting map data, wherein the map data is divided into multiple tile units; the method includes:
[0006] The target unit is determined from each tile unit, and the table structure information is determined based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data;
[0007] Based on the feature data tables in each tile unit and the table structure information, a global data table is determined; wherein, the global data table is a data table representing global map data;
[0008] According to the preset quality inspection rules, the global data table is subjected to data inspection processing to obtain the inspection results of the map data.
[0009] Secondly, embodiments of this application provide a map data detection device, wherein the map data is divided into multiple tile units; the device includes:
[0010] The structure determination module is used to determine the target unit from each tile unit and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data;
[0011] The data table determination module is used to determine a global data table based on the feature data tables in each tile unit and the table structure information; wherein, the global data table is a data table representing global map data;
[0012] The data detection module is used to perform data detection processing on the global data table according to preset quality inspection rules to obtain the detection results of the map data.
[0013] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;
[0014] The memory stores computer-executed instructions;
[0015] The processor executes computer execution instructions stored in the memory, causing the processor to perform the implementation method described in the first aspect above.
[0016] Fourthly, embodiments of this application provide a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, are used to implement the embodiments described in the first aspect above.
[0017] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the implementation methods described in the first aspect above.
[0018] This application provides a method, apparatus, device, storage medium, and program product for detecting map data. The map data is divided into multiple tile units, and the feature data table in each tile unit represents the map data of the road area to which that tile unit belongs. A target unit is determined from the multiple tile units. Based on the feature data table in the target unit, the table structure information of that feature data table is determined, which is the table structure information of the global data table; that is, a global data table with the corresponding table structure can be generated. By extracting the table structure information, dynamic parsing of the map data can be achieved, improving the accuracy and flexibility of data detection. According to the table structure information, the feature data tables in all tile units are merged to obtain the global data table of the map data. Then, according to preset quality inspection rules, the global data table is inspected to obtain the inspection results. By determining the global data table, cross-tile and cross-region data inspection is achieved, thereby discovering global problems in the map data and improving the efficiency and accuracy of data detection. Attached Figure Description
[0019] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0020] Figure 1A flowchart illustrating a map data detection method provided in an embodiment of this application;
[0021] Figure 2 A schematic diagram of the distributed computing framework provided in an embodiment of this application;
[0022] Figure 3 A flowchart illustrating a map data detection method provided in an embodiment of this application;
[0023] Figure 4 A flowchart illustrating a map data detection method provided in an embodiment of this application;
[0024] Figure 5 A flowchart illustrating a map data detection method provided in an embodiment of this application;
[0025] Figure 6 A quality inspection flowchart for map data provided in this application embodiment;
[0026] Figure 7 This is a schematic diagram of the structure of a map data detection device provided in an embodiment of this application;
[0027] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.
[0028] The accompanying drawings have illustrated specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to specific embodiments. Detailed Implementation
[0029] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.
[0030] First, let me explain the terms used in this application:
[0031] Tile unit: refers to a pre-rendered, standard-sized small image. Multiple tile units are stitched together to form complete map data;
[0032] Spark: An open-source distributed computing framework;
[0033] Spark Driver: The control center of the application, responsible for parsing code, allocating tasks, and coordinating the execution of the entire job. A Spark application has only one Driver.
[0034] Spark Executor: refers to a computing node or process in a Spark application, responsible for executing the specific computing tasks assigned by the Driver. A Spark application can have multiple Executors.
[0035] Data partitioning: Large datasets are divided into smaller blocks of data distributed across different computing nodes. It is the basic unit of Spark's parallel computing.
[0036] This application is mainly applied to the field of digital map data production and quality control. During the map data update process, it is necessary to conduct a full check on the massive map data covering a preset range to ensure core quality indicators such as road connectivity, attribute integrity, and topological consistency.
[0037] Different clients or products have different requirements for map data formats, fields, features, etc. For example, the structure of the data table provided to different clients in the same tile file may be different. Therefore, it is necessary to specifically verify whether the map data meets the preset specifications before delivery.
[0038] Currently, in the field of map data quality inspection, the usual approach is to compare the differences between old and new map versions, performing checks only within those areas. While this method reduces computation, it only covers localized data and cannot detect issues such as road connectivity problems across tiles or regions, or global data gaps, thus affecting the accuracy and efficiency of map data inspection. Furthermore, different clients or products have different table structures and field definitions for map data; currently, there is a lack of dynamic inspection mechanisms, requiring manual rule pre-setting, resulting in poor inspection flexibility.
[0039] This application provides a method, apparatus, device, storage medium, and program product for detecting map data, which aims to solve the above-mentioned technical problems in the prior art.
[0040] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will be described below with reference to the accompanying drawings.
[0041] Figure 1 This is a flowchart illustrating a map data detection method provided in an embodiment of this application. The method can be executed by a map data detection device. The map data is divided into multiple tile units. For example... Figure 1As shown, the method includes:
[0042] S101. Determine the target unit from each tile unit, and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data.
[0043] For example, map data can cover a large area such as roads. Typically, a preset area is divided into multiple tile units, and multiple tile units constitute a complete area. That is, different tile units can correspond to different road areas. In this embodiment, the shape and size of the tile units are not specifically limited.
[0044] Each tile unit corresponds to a portion of the map data; that is, the map data is also divided into multiple tile units, and each tile unit corresponds to the map data of its respective road area. The map data corresponding to each tile unit can be combined to form a complete map. Each tile unit can also correspond to a feature data table, which represents the map data of the road area to which the tile unit belongs. In other words, the feature data table can include relevant information about the features in the map data of the road area to which the tile unit belongs. Features are objects in the road, such as lane lines, signs, traffic lights, etc.
[0045] Although map data for the same area is provided to different clients, their requirements for the map data vary. Therefore, the format and features of the provided map data may differ. Map data is provided in units of tiles, meaning that clients may receive map data consisting of multiple tiles. Even for the same tile area, different clients may have different map data at that specific tile. When it's necessary to inspect a client's map data, targeted processing is required. For example, the connectivity and integrity of roads in the map data can be inspected.
[0046] For each client, one tile can be selected from multiple tile units as the target unit. The target unit can be the same or different for different clients. The feature data table of the target unit is obtained, and its table structure information is extracted. The table structure information is the structure of the feature data table, containing all the fields. For the same client, the table structure of the feature data tables for different tile units is the same; therefore, only the table structure information of the target unit needs to be obtained. The table structure information of the target unit is used to determine the table structure information of the global map data table. That is, a data table representing the global map data can be constructed based on the table structure information of the target unit. The global map data is the map data of a preset area composed of all tile units. For example, the field names in the feature data table of the target unit can be determined, and the table structure information can be determined based on the determined field names.
[0047] In this embodiment, multiple data partitions are preset, and tile units are pre-stored in the data partitions. Each data partition stores at least one tile unit. Determining a target unit from each tile unit includes: randomly selecting a data partition from the multiple data partitions as the target partition; and randomly selecting a tile unit from the multiple tile units of the target partition as the target unit.
[0048] Specifically, a Spark distributed computing framework is pre-built. A Spark application consists of one Driver and multiple Executors. The Driver in Spark is the control center of the application, responsible for parsing code, allocating tasks, and coordinating the execution of the entire job. A Spark application has only one Driver. An Executor in Spark can represent a computing node, specifically a process running on that node, responsible for executing the specific computing tasks assigned by the Driver. A Spark application can have multiple Executors. Each Executor can be divided into multiple Partitions, which are the basic units of parallel computing in Spark. A Partition is a physical partition of data, while an Executor is a computing resource for processing that data. An Executor can process data from multiple partitions in parallel, and multiple Executors also process data in parallel. For example, memory can be divided into multiple Partitions, and each Partition can store a feature data table containing one or more tile units.
[0049] Figure 2 This is a schematic diagram of a distributed computing framework. Figure 2In this architecture, a Driver controls multiple Executors, such as Executor1 and Executor2. Each Executor can handle multiple data partitions; for example, Executor1 handles partitions 1 and 2, and Executor2 handles partitions 3 and 4.
[0050] Tiles are stored within data partitions, and a data partition can contain one or more tiles. When determining the target tile, one data partition can be selected from all data partitions as the target partition. For example, the target partition can be randomly selected. If the target partition contains only one tile, that tile is selected as the target tile; if the target partition contains multiple tiles, one tile can be selected from these multiple tiles as the target tile. For example, the target tile can be randomly selected.
[0051] The advantage of this setup is that map data is stored in units of tile cells for different clients or products. For road areas within a tile cell, the data content provided to different clients may differ; for example, the number of data tables within the tile cell may vary, as may the fields in those tables. During detection, a fixed table structure is not preset; instead, a target cell is randomly read, enabling dynamic parsing of the table structure. This allows for targeted detection for different clients or products, improving the accuracy and flexibility of map data detection.
[0052] S102. Based on the feature data tables in each tile unit and the table structure information, determine the global data table; wherein, the global data table is a data table representing the global map data.
[0053] For example, after obtaining the table structure information, the feature data tables of all tile units are read according to the table structure information. For these tile units, the table structure information corresponding to each tile unit is the same. Therefore, the feature data tables of other tile units can be read according to the table structure information of the target unit.
[0054] The map data for the preset area is scattered across various tile units. It is necessary to integrate the data from these tile units to obtain complete map data for the preset area. Fields and their corresponding values are extracted from the feature data tables of each tile unit, and a global data table is generated according to the table structure information. This global data table represents the entire map data. For example, an initial blank data table can be obtained first, with fields matching those in the table structure information. For each tile unit, the corresponding field values are extracted from its feature data table and added to the blank data table to obtain the global data table.
[0055] In this embodiment, after the target unit is determined, the Executor containing the target unit extracts the table structure information and sends it to the Driver. The Driver then broadcasts the table structure information to all Executors, allowing each Executor to extract the feature data table from the corresponding tile unit according to the table structure information. After each Executor extracts the field values from the corresponding feature data table, it sends the extracted field values to the Driver. The Driver then fills in the corresponding field positions in the blank data table according to the table structure information, thus obtaining the global data table.
[0056] S103. According to the preset quality inspection rules, perform data inspection processing on the global data table to obtain the inspection results of the map data.
[0057] For example, quality inspection rules are pre-configured and used to inspect map data. Inspections can be performed on multiple quality inspection items, each with its own corresponding quality inspection rule. A quality inspection item refers to a dimension of the map data to be inspected, and the quality inspection rules can be implemented using SQL (Structured Query Language). If the inspection principle for a particular quality inspection item is the same for different customers or products, then the quality inspection rule for that item applies to multiple customers or products; that is, it is not necessary to configure separate quality inspection rules for each customer or product. When configuring quality inspection rules, multiple rules can be combined into a single quality inspection package for easy batch deployment, removal, or adjustment.
[0058] The global data table contains the overall map data. Therefore, during quality inspection, the data in the global data table can be checked to achieve global correlation checks across partitions and tiles. For example, road connectivity checks and duplicate feature checks can be performed across tiles. In this way, even with a huge amount of road data, the inspection can be completed in a short time. In this embodiment, different quality inspection items can be executed concurrently, further improving the overall quality inspection speed.
[0059] Each quality inspection item can correspond to its own inspection result, also known as the test result. After all quality inspection items are inspected, the total test results for the map data are obtained. The test results can characterize the problematic tile units and related information, allowing each problem to be traced back to its corresponding quality inspection item for easy and rapid location and repair. For example, the test results may include the tile number, location, problem type, and the quality inspection item to which it belongs.
[0060] Taking highway speed limit and connectivity checks as an example, the fields in the feature data table differ across product tile units; some have "toll information," while others lack "speed limit information." During the check, the table and field information from one tile unit are first read to generate a specification (table structure information), which is then distributed to all computing nodes. Each computing node reads the tile unit it is responsible for according to the specification. After all computing nodes have read the data, a global logical map, i.e., a global data table, is created. The quality inspection rules for each item are pre-configured. For products with "toll information," the relevant quality inspection rules can be used; for products without "speed limit information," the "speed limit information" quality inspection rules will not be used, thus filtering the quality inspection rules based on the product being inspected.
[0061] This application provides a method for detecting map data. The map data is divided into multiple tile units, and the feature data table in each tile unit represents the map data of the road to which that tile unit belongs. A target unit is determined from the multiple tile units. Based on the feature data table in the target unit, the table structure information of that feature data table is determined, which is the table structure information of the global data table; that is, a global data table with the corresponding table structure can be generated. By extracting the table structure information, dynamic parsing of the map data can be achieved, improving the accuracy and flexibility of data detection. According to the table structure information, the feature data tables in all tile units are merged to obtain the global data table of the map data. Then, according to preset quality inspection rules, the global data table is detected to obtain the detection results. By determining the global data table, cross-tile and cross-region data detection is achieved, thereby discovering global problems in the map data and improving the efficiency and accuracy of data detection.
[0062] Figure 3 This is a flowchart illustrating a map data detection method provided in an embodiment of this application, as shown below. Figure 3 As shown, this embodiment, based on the above embodiments, provides a detailed description of a map data detection method, which includes:
[0063] S301. Determine the target unit from each tile unit, and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data.
[0064] For example, this step can refer to step S101 above, and will not be repeated here.
[0065] S302. For the feature data table in each tile unit, extract the field value corresponding to each field in the table structure information from the feature data table.
[0066] For example, the feature data table in a tile unit can be stored in a preset format, such as in an SQLite file. For each tile unit, including the target unit, the SQLite file of the tile unit is read to obtain the feature data table corresponding to the tile unit. Based on the table structure information, the fields contained in the feature data table are determined, and the field values corresponding to the fields are extracted from the feature data table. The table structure information includes multiple fields; that is, the feature data table includes multiple fields, and the fields in the table structure information are the same as the fields in the feature data table. Fields represent the attribute categories of features in the road; for example, fields may include lane line length, road width, road curvature, etc.
[0067] In this embodiment, the Spark distributed framework is used for data loading and reading. Therefore, Spark's Executor can download the SQLite file corresponding to its own tile unit, read the field values corresponding to the fields according to the table structure information, which is to execute Spark's Map phase. Through Spark's Map phase, the SQLite file can be converted into rows of specific table data, corresponding to the table structure information. In this way, even if the table structure information of different products is different, the data can be loaded and read according to the determined table structure information, without the need for manually pre-writing the table structure, thus improving the accuracy and flexibility of data reading.
[0068] S303. Determine the global data table based on the field values extracted from the feature data table of each tile unit.
[0069] For example, each feature data table can include multiple fields, and each field can correspond to one field value in a feature data table; that is, a feature data table can contain multiple field values. Combining all field values extracted from all tile units and using table structure information, a global data table is obtained. In other words, Spark stitches all tiles together to form a logical large map, which is the global data table, or Spark SQL View. Running quality checks on this complete logical large map can detect global issues across tiles, such as broken road chains or isolated road nodes.
[0070] In this embodiment, the global data table is determined based on the field values extracted from the feature data table of each tile unit, including: for each tile unit, the field values corresponding to each field extracted from the feature data table are determined as the row data corresponding to the tile unit; wherein, the row data represents the row in the global data table; and the global data table is determined based on the row data corresponding to each tile unit.
[0071] Specifically, for each tile unit, the field values corresponding to each field extracted from the feature data table are determined. These field values are then used as row data in the global data table; that is, each field value in the feature data table can be used as a row in the global data table. If there are multiple tile units, multiple rows of data can be obtained, and the global data table is composed of these multiple rows. For example, based on the table structure information, an initial blank data table is generated, which is also a blank global data table. Each time a row of data is generated, it can be filled into the blank data table, ultimately generating the global data table.
[0072] The advantage of this setup is that it reads data according to the actual fields, converts the SQLite file into a single row of table data, and enables the stitching of data from multiple tile units. This facilitates subsequent global detection of map data and improves detection accuracy.
[0073] S304. According to the preset quality inspection rules, perform data inspection processing on the global data table to obtain the inspection results of the map data.
[0074] For example, this step can refer to step S103 above, and will not be repeated here.
[0075] This application provides a method for detecting map data. The map data is divided into multiple tile units, and the feature data table in each tile unit represents the map data of the road to which that tile unit belongs. A target unit is determined from the multiple tile units. Based on the feature data table in the target unit, the table structure information of that feature data table is determined, which is the table structure information of the global data table; that is, a global data table with the corresponding table structure can be generated. By extracting the table structure information, dynamic parsing of the map data can be achieved, improving the accuracy and flexibility of data detection. According to the table structure information, the feature data tables in all tile units are merged to obtain the global data table of the map data. Then, according to preset quality inspection rules, the global data table is detected to obtain the detection results. By determining the global data table, cross-tile and cross-region data detection is achieved, thereby discovering global problems in the map data and improving the efficiency and accuracy of data detection.
[0076] Figure 4 This is a flowchart illustrating a map data detection method provided in an embodiment of this application, as shown below. Figure 4 As shown, this embodiment, based on the above embodiments, provides a detailed description of a map data detection method, which includes:
[0077] S401. Determine the target unit from each tile unit, and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data.
[0078] For example, this step can refer to step S101 above, and will not be repeated here.
[0079] S402. Based on the feature data tables in each tile unit and the table structure information, determine the global data table; wherein, the global data table is a data table representing the global map data.
[0080] For example, this step can refer to step S102 above, and will not be repeated here.
[0081] S403. Based on the preset data grouping conditions, divide the row data in the global data table into different data partitions; where row data represents the row in the global data table, and data partition represents the storage space of the data.
[0082] For example, the files of each tile unit are stored in different data partitions. After obtaining the global data table, the data in each data partition can be re-stored. That is, the row data in the global data table can be divided into different data partitions, and the original data in the data partitions can be deleted.
[0083] Data grouping conditions are pre-defined to group row data in the global data table, thereby storing row data from different groups in different data partitions. For example, a pre-defined data grouping condition could be to group row data corresponding to the same ID together. A data partition can include multiple rows of data. In this embodiment, the pre-defined data grouping conditions are not specifically limited.
[0084] In this embodiment, the process of grouping row data is Spark's Reduce (aggregation) phase. The Reduce phase follows the Map phase and performs aggregation or summary calculations on the data. In summary, the Spark Driver is the brain; it parses the work tasks. Data is partitioned for parallel processing, and the Driver distributes the work tasks to the Executors on various compute nodes for execution. The computation process is typically divided into a Map phase and a Reduce phase. The Map phase performs parallel processing and data transformation, while the Reduce phase aggregates and summarizes the data.
[0085] By grouping the data, users can still see a global data table—that is, from the user's perspective, it appears as a single, large table—but the underlying actual data is still distributed across different partitions within the cluster. This ensures both logical global consistency and maintains efficient distributed computing capabilities.
[0086] In this embodiment, the row data in the global data table is divided into different data partitions according to preset data grouping conditions, including: grouping the row data in the global data table according to preset data grouping conditions to obtain multiple data groups; for each data group, determining the data partition corresponding to the data group, and storing the data group in the corresponding data partition.
[0087] Specifically, pre-defined data grouping conditions can be used to shuffle the order of rows in the global data table and group them into multiple data groups. Each data group can include one or more rows from the global data table. For example, the first and third rows can be grouped together, and the second and fourth rows can be grouped together.
[0088] After obtaining the data groups, they can be stored in data partitions. Each data group needs to be stored completely in a specific data partition, but a data partition can store multiple data groups. The data partition corresponding to each data group is determined. For example, the data groups can be stored sequentially according to the order of the data partitions, or the data groups can be stored randomly in the data partitions. In this embodiment, the method for determining the data partition corresponding to a data group is not specifically limited.
[0089] The advantage of this setting is that it pre-sets data grouping conditions. For example, data with the same ID can be grouped into one data partition, which meets the actual data detection needs and improves the efficiency and accuracy of data detection.
[0090] S404. According to the preset quality inspection rules, perform data inspection processing on each data partition to obtain the inspection results of the map data.
[0091] For example, pre-defined quality inspection rules are used to inspect map data across different dimensions. During quality inspection, because the underlying data is distributed across various data partitions, the SQL statements used for data inspection are parsed by the Spark framework on the Driver side. The inspection tasks are then distributed to various Executors for parallel execution. Each Executor is only responsible for inspecting the data within its assigned partition, thus improving inspection efficiency. Each Executor can perform quality inspections using the same rules or different rules; for example, each Executor can check whether a field is empty. The final inspection result is obtained by combining the inspection results under various rules.
[0092] By generating a global data table and grouping the data, the data in the data partitions is shuffled, enabling data merging across partitions and cells, thereby performing global correlation checks and effectively improving the efficiency of map data inspection.
[0093] In this embodiment, data detection processing is performed on each data partition according to preset quality inspection rules to obtain the detection results of map data. This includes: obtaining the identification information of map data; determining the preset quality inspection rules corresponding to the identification information based on preset association relationships; wherein, the preset association relationships represent the association relationship between the identification information and the preset quality inspection rules; performing parallel data detection processing on each data partition according to the preset quality inspection rules corresponding to the identification information to obtain the detection results corresponding to each data partition; and obtaining the detection results of map data based on the detection results corresponding to each data partition.
[0094] Specifically, different versions of map data can be provided to different clients, each with a unique identifier. This identifier can be annotated in a global data table. Different clients may have different quality control requirements for map data; therefore, the quality control rules required for different map data may vary.
[0095] The system pre-sets the association between identification information and quality inspection rules. One identification information can correspond to one or more quality inspection rules, and one quality inspection rule can correspond to one or more identification information. This association can be adjusted according to actual business needs.
[0096] When performing quality inspection on map data, the identification information of the map data is obtained, for example, from the global data table. Based on preset relationships, the quality inspection rule corresponding to this identification information is found. This rule is then applied to the global data table, which in turn inspects the data in each data partition, obtaining the inspection results for each data partition. The inspection results for each data partition are then combined to obtain the overall inspection result for the map data.
[0097] The advantage of this setup is that different map data can correspond to the same or different quality inspection rules. Based on the preset association, it can automatically determine whether each quality inspection rule is needed at present, and process the required quality inspection rules in parallel in the data partition, thereby improving quality inspection efficiency.
[0098] This application provides a method for detecting map data. The map data is divided into multiple tile units, and the feature data table in each tile unit represents the map data of the road to which that tile unit belongs. A target unit is determined from the multiple tile units. Based on the feature data table in the target unit, the table structure information of that feature data table is determined, which is the table structure information of the global data table; that is, a global data table with the corresponding table structure can be generated. By extracting the table structure information, dynamic parsing of the map data can be achieved, improving the accuracy and flexibility of data detection. According to the table structure information, the feature data tables in all tile units are merged to obtain the global data table of the map data. Then, according to preset quality inspection rules, the global data table is detected to obtain the detection results. By determining the global data table, cross-tile and cross-region data detection is achieved, thereby discovering global problems in the map data and improving the efficiency and accuracy of data detection.
[0099] Figure 5 This is a flowchart illustrating a map data detection method provided in an embodiment of this application, as shown below. Figure 5 As shown, this embodiment, based on the above embodiments, provides a detailed description of a map data detection method, which includes:
[0100] S501. Determine the target unit from each tile unit. For each feature data table in the target unit, extract the fields contained in each feature data table.
[0101] For example, a tile unit may contain one or more feature data tables, with each tile unit containing the same type and number of feature data tables. For instance, tile unit 1 contains a road table and a lane table, and tile unit 2 also contains a road table and a lane table. One tile unit is randomly selected from all tile units as the target unit. For each feature data table in the target unit, the fields contained in that feature data table are extracted. For example, if the target unit contains a road table and a lane table, where the road table includes multiple fields related to the overall road environment and the lane table includes multiple fields related to lanes and lane lines, then multiple fields can be extracted from both the road table and the lane table.
[0102] S502. Based on the fields contained in each element data table, obtain the table structure information corresponding to each element data table.
[0103] For example, for each feature data table in the target unit, the table structure information corresponding to that feature data table is obtained based on the fields contained in the feature data table. The table structure information may indicate the type information of the feature data table, thereby distinguishing it from the table structure information of other feature data tables in the target unit. That is, if the target unit contains multiple feature data tables, each feature data table can be associated with a set of table structure information.
[0104] S503. Based on the feature data tables in each tile unit and the table structure information, determine the global data table; wherein, the global data table is a data table representing the global map data.
[0105] For example, for a certain type of feature data table, a global data table corresponding to that type of feature data table is generated based on the table structure information corresponding to that type of feature data table in each tile unit.
[0106] In this embodiment, the feature data tables in different tile units are of the same type. Based on the feature data tables in each tile unit and the table structure information, a global data table is determined, including: for each type of feature data table in each tile unit, determining the table structure information corresponding to the feature data table as the target structure information; extracting the field values corresponding to each field in the target structure information from the feature data table; determining the field values corresponding to each field extracted from the feature data table as the row data corresponding to the target structure information; and determining the global data table corresponding to the target structure information based on the row data corresponding to the target structure information in each tile unit.
[0107] Specifically, for the same customer or product, different tile units contain the same number and type of feature data tables. Each feature data table in a tile unit can have a corresponding type identifier, representing the type of that feature data table.
[0108] For each type of identifier, after determining the table structure information of that type of identifier, the feature data table of that type of identifier in each tile unit is obtained. For the feature data table of that type of identifier in each tile unit, the table structure information corresponding to that type of identifier is determined as the target structure information. According to the fields in the target structure information, the field values corresponding to each field are extracted from the feature data table of that type of identifier. The extracted field values corresponding to each field are determined as the row data corresponding to the target structure information. The feature data table of that type of identifier in each tile unit can correspond to one row of data in the target structure information. Based on the row data corresponding to the target structure information in each tile unit, the global data table corresponding to the target structure information is determined. That is, each type of identifier corresponds to one global data table, and the number of global data tables is consistent with the number of feature data tables in the tile unit. For example, if each tile unit has a road table and a lane table, then after merging, a global road table and a global lane table are obtained.
[0109] The advantage of this setup is that the table types for the same map product are the same across different tile units. Therefore, for each type of feature data table in a tile unit, it can be aggregated into a global data table, enabling targeted data merging for different features. This facilitates subsequent quality inspection for different features and improves the accuracy of quality inspection.
[0110] S504. According to the preset quality inspection rules, perform data inspection processing on the global data table to obtain the inspection results of the map data.
[0111] For example, for each piece of map data, multiple global data tables can be obtained, and the quality inspection rules corresponding to different global data tables can be different. The global data tables can be labeled with the type identifiers of the corresponding feature data tables. The association between the type identifiers and the quality inspection rules can be pre-set, thereby performing targeted quality inspections on the global data tables to obtain the quality inspection accuracy.
[0112] Figure 6 This is a flowchart of the quality inspection process for map data. Figure 6In this process, the product to be inspected is map data 1, which is divided into N tile units, designated as tile 1 to tile N. Each tile unit contains three feature data tables: Table 1, Table 2, and Table 3. A tile unit is randomly read, for example, tile 1, to obtain the table structure information for Tables 1, 2, and 3. This table structure information is broadcast to each Executor, which then reads the corresponding tile unit from its own data partitions based on the table structure information. For example, map data 1 corresponds to only one Executor, which corresponds to M data partitions, each containing 2 tile units. Based on the table structure information and the read table data, global data tables for Tables 1, 2, and 3 are constructed respectively. A pre-configured quality inspection package contains multiple quality inspection items, each applicable to one or more products. For map data 1, the required quality inspection items include quality inspection item 1 and quality inspection item 2; therefore, only quality inspection items 1 and 2 need to be executed. The output results after quality inspection can include the ID of the inspected item, making it easy to view and trace.
[0113] This application provides a method for detecting map data. The map data is divided into multiple tile units, and the feature data table in each tile unit represents the map data of the road to which that tile unit belongs. A target unit is determined from the multiple tile units. Based on the feature data table in the target unit, the table structure information of that feature data table is determined, which is the table structure information of the global data table; that is, a global data table with the corresponding table structure can be generated. By extracting the table structure information, dynamic parsing of the map data can be achieved, improving the accuracy and flexibility of data detection. According to the table structure information, the feature data tables in all tile units are merged to obtain the global data table of the map data. Then, according to preset quality inspection rules, the global data table is detected to obtain the detection results. By determining the global data table, cross-tile and cross-region data detection is achieved, thereby discovering global problems in the map data and improving the efficiency and accuracy of data detection.
[0114] Figure 7 This is a schematic diagram of a map data detection device provided in an embodiment of this application. The map data is divided into multiple tile units, such as... Figure 7 As shown, the map data detection device 70 provided in this embodiment includes:
[0115] The structure determination module 701 is used to determine the target unit from each tile unit and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data.
[0116] The data table determination module 702 is used to determine the global data table based on the feature data table in each tile unit and the table structure information; wherein, the global data table is a data table representing the global map data;
[0117] The data inspection module 703 is used to perform data inspection processing on the global data table according to preset quality inspection rules to obtain the inspection results of the map data.
[0118] In one possible implementation, the table structure information includes multiple fields, which are the same as those in the feature data table. These fields represent the attribute categories of features within the road. The data table determination module 702 includes:
[0119] The field value extraction submodule is used to extract the field value corresponding to each field in the table structure information of the feature data table for each tile unit.
[0120] The data table determination submodule is used to determine the global data table based on the field values extracted from the feature data table of each tile unit.
[0121] In one possible implementation, the data table defines the submodule, specifically for:
[0122] For each tile unit, the field values corresponding to each field extracted from the feature data table are determined as the row data corresponding to the tile unit; where the row data represents the row in the global data table;
[0123] The global data table is determined based on the row data corresponding to each tile unit.
[0124] In one possible implementation, the data detection module 703 includes:
[0125] The data grouping submodule is used to divide the row data in the global data table into different data partitions according to preset data grouping conditions; where row data represents the row in the global data table, and data partition represents the storage space of the data;
[0126] The data inspection submodule is used to perform data inspection processing on each data partition according to preset quality inspection rules, and obtain the inspection results of map data.
[0127] In one possible implementation, the data grouping submodule is specifically used for:
[0128] Based on preset data grouping conditions, the row data in the global data table is grouped to obtain multiple data groups;
[0129] For each data group, determine the corresponding data partition and store the data group in the corresponding data partition.
[0130] In one possible implementation, the data detection submodule is specifically used for:
[0131] Obtain the identification information of map data, and determine the preset quality inspection rules corresponding to the identification information based on the preset association relationship; wherein, the preset association relationship represents the association relationship between the identification information and the preset quality inspection rules;
[0132] Based on the preset quality inspection rules corresponding to the identification information, parallel data inspection processing is performed on each data partition to obtain the inspection results corresponding to each data partition;
[0133] Based on the detection results corresponding to each data partition, the detection results of the map data are obtained.
[0134] In one possible implementation, multiple data partitions are pre-defined, tile units are pre-stored in the data partitions, and at least one tile unit is stored in each data partition; the structure determination module 701 includes:
[0135] The first random submodule is used to randomly determine one data partition from multiple data partitions as the target partition;
[0136] The second random submodule is used to randomly select one tile unit from multiple tile units of the target partition as the target unit.
[0137] In one possible implementation, the tile unit includes multiple feature data tables, with each feature data table corresponding one-to-one with table structure information; the structure determination module 701 is specifically used for:
[0138] For each feature data table in the target unit, extract the fields contained in each feature data table;
[0139] Based on the fields contained in each feature data table, obtain the table structure information corresponding to each feature data table.
[0140] In one possible implementation, the feature data tables in different tile units are of the same type; the data table determination module 702 is specifically used for:
[0141] For each type of feature data table in each tile unit, determine the table structure information corresponding to the feature data table, which is the target structure information;
[0142] Extract the field value corresponding to each field in the target structure information from the feature data table;
[0143] The field values corresponding to each field extracted from the feature data table are determined as the row data corresponding to the target structure information;
[0144] Based on the row data corresponding to the target structure information in each tile unit, the global data table corresponding to the target structure information is determined.
[0145] This embodiment provides a map data detection device that can execute the method provided in the above-described method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.
[0146] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 8 As shown, the electronic device 80 provided in this embodiment includes at least one processor 801 and a memory 802. Optionally, the device 80 further includes a communication component 803. The processor 801, memory 802, and communication component 803 are connected via a bus 804.
[0147] In a specific implementation, at least one processor 801 executes computer execution instructions stored in memory 802, causing at least one processor 801 to perform the above-described method.
[0148] The specific implementation process of processor 801 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.
[0149] In the above embodiments, it should be understood that the processor can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), etc. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the method disclosed in this invention can be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules within the processor.
[0150] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.
[0151] The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of illustration, the buses shown in the accompanying drawings are not limited to a single bus or a single type of bus.
[0152] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.
[0153] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.
[0154] The aforementioned readable storage medium can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk. The readable storage medium can be any available medium accessible to a general-purpose or special-purpose computer.
[0155] An exemplary readable storage medium is coupled to a processor, enabling the processor to read information from and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can reside in an Application Specific Integrated Circuit (ASIC). Alternatively, the processor and the readable storage medium can exist as discrete components in the device.
[0156] The division of units is merely a logical functional division; in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices, or units, and may be electrical, mechanical, or other forms.
[0157] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.
[0158] In addition, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0159] If a function is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods of the various embodiments of this invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0160] Those skilled in the art will understand that all or part of the steps of the above-described method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When executed, the program performs the steps of the above-described method embodiments; and the aforementioned storage medium includes various media capable of storing program code, such as ROM, RAM, magnetic disks, or optical disks.
[0161] Finally, it should be noted that other embodiments of the invention will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This invention is intended to cover any variations, uses, or adaptations of the invention that follow the general principles of the invention and include common knowledge or customary techniques in the art not disclosed herein, and is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of the invention is limited only by the appended claims.
Claims
1. A method of detecting map data, characterized by, The map data is divided into multiple tile units; the method includes: The target unit is determined from each tile unit, and the table structure information is determined based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data; Based on the feature data tables in each tile unit and the table structure information, a global data table is determined; wherein, the global data table is a data table representing global map data; According to the preset quality inspection rules, the global data table is subjected to data inspection processing to obtain the inspection results of the map data.
2. The method of claim 1, wherein, The table structure information includes multiple fields, which are the same as those in the feature data table. These fields represent the attribute categories of the features in the road. Based on the feature data tables in each tile unit and the table structure information, a global data table is determined, including: For the feature data table in each tile unit, extract the field value corresponding to each field in the table structure information from the feature data table; The global data table is determined based on the field values extracted from the feature data table of each tile unit.
3. The method of claim 2, wherein, The global data table is determined based on the field values extracted from the feature data table of each tile unit, including: For each tile unit, the field values corresponding to each field extracted from the feature data table are determined as the row data corresponding to the tile unit; wherein, the row data represents the row in the global data table; The global data table is determined based on the row data corresponding to each tile unit.
4. The method of claim 1, wherein, According to preset quality inspection rules, the global data table is subjected to data inspection processing to obtain the inspection results of the map data, including: According to preset data grouping conditions, the row data in the global data table is divided into different data partitions; wherein, the row data represents the row in the global data table, and the data partition represents the storage space of the data; According to the preset quality inspection rules, data inspection processing is performed on each of the data partitions to obtain the inspection results of the map data.
5. The method of claim 4, wherein, Based on preset data grouping conditions, the row data in the global data table is divided into different data partitions, including: Based on preset data grouping conditions, the row data in the global data table is grouped to obtain multiple data groups; For each data group, determine the corresponding data partition and store the data group in the corresponding data partition.
6. The method of claim 4, wherein, According to preset quality inspection rules, data inspection processing is performed on each of the data partitions to obtain the inspection results of the map data, including: Obtain the identification information of the map data, and determine the preset quality inspection rules corresponding to the identification information based on the preset association relationship; wherein, the preset association relationship represents the association relationship between the identification information and the preset quality inspection rules; According to the preset quality inspection rules corresponding to the identification information, parallel data detection processing is performed on each of the data partitions to obtain the detection results corresponding to each data partition; The detection results of the map data are obtained based on the detection results corresponding to each data partition.
7. The method of claim 1, wherein, Multiple data partitions are preset, and the tile units are pre-stored in the data partitions. Each data partition stores at least one tile unit. The target element is determined from each tile element, including: One data partition is randomly selected from the plurality of data partitions and designated as the target partition. One tile unit is randomly selected from the multiple tile units of the target partition as the target unit.
8. The method according to any one of claims 1-7, characterized in that, The tile unit includes multiple feature data tables, and each feature data table corresponds one-to-one with the table structure information; the table structure information is determined based on the feature data tables in the target unit, including: For each element data table in the target unit, extract the fields contained in each element data table; Based on the fields contained in each element data table, the table structure information corresponding to each element data table is obtained.
9. A map data detecting apparatus characterized by comprising: The map data is divided into multiple tile units; the device includes: The structure determination module is used to determine the target unit from each tile unit and determine the table structure information based on the feature data table in the target unit; wherein, the feature data table is a data table representing the features in the road area to which the tile unit belongs, and the table structure information is the table structure of the data table representing the global map data; The data table determination module is used to determine a global data table based on the feature data tables in each tile unit and the table structure information; wherein, the global data table is a data table representing global map data; The data detection module is used to perform data detection processing on the global data table according to preset quality inspection rules to obtain the detection results of the map data.
10. An electronic device / computer-readable storage medium / computer program product, characterized in that, The electronic device includes: a memory, a processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory, causing the processor to perform the method as described in any one of claims 1-8; and / or, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-8; and / or, The computer program product includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-8.