Map verification method and device and computer readable storage medium

By obtaining the index information of the map and detecting the cross-points in the route, the problem of inefficient map verification in the prior art is solved, and efficient update of map verification is achieved.

CN119938666APending Publication Date: 2025-05-06ZHEJIANG HUARAY TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411776931.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-05-06

AI Technical Summary

Technical Problem

In the prior art, the map verification process is slow, and the complexity is an exponential number of nodes, resulting in inefficiency.

Method used

By obtaining the index information of the map to be checked, including the location information of the node and the node information of the route, we can detect whether the route has cross-points. The cross point is a node other than the key node corresponding to the route, and the updated cross point is a route node in the map to be checked.

Benefits of technology

The efficiency of map verification is improved, and it can detect whether the nodes corresponding to cross-points are missing in the route. Through cross-point detection, the detection of whether the nodes of the map are missing and timely updates are improved, thereby improving the verification efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119938666A_ABST
    Figure CN119938666A_ABST
Patent Text Reader

Abstract

The invention discloses a map verification method and device and a computer readable storage medium, and the method comprises the steps: obtaining the index information of a to-be-verified map, the index information comprises the position information of a plurality of nodes of the to-be-verified map and the node information of a plurality of routes, and the node information comprises the position information of a plurality of key nodes; for each route, based on the position information of the plurality of nodes and the node information corresponding to the route, detecting whether cross points exist in the route, the cross points being the nodes except the plurality of key nodes corresponding to the route; and in response to the existence of the cross points in the route, updating the cross points to nodes of the route in the to-be-verified map. In this way, the efficiency of map verification can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image processing technology, and in particular to a map verification method, device and computer-readable storage medium. Background Art

[0002] The basic structure of a map includes nodes and routes connecting each node. Several routes form the movement trajectory of the device using the map. Now more and more application scenarios require planning maps in advance, so whether there are problems with the map plays a key role in the efficiency of completing the task, or even whether the task can be completed.

[0003] Currently, whether there is a problem with the map often depends on manual inspection of the map or feedback from actual use of the map. Each node and the corresponding motion trajectory need to be judged in turn, and the complexity is exponential to the number of nodes, resulting in slow map verification. Therefore, how to improve the efficiency of map verification has become an urgent problem to be solved. Summary of the invention

[0004] The present application provides a map verification method, device and computer-readable storage medium, which can improve the efficiency of map verification.

[0005] In order to solve the above technical problems, the technical solution adopted in the present application is: to provide a map verification method, the method comprising: obtaining index information of the map to be verified, the index information comprising location information of several nodes of the map to be verified and node information of several routes, the node information comprising location information of several key nodes; for each of the routes, based on the location information of the several nodes and the node information corresponding to the route, detecting whether there are cross-points in the route, wherein the cross-points are the nodes other than the several key nodes corresponding to the route; in response to the existence of the cross-points in the route, updating the cross-points to the nodes of the route in the map to be verified.

[0006] In one embodiment, the position information of the several nodes includes a coordinate grouping of each coordinate axis, and the coordinate grouping includes a coordinate value of each node on the coordinate axis; the detecting whether the route has a cross point based on the position information of the several nodes and the node information corresponding to the route includes: taking the route as an analysis segment, or dividing the route into a plurality of segments, and taking each of the segments as an analysis segment; obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each of the coordinate axes based on the position information of the several key nodes corresponding to the route; selecting at least one candidate node corresponding to each target coordinate axis from the several nodes, wherein the target coordinate axis is a coordinate axis where a candidate node exists, and the candidate node is a node whose coordinate value on the target coordinate axis is between the maximum coordinate value and the minimum coordinate value; and searching whether the cross point exists from at least one candidate node corresponding to each of the target coordinate axes.

[0007] In one embodiment, the coordinate grouping includes a coordinate set corresponding to the coordinate axis, the coordinate set corresponding to the coordinate axis includes coordinate information of the several nodes on the coordinate axis respectively, and the position information of the several key nodes includes the coordinate value of each of the key nodes on each of the coordinate axes; before respectively screening out at least one candidate node corresponding to each target coordinate axis from the several nodes, it also includes: for each of the coordinate axes, from the coordinate set corresponding to the coordinate axis, detecting whether there is candidate coordinate information with a coordinate value between the maximum coordinate value and the minimum coordinate value of the analysis segment; in response to the absence of the candidate coordinate information on each of the coordinate axes, determining that the cross point does not exist on the analysis segment; and / or, in response to the presence of the candidate coordinate information on any of the coordinate axes, taking the coordinate axis with the candidate coordinate information as the target coordinate axis.

[0008] In one embodiment, the coordinate set corresponding to the coordinate axis is obtained after deduplication of coordinate information of the several nodes on the coordinate axis; and / or the coordinate information of the several nodes on the coordinate axis includes coordinate values ​​and serial numbers of the several nodes on the coordinate axis, and the serial number represents the order of the coordinate values ​​of the nodes on the coordinate axis among the several nodes; detecting whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis segment from the coordinate set corresponding to the coordinate axis includes: searching the serial numbers corresponding to the maximum coordinate value and the minimum coordinate value of the analysis segment from the coordinate set corresponding to the coordinate axis as the maximum serial number and the minimum serial number; in response to the serial number difference between the maximum serial number and the minimum serial number being greater than 1, determining that the candidate coordinate information exists on the coordinate axis; in response to the serial number difference being not greater than 1, determining that the candidate coordinate information does not exist on the coordinate axis.

[0009] In one embodiment, the coordinate grouping includes associated coordinate groups corresponding to each existing coordinate value on the coordinate axis, each existing coordinate value is a different coordinate value of the plurality of nodes on the coordinate axis, the associated coordinate group corresponding to the existing coordinate value includes coordinate sub-groups corresponding to each associated node of the existing coordinate value, each associated node of the existing coordinate value is a node whose coordinate value on the coordinate axis is the existing coordinate value, and the coordinate sub-group includes the coordinate value of the associated node on each other coordinate axis; the selecting at least one candidate node corresponding to each target coordinate axis from the plurality of nodes includes: obtaining the associated coordinate groups corresponding to each intermediate coordinate value from the coordinate group of the target coordinate axis , wherein the intermediate coordinate value is the existing coordinate value between the maximum coordinate value and the minimum coordinate value of the target coordinate axis, each associated node corresponding to each intermediate coordinate value is respectively used as a candidate node, and each coordinate subgroup in the associated coordinate group corresponding to the intermediate coordinate value represents the coordinate value of each candidate node on each coordinate axis; searching for the existence of the span point from at least one candidate node corresponding to each target coordinate axis comprises: for each intermediate coordinate value of each target coordinate axis, based on the associated coordinate group corresponding to the intermediate coordinate value, searching for a candidate node whose distance to the analysis segment is less than or equal to a distance threshold from each candidate node corresponding to the intermediate coordinate value as the span point.

[0010] In one embodiment, the coordinate axes include an X coordinate axis and a Y coordinate axis, and the associated coordinate group corresponding to the intermediate coordinate value includes: associated coordinate values ​​corresponding to each candidate node of the intermediate coordinate value, the intermediate coordinate value corresponding to the X coordinate axis is the intermediate X coordinate value, and the corresponding associated coordinate value is the associated Y coordinate value, and the intermediate coordinate value corresponding to the Y coordinate axis is the intermediate Y coordinate value, and the corresponding associated coordinate value is the associated X coordinate value; based on the associated coordinate group corresponding to the intermediate coordinate value, a candidate node whose distance to the analysis segment is less than or equal to a distance threshold is found from each candidate node corresponding to the intermediate coordinate value, As the spanning point, the method comprises at least one of the following steps: when the route is a vertical line parallel to the Y coordinate axis, in response to the Y coordinate axis being the target coordinate axis, from each associated X coordinate value corresponding to each candidate node of the intermediate Y coordinate value, searching for the associated X coordinate value whose difference with the line segment X coordinate value is less than a first distance threshold, and using the candidate node corresponding to the searched associated X coordinate value as the spanning point, wherein the line segment X coordinate value is the coordinate value of the vertical line on the X coordinate axis; when the route is a horizontal line parallel to the X coordinate axis, in response to the X coordinate axis being the target coordinate axis , from each associated Y coordinate value corresponding to each candidate node of the intermediate X coordinate value, find out the associated Y coordinate value whose difference with the line segment Y coordinate value is less than a second distance threshold, and use the candidate node corresponding to the found associated Y coordinate value as the cross point, wherein the line segment Y coordinate value is the coordinate value of the horizontal line on the Y coordinate axis; when the route is a diagonal line, determine the linear equation corresponding to the route based on the coordinate information of at least two key nodes corresponding to the route, wherein one of the independent variable and the dependent variable of the linear equation represents the X coordinate value and the other represents the Y coordinate value; for the At least some of the candidate nodes with intermediate coordinate values, taking one of the intermediate coordinate value and the associated coordinate value corresponding to the candidate node as the first coordinate value and the other as the second coordinate value, substituting the first coordinate value into the linear equation to obtain a calculation result, in response to the difference between the calculation result and the second coordinate value being less than a third distance threshold, taking the candidate node as the cross-point; in the case where the route is a curve, determining the vertex of the analysis segment; from at least some of the candidate nodes with the intermediate coordinate value, finding the candidate node whose distance to the vertex is less than a fourth distance threshold as the cross-point.

[0011] In one embodiment, when the route is a curve, the method further includes: in response to the fact that the candidate nodes corresponding to the intermediate coordinate values ​​do not belong to the cross-point corresponding to the analysis segment, searching out two candidate nodes closest to the vertex from the candidate nodes corresponding to the intermediate coordinate values ​​as two reference nodes; in response to the fact that the distance between the two reference nodes meets a preset condition, taking the intermediate node of the two reference nodes as a new candidate node, and re-executing the step of searching out the candidate node whose distance to the vertex is less than a fourth distance threshold as the cross-point, until the distance between the two reference nodes does not meet the preset condition.

[0012] In one embodiment, the cross point is obtained by screening from the candidate nodes corresponding to the intermediate coordinate values ​​using a binary search method; and / or the distance threshold is obtained by reading from the index information.

[0013] In one embodiment, when the route is a straight line, the key nodes corresponding to the route include a starting point and an end point, and when the route is a curve, the key nodes corresponding to the route include a starting point, an end point, and at least one control point; taking the route as an analysis line segment, or dividing the route into a plurality of segments and taking each of the segments as an analysis line segment, comprises: when the route is a straight line, taking the route as an analysis line segment; when the route is a curve, dividing the route into a plurality of segments and taking each of the segments as an analysis line segment; obtaining the maximum coordinate value and the minimum coordinate value of the analysis line segment on each of the coordinate axes based on the position information of the key nodes corresponding to the route comprises: when the route is a straight line, for each of the coordinate axes, selecting the maximum coordinate value and the minimum coordinate value on the coordinate axis from the coordinate values ​​of the starting point and the end point of the route on the coordinate axis; when the route is a curve, obtaining the envelope rectangle of the analysis line segment, and taking the maximum value and the minimum value of the envelope rectangle on each of the coordinate axes as the maximum coordinate value and the minimum coordinate value, respectively.

[0014] In one embodiment, the index information also includes identification information of each historical segment, and the historical segment is an analysis segment that has been detected currently; before obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis based on the position information of the several key nodes corresponding to the route, it also includes: determining whether the analysis segment overlaps with each historical segment based on the identification information of each historical segment; in response to the analysis segment not overlapping with each historical segment, executing the step of obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis based on the position information of the several key nodes corresponding to the route and subsequent steps.

[0015] In order to solve the above technical problems, another technical solution adopted in the present application is: to provide a map verification device, which includes a memory and a processor connected to each other, wherein the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the map verification method in the above technical solution.

[0016] In order to solve the above technical problems, another technical solution adopted in the present application is: providing a computer-readable storage medium, which is used to store a computer program. When the computer program is executed by a processor, it is used to implement the map verification method in the above technical solution.

[0017] Through the above scheme, the beneficial effect of the present application is: after obtaining the index information of the map to be verified, since the index information includes the location information of several nodes of the map to be verified and the node information of several routes, and the node information includes the location information of several key nodes, it is possible to detect whether there are cross-points in the route for each route based on the location information of several nodes and the node information corresponding to the route. When it is detected that there are cross-points in the route, in response to the existence of the cross-points in the route, the cross-points are updated to the nodes of the route in the map to be verified. Since the cross-points are nodes other than the several key nodes corresponding to the route, it is possible to detect whether the nodes corresponding to the cross-points are omitted in the route. Through the cross-point detection, it is possible to detect whether the map misses nodes and update the map in time, thereby improving the efficiency of map verification. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work. Among them:

[0019] Figure 1 It is a flowchart of an embodiment of a map verification method provided by the present application;

[0020] Figure 2a-2c It is a schematic diagram of the cross-points in step S12 of an embodiment of the map verification method provided by the present application;

[0021] Figure 3 It is a flowchart of another embodiment of the map verification method provided by the present application;

[0022] Figure 4 It is a flowchart of step S24 of another embodiment of the map verification method provided by the present application;

[0023] Figure 5It is a structural schematic diagram of an embodiment of a map verification device provided by the present application;

[0024] Figure 6 It is a structural schematic diagram of an embodiment of a computer-readable storage medium provided by the present application. DETAILED DESCRIPTION

[0025] The present application is further described in detail below in conjunction with the accompanying drawings and examples. It is particularly noted that the following examples are only used to illustrate the present application, but are not intended to limit the scope of the present application. Similarly, the following examples are only some embodiments of the present application rather than all embodiments, and all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application.

[0026] Reference to "embodiments" in this application means that a particular feature, structure, or characteristic described in conjunction with the embodiments may be included in at least one embodiment of the present application. The appearance of the phrase in various locations in the specification does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment that is mutually exclusive with other embodiments. It is explicitly and implicitly understood by those skilled in the art that the embodiments described herein may be combined with other embodiments.

[0027] It should be noted that the terms "first", "second" and "third" in this application are only used for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Thus, the features defined as "first", "second" and "third" may explicitly or implicitly include at least one of the features. In the description of this application, the meaning of "multiple" is at least two, such as two, three, etc., unless otherwise clearly and specifically defined. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but optionally also includes steps or units that are not listed, or optionally also includes other steps or units inherent to these processes, methods, products or devices.

[0028] See also Figure 1 , Figure 1 : is a flowchart of an embodiment of a map verification method provided by the present application, the method comprising:

[0029] S11: Obtain index information of the map to be verified.

[0030] The map to be verified can be a map used in any application scenario, including but not limited to AGV (Automated Guided Vehicle), AMR (Autonomous Mobile Robot), intelligent storage robots, unmanned or intelligently driven cars, unmanned or intelligently driven aircraft, etc., which are not specifically limited here. In the above application scenarios, if the map is planned in advance to ensure that there are no problems with the map, the map can be used to realize the intelligence of various businesses such as intelligent mobility or intelligent driving. The map verification method embodiments of the present application can be applied to the map construction process to verify the rationality of the map in advance and improve the accuracy of subsequent map use; it can also be applied to the map use process to verify whether there are problems with the map, so as to quickly detect and correct map problems.

[0031] The map to be verified includes several nodes and several routes, and the nodes are connected to each other to form a route. The route can be a straight line or a curve. When the route is a straight line, the starting point and the end point of the route are both nodes. When the route is a curve, it can be a Bezier curve. For example, the route can be a third-order Bezier curve, and the route includes a starting point, an end point, and at least one control point between the starting point and the end point.

[0032] Get the index information of the map to be verified, which is any information used to verify whether the map is correct. The index information may include the location information of several nodes of the map to be verified and the node information of several routes, and the node information includes the location information of several key nodes. The starting point and the end point of the route must be nodes. When the route is a straight line, the several key nodes corresponding to the route include the starting point and the end point. Therefore, when the route is a straight line, the node information of the route is the location information of the two key nodes of the starting point and the end point of the straight line. When the route is a curve, the several key nodes corresponding to the route include the starting point, the end point, and at least one control point. Therefore, when the route is a curve, the node information of the route is the location information of the key nodes of the starting point, the end point, and at least one control point of the curve. The index information can be obtained from the cache database, and can be directly obtained during verification. The index information can also be obtained in real time by traversing the map to be verified.

[0033] S12: For each route, based on the location information of several nodes and the node information corresponding to the route, detect whether the route has any cross-points.

[0034] The span point is a node other than the key nodes corresponding to the route. When the number of map nodes increases, it is inevitable that there will be nodes on the line or within a certain range, but the node is not connected to the route, that is, the node has no connectivity on the route, resulting in the inability of the device using the map to be verified to reach the node. Such a node is a span point. Therefore, it is necessary to detect these span points and update them to the nodes of the route in the map to be verified, so as to verify and correct the map. In the case where the route is a straight line, the key nodes corresponding to the route include the starting point and the end point, so the span point is a node other than the starting point and the end point. In the case where the route is a curve, the key nodes corresponding to the route include the starting point, the end point, and at least one control point. Therefore, the span point is a node other than the starting point, the end point, and at least one control point. In the case where the route is a straight line, the route is a line segment, and one of the endpoints of the line segment is one of the starting point and the end point, and the other endpoint of the line segment is the other of the starting point and the end point. Similarly, in the case where the route is a curve, one of the two endpoints of the curve is one of the starting point and the end point, and the other endpoint of the line segment is the other of the starting point and the end point. If there is a cross-point in the route, the route will skip the cross-point and directly form a route between the two endpoints of the route, resulting in the route being unable to actually pass through or reach the cross-point, resulting in the cross-point being unable to form a route, that is, the cross-point is a node that has not been formed into a route. Because the map is composed of nodes and routes, therefore, based on the location information of several nodes and the node information corresponding to the route, it is possible to detect whether there is a cross-point in the route. If there is a cross-point in the route, it indicates that there is a problem with the map to be verified, and if there is no cross-point in each route, it indicates that there is no problem with the map to be verified. Therefore, if there is a cross-point in the route, the subsequent step S13 is executed to update the map to be verified. If there is no cross-point in each route, in response to the fact that there is no cross-point in each route, the map verification method of the present application is terminated, or the map verification method of the present application is terminated and the result that there is no problem with the map to be verified is output.

[0035] This application defines the line between the start and end nodes as a route. The route is correct when there are no other nodes between the start and end of the route. If there are other nodes between the start and end of the route, then the other nodes are spanning points. Of course, it is understandable that several routes can form one or more tracks. For a clear explanation of spanning points, please refer to Figure 2a-2c , Figure 2a-2c Schematic diagram of the cross-point of step S12 of an embodiment of the map verification method provided by the present application. Figure 2a and Figure 2b ,exist Figure 2a For the correct route, assuming Figure 2a Node 2 is a spanning point, then it becomes Figure 2b .exist Figure 2aIn the example, there is a route between node 1 and node 2, and the route can be from node 1 to node 2 or from node 2 to node 1; and there is a route between node 2 and node 3, and the route can be from node 2 to node 3 or from node 3 to node 2; the two routes between node 1 and node 3 form a trajectory, so that node 1 can reach node 2 and then reach node 3 from node 2, or vice versa, node 3 can reach node 2 and then reach node 1 from node 2. Figure 2b In the example, since node 2 is a cross-point, there will be no route between node 1 and node 2, and no route between node 2 and node 3. There is only a route between node 1 and node 3, so that node 1 and node 3 cannot reach node 2. Instead, node 1 skips node 2 and reaches node 3 directly, or node 3 skips node 2 and reaches node 1 directly. Therefore, it is necessary to detect whether there is a cross-point on the route between two nodes to avoid the device using the map to be checked from being unable to reach the cross-point. In addition, if Figure 2c As shown, since node 6 is a cross-point, node 6 cannot form a route, so the trajectory of nodes 4, nodes 5, and nodes 7 and the trajectory of nodes 8 and nodes 9 are independent of each other. The trajectory of nodes 4, nodes 5, and nodes 7 cannot be transferred from node 6 to the trajectory of nodes 8 and nodes 9, or the trajectory of nodes 8 and nodes 9 cannot be transferred from node 6 to the trajectory of nodes 4, nodes 6, and nodes 7. Therefore, it is necessary to detect whether there is a cross-point on the route between two nodes to avoid the situation where the device using the map to be checked cannot switch between different trajectories when the cross-point is a node where multiple trajectories intersect.

[0036] S13: In response to the existence of a cross-point in the route, the cross-point is updated to a node of the route in the map to be verified.

[0037] In response to the existence of a span point in the route, it indicates that the map to be verified misses the span point as a node of the route. Therefore, the span point is updated to a node of the route in the map to be verified, so as to update and correct the map to be verified. In response to the absence of a span point in the route, the route without the span point is determined to be the correct route. The correct route remains the same and does not need to be updated, which can speed up the image verification and reduce the number of verified routes. In response to the existence of a span point in the route, when the span point is updated to a node of the route in the map to be verified, all routes corresponding to the span point can be output in response to the existence of the span point in the route, and the span point can be updated to a node of the route in the map to be verified.

[0038] Through the above method, after obtaining the index information of the map to be verified, since the index information includes the location information of several nodes of the map to be verified and the node information of several routes, and the node information includes the location information of several key nodes, it is possible to detect whether there are cross-points in each route based on the location information of several nodes and the node information corresponding to the route. When it is detected that there are cross-points in the route, in response to the existence of the cross-points in the route, the cross-points are updated to the nodes of the route in the map to be verified. Since the cross-points are nodes other than the several key nodes corresponding to the route, it is possible to detect whether the nodes corresponding to the cross-points are omitted in the route. Through the cross-point detection, it is possible to detect whether the map misses nodes and update the map in time, thereby improving the efficiency of map verification.

[0039] See also Figure 3 , Figure 3 : is a flowchart of another embodiment of the map verification method provided by the present application, the method comprising:

[0040] S21: Obtain index information of the map to be verified.

[0041] The position information of several nodes includes the coordinate group of each coordinate axis, and the coordinate group includes the coordinate value of each node on the coordinate axis. In the case where the map to be verified is a three-dimensional image, the position information of several nodes includes the coordinate group of the X coordinate axis, the Y coordinate axis and the Z coordinate axis. In the case where the map to be verified is a two-dimensional image, the position information of several nodes includes the coordinate group of the X coordinate axis and the Y coordinate axis.

[0042] The coordinate grouping may also include a coordinate set corresponding to the coordinate axis, and the coordinate set corresponding to the coordinate axis includes the coordinate information of several nodes on the coordinate axis respectively, and the position information of several key nodes includes the coordinate values ​​of each key node on each coordinate axis. The coordinate set corresponding to the coordinate axis, for example, the coordinate set of the X coordinate axis is the coordinate value [x1, x2, x3...] of all nodes on the X coordinate axis, the coordinate set of the Y coordinate axis is the coordinate value [y1, y2, y3...] of all nodes on the Y coordinate axis, and the coordinate set of the Z coordinate axis is the coordinate value [z1, z2, z3...] of all nodes on the Z coordinate axis. By enumerating the coordinate values ​​of all nodes on each coordinate axis, and the coordinate values ​​on the same coordinate axis form the corresponding coordinate grouping, the coordinate value of the node on each coordinate axis can be clearly determined. Because the coordinate values ​​of different nodes on each coordinate axis may be the same, in one embodiment, after obtaining the coordinate information of several nodes on the coordinate axis respectively, the coordinate information is deduplicated to obtain the coordinate set corresponding to the coordinate axis, that is, the coordinate set corresponding to the coordinate axis is obtained after deduplicating the coordinate information of several nodes on the coordinate axis respectively. Taking the two-dimensional map to be verified as an example, there are three nodes (x1, y1), (x1, y2), and (x2, y3). Since the X coordinate values ​​of the two nodes (x1, y1) and (x1, y2) are the same, after deduplication, the coordinate values ​​on the X coordinate axis are [x1, x2] and the coordinate values ​​on the Y coordinate axis are [y1, y2, y3].

[0043] For other descriptions about step S21, please refer to the above S11, which will not be repeated here.

[0044] S22: For each route, use the route as an analysis line segment, or divide the route into a plurality of segments and use each segment as an analysis line segment.

[0045] Because the route includes multiple types of straight lines or curves, and the arc angle of the curve includes but is not limited to less than 90 degrees, greater than 90 degrees and less than 180 degrees, greater than 180 degrees and less than 360 degrees, etc., different processing methods can be used for different types of routes. In one embodiment, when the route is used as an analysis segment, or the route is divided into multiple segments, and each segment is used as an analysis segment, the route can be used as an analysis segment when the route is a straight line; when the route is a curve, the route is divided into multiple segments, and each segment is used as an analysis segment. When the route is divided into multiple segments, the curve can be divided based on a preset division accuracy. The division accuracy can be customized and is not specifically limited here, so when the route is divided into multiple segments, it can be divided into 10 segments, 5 segments, etc. The higher the number of segments, the higher the accuracy, but the performance consumption is relatively greater.

[0046] It can be understood that in other embodiments, for each route, the route can be used as an analysis segment instead of dividing the route into segments.

[0047] S23: Based on the position information of several key nodes corresponding to the route, the maximum coordinate value and the minimum coordinate value of the analysis line segment on each coordinate axis are obtained.

[0048] In the case where the route is a straight line, the key nodes corresponding to the route include a starting point and an end point. Therefore, when obtaining the maximum coordinate value and the minimum coordinate value of the analysis line segment on each coordinate axis based on the position information of the key nodes corresponding to the route, in the case where the route is a straight line, for each coordinate axis, the maximum coordinate value and the minimum coordinate value on the coordinate axis are selected from the coordinate values ​​of the starting point and the end point of the route on the coordinate axis. Taking each coordinate axis including the X-coordinate axis and the Y-coordinate axis as an example, in the case where the route is a vertical line parallel to the Y-coordinate axis, the X-coordinate values ​​of the starting point and the end point of the route are the same, so it is only necessary to obtain the maximum coordinate value and the minimum coordinate value of the route on the Y-coordinate axis; in the case where the route is a horizontal line parallel to the X-coordinate axis, the Y-coordinate values ​​of the starting point and the end point of the route are the same, so it is only necessary to obtain the maximum coordinate value and the minimum coordinate value of the route on the X-coordinate axis; in the case where the route is an oblique line, the X-coordinate axis and the Y-coordinate values ​​of the starting point and the end point of the route are different, and the maximum coordinate value and the minimum coordinate value on the X-coordinate axis and the maximum coordinate value and the minimum coordinate value on the Y-coordinate axis are respectively obtained.

[0049] In the case where the route is a curve, the key nodes corresponding to the route include a starting point, an end point, and at least one control point. Therefore, when obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis based on the position information of the key nodes corresponding to the route, when the route is a curve, the envelope rectangle of the analysis segment is obtained, and the maximum value and the minimum value of the envelope rectangle on each coordinate axis are used as the maximum coordinate value and the minimum coordinate value, respectively. Obtaining the envelope rectangle of the analysis segment can be various existing implementation methods, and the envelope rectangle can be used to obtain the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis. In other embodiments, when obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis based on the position information of the key nodes corresponding to the route, the coordinate values ​​of all nodes and control points on the analysis segment can also be directly obtained to obtain the maximum coordinate value and the minimum coordinate value on each coordinate axis.

[0050] When the route is a straight line, the route is a line segment, and one of the endpoints of the line segment is one of the starting point and the end point, and the other endpoint of the line segment is the other of the starting point and the end point. Therefore, the same line segment has routes in two directions. Similarly, when the route is a curve, one of the two endpoints of the curve is one of the starting point and the end point, and the other endpoint of the line segment is the other of the starting point and the end point. Therefore, the same curve also has routes in two directions. If there is a cross point on the line segment or curve that forms the route, the routes in both directions have cross points. Therefore, the route formed by the same line segment or curve only needs to be checked once. Therefore, in one embodiment, the index information also includes identification information of each historical segment, and the historical segment is the analysis segment that has been detected currently; before obtaining the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis based on the position information of several key nodes corresponding to the route, it can be determined whether the analysis segment overlaps with each historical segment based on the identification information of each historical segment; in response to the analysis segment not overlapping with each historical segment, the position information of several key nodes corresponding to the route is used to obtain the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis and subsequent steps, or in response to the analysis segment overlapping with the historical segment, the position information of several key nodes corresponding to the route is used to obtain the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis and subsequent steps are not performed on the analysis segment overlapping with the historical segment, thereby reducing the processing volume of route verification and improving verification efficiency.

[0051] S24: For each coordinate axis, detect from the coordinate set corresponding to the coordinate axis whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis segment.

[0052] Because the coordinate grouping in the index information includes a coordinate set corresponding to the coordinate axis, the coordinate set corresponding to the coordinate axis includes the coordinate information of several nodes on the coordinate axis, and the position information of several key nodes includes the coordinate value of each key node on each coordinate axis, it is possible to detect whether there is candidate coordinate information with a coordinate value between the maximum coordinate value and the minimum coordinate value of the analysis segment from the coordinate set corresponding to the coordinate axis for each coordinate axis. Detect whether there is candidate coordinate information with a coordinate value between the maximum coordinate value and the minimum coordinate value of the analysis segment; in response to the absence of candidate coordinate information on each coordinate axis, determine that there is no cross point on the analysis segment; and / or, execute the following step S25, in response to the existence of candidate coordinate information on any coordinate axis, use the coordinate axis with the candidate coordinate information as the target coordinate axis. As in step S21, the coordinate set of the X-axis is the coordinate values ​​[x1, x2, x3...] of all nodes on the X-axis, and as in step S23, the maximum coordinate value and the minimum coordinate value on the X-axis are obtained, then for the X-axis, candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value on the X-axis can be obtained from [x1, x2, x3...]. The candidate coordinate information of other coordinate axes is similar and will not be repeated here.

[0053] Taking the example that each coordinate axis includes an X-coordinate axis and a Y-coordinate axis, in the case where the route is a vertical line parallel to the Y-coordinate axis, the X-coordinate values ​​of the starting point and the end point of the route are the same, so it is only necessary to obtain the maximum coordinate value and the minimum coordinate value of the route on the Y-coordinate axis, and then detect whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value on the Y-coordinate axis from the coordinate set corresponding to the Y-coordinate axis. In the case where the route is a horizontal line parallel to the X-coordinate axis, the Y-coordinate values ​​of the starting point and the end point of the route are the same, so it is only necessary to obtain the maximum coordinate value and the minimum coordinate value of the route on the X-coordinate axis, and then detect whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value on the X-coordinate axis from the coordinate set corresponding to the X-coordinate axis. When the route is a diagonal line, the X-axis and Y-axis values ​​of the starting point and the end point of the route are different, then the maximum coordinate value and the minimum coordinate value on the X-axis and the maximum coordinate value and the minimum coordinate value on the Y-axis are obtained respectively, and then, from the coordinate set corresponding to the X-axis, it is detected whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value on the X-axis, and from the coordinate set corresponding to the Y-axis, it is detected whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value on the Y-axis.

[0054] In one embodiment, the coordinate information of the plurality of nodes on the coordinate axis includes the coordinate values ​​and serial numbers of the plurality of nodes on the coordinate axis, and the serial numbers represent the order of the coordinate values ​​of the nodes on the coordinate axis among the plurality of nodes. Figure 4 , Figure 4: is a flowchart of step S24 of another embodiment of the map verification method provided by the present application. The execution of step S24 may include the following steps:

[0055] S241: From the coordinate set corresponding to the coordinate axis, find the serial numbers corresponding to the maximum coordinate value and the minimum coordinate value of the analysis line segment, respectively, as the maximum serial number and the minimum serial number.

[0056] For each coordinate axis, it is detected from the coordinate set corresponding to the coordinate axis whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis segment.

[0057] Since the coordinate information of several nodes on the coordinate axis includes the coordinate values ​​and serial numbers of the several nodes on the coordinate axis, and the serial number represents the order of the coordinate values ​​of the node on the coordinate axis among the several nodes, the serial numbers corresponding to the maximum coordinate value and the minimum coordinate value of the analysis segment can be found from the coordinate set corresponding to the coordinate axis as the maximum serial number and the minimum serial number.

[0058] S242: In response to the sequence number difference between the maximum sequence number and the minimum sequence number being greater than 1, determining that candidate coordinate information exists for the coordinate axis.

[0059] Since the serial number represents the order of the coordinate values ​​of the nodes on the coordinate axis among several nodes, the largest serial number corresponds to the largest coordinate value, and the smallest serial number corresponds to the smallest coordinate value. If the serial number difference between the largest serial number and the smallest serial number is greater than 1, it indicates that there are other coordinate values ​​between the maximum coordinate value and the minimum coordinate value, thereby determining that the corresponding coordinate axis has candidate coordinate information.

[0060] S243: In response to the sequence number difference being not greater than 1, determining that no candidate coordinate information exists for the coordinate axis.

[0061] Since the serial number represents the order of the coordinate values ​​of the nodes on the coordinate axis among several nodes, the largest serial number corresponds to the largest coordinate value, and the smallest serial number corresponds to the smallest coordinate value. If the serial number difference between the largest serial number and the smallest serial number is not greater than 1, it indicates that there are no other coordinate values ​​between the largest coordinate value and the smallest coordinate value, thereby determining that there is no candidate coordinate information for the corresponding coordinate axis.

[0062] For S242 and S243, take the route as a vertical line as an example, and the vertical line includes three nodes, whose coordinate values ​​are (x1, y1), (x1, y2), (x1, y3) respectively, and y1 is smaller than y2 and smaller than y3, then the coordinate set corresponding to the X coordinate axis is [x1] and the sequence number of x1 is 1, and the coordinate set corresponding to the Y coordinate axis is [y1, y2, y3] and the sequences of y1, y2, y3 are 1, 2, 3 respectively. If the starting point of the route is (x1, y1) and the end point is (x1, y3), then for the X coordinate axis, since the X coordinate values ​​of the starting point and the end point of the route are the same and the corresponding sequences are also the same, the sequence number difference is 0, and it is determined that there is no candidate coordinate information for the X coordinate axis; for the Y coordinate axis, it is necessary to obtain the maximum coordinate value y3 and the minimum coordinate value y1 of the route on the Y coordinate axis, and then from the coordinate set [y1, y2, y3] corresponding to the Y coordinate axis, check whether there is a maximum coordinate value y3 with a coordinate value on the Y coordinate axis. When candidate coordinate information is found between the maximum coordinate value y3 and the minimum coordinate value y1, from the coordinate set [y1, y2, y3] corresponding to the coordinate axis, the serial numbers 3 and 1 corresponding to the maximum coordinate value y3 and the minimum coordinate value y1 on the vertical line Y coordinate axis are searched, and the maximum serial number and the minimum serial number are taken as the maximum serial number and the minimum serial number, that is, the maximum serial number is 3 and the minimum serial number is 1, so that the serial number difference between the maximum serial number 3 and the minimum serial number 1 is 2. In response to the serial number difference between the maximum serial number and the minimum serial number being greater than 1, it is determined that the coordinate axis has candidate coordinate information y2. When the route is a horizontal line, it is similar to the vertical line, except that the X-axis and the Y-axis are swapped; when the route is an oblique line or a curve, unlike the vertical line, the X-axis of the oblique line or the curve is processed like the Y-axis of the vertical line, so that it is necessary to respond to the difference between the maximum and minimum numbers of the X-axis and the Y-axis being greater than 1, determine that the coordinate axis has candidate coordinate information, and respond to the difference between the maximum and minimum numbers of the X-axis and the Y-axis being less than 1, determine that the coordinate axis does not have candidate coordinate information.

[0063] Therefore, the coordinate information of several nodes on the coordinate axis includes the coordinate values ​​and serial numbers of several nodes on the coordinate axis, and the serial number represents the order of the coordinate values ​​of the nodes on the coordinate axis among several nodes; from the coordinate set corresponding to the coordinate axis, detecting whether there is candidate coordinate information with a coordinate value between the maximum coordinate value and the minimum coordinate value of the analysis segment, including: from the coordinate set corresponding to the coordinate axis, finding the serial numbers corresponding to the maximum coordinate value and the minimum coordinate value of the analysis segment, as the maximum serial number and the minimum serial number; in response to the serial number difference between the maximum serial number and the minimum serial number being greater than 1, determining that the coordinate axis has candidate coordinate information; in response to the serial number difference being not greater than 1, determining that the coordinate axis does not have candidate coordinate information. Determining whether there is candidate coordinate information by judging the serial number difference can determine candidate coordinate information that may be a cross-point in a simple manner.

[0064] S25: In response to the existence of candidate coordinate information for any coordinate axis, the coordinate axis for which the candidate coordinate information exists is used as a target coordinate axis.

[0065] If there is candidate coordinate information for a coordinate axis, it indicates that the node corresponding to the candidate coordinate information may be a cross point. Therefore, in response to the existence of candidate coordinate information for any coordinate axis, the coordinate axis with the candidate coordinate information is used as the target coordinate axis.

[0066] S26: Filter out at least one candidate node corresponding to each target coordinate axis from the plurality of nodes.

[0067] The target coordinate axis is a coordinate axis where a candidate node exists, and the candidate node is a node whose coordinate value on the target coordinate axis is between a maximum coordinate value and a minimum coordinate value.

[0068] For each coordinate axis, from the coordinate set corresponding to the coordinate axis, detect whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis segment. In response to the existence of candidate coordinate information for any coordinate axis, the coordinate axis with the candidate coordinate information is taken as the target coordinate axis, and for each target coordinate axis, the nodes whose coordinate values ​​are between the maximum coordinate value and the minimum coordinate value of each target coordinate axis are taken as candidate nodes. Taking the coordinate axis including the X coordinate axis and the Y coordinate axis as an example, when the route is a vertical line, the target coordinate axis is the Y coordinate axis; when the route is a horizontal line, the target coordinate axis is the X coordinate axis; when the route is an oblique line or a curve, the target coordinate axes are the X coordinate axis and the Y coordinate axis.

[0069] S27: Searching whether there is a cross point from at least one candidate node corresponding to each target coordinate axis.

[0070] When searching for a spanning point from at least one candidate node corresponding to each target coordinate axis, if the route is a straight line, the candidate node whose distance to the straight line is less than or equal to the distance threshold can be used as the spanning point; if the route is a curve, the candidate node whose distance to the vertex of the curve is less than or equal to the distance threshold can be used as the spanning point. The size of the distance threshold can be set as needed, and the distance threshold can be 0 or greater than 0. For example, the distance threshold is 0, 8mm, 10mm, etc., which are not specifically limited here. The smaller the distance threshold, the higher the requirement for the spanning point, and the higher the detection accuracy of the map to be inspected. In one embodiment, the distance threshold can be read from the index information to obtain a pre-set distance threshold, and a better distance threshold can be selected based on previous experience in setting the distance threshold.

[0071] The method for obtaining the vertices of the curve can refer to the prior art and is not specifically limited here. Take the case where the curve is a third-order Bezier curve, and the curve includes a starting point, an end point, and two control points between the starting point and the end point. The vertex is calculated as follows:

[0072] export function cubicAt(p0, p1, p2, p3, t)

[0073] {

[0074] const onet=1-t;

[0075] return onet*onet*(onet*p0+3*t*p1)+t*t*(t*p3+3*onet*p2);

[0076] }

[0077] Among them, p0 is the coordinate value of the starting point of the curve, p1 is the coordinate value of the first control point of the curve, p2 is the coordinate value of the second control point of the curve, p3 is the coordinate value of the end point of the curve, and t is the accuracy of the curve division.

[0078] Regarding step S26 and step S27, another embodiment is described as follows:

[0079] The coordinate grouping includes associated coordinate groups corresponding to each existing coordinate value on the coordinate axis, each existing coordinate value is a different coordinate value of a number of nodes on the coordinate axis, and the associated coordinate group corresponding to the existing coordinate value includes coordinate subgroups corresponding to each associated node of the existing coordinate value, each associated node of the existing coordinate value is each node whose coordinate value on the coordinate axis is the existing coordinate value, and the coordinate subgroup includes the coordinate value of the associated node on each other coordinate axis. Taking the coordinate axis of the two-dimensional image to be verified including the X coordinate axis and the Y coordinate axis as an example, the associated coordinate group of the X coordinate axis is {x1:[y1,y2,y3],x2:[y4,y5]}, and x1:[y1,y2,y3] and x2:[y4,y5] are coordinate subgroups, and the associated coordinate group of the Y coordinate axis is {y1:[x1,x2,x3],y2:[x4,x5]}, and y1:[x1,x2,x3] and y2:[x4,x5] are coordinate subgroups. When the image is to be verified, the associated coordinate group of the X coordinate axis is {x1:[y1,y2,y3]:[z1,z2,z3],x2:[y4,y5]:[z1,z2]}, and the associated coordinate group of the Y coordinate axis and the associated coordinate group of the Z coordinate axis are the same.

[0080] In step S26, when at least one candidate node corresponding to each target coordinate axis is respectively selected from a number of nodes, an associated coordinate group corresponding to each intermediate coordinate value can be obtained from the coordinate grouping of the target coordinate axis, wherein the intermediate coordinate value is an existing coordinate value between the maximum coordinate value and the minimum coordinate value of the target coordinate axis, and each associated node corresponding to each intermediate coordinate value is respectively used as a candidate node, and each coordinate sub-group in the associated coordinate group corresponding to the intermediate coordinate value represents the coordinate value of each candidate node on each coordinate axis.

[0081] In step S27, when searching for a cross point from at least one candidate node corresponding to each target coordinate axis, for each intermediate coordinate value of each target coordinate axis, based on the associated coordinate group corresponding to the intermediate coordinate value, from each candidate node corresponding to the intermediate coordinate value, search for a candidate node whose distance to the analysis segment is less than or equal to a distance threshold, as the cross point.

[0082] Each coordinate axis includes an X coordinate axis and a Y coordinate axis, and the associated coordinate group corresponding to the intermediate coordinate value includes: the associated coordinate values ​​corresponding to each candidate node of the intermediate coordinate value, the intermediate coordinate value corresponding to the X coordinate axis is the intermediate X coordinate value, and the corresponding associated coordinate value is the associated Y coordinate value, and the intermediate coordinate value corresponding to the Y coordinate axis is the intermediate Y coordinate value, and the corresponding associated coordinate value is the associated X coordinate value. Based on this, based on the associated coordinate group corresponding to the intermediate coordinate value, from each candidate node corresponding to the intermediate coordinate value, a candidate node whose distance to the analysis line segment is less than or equal to a distance threshold is found as a span point, including at least one of the following steps:

[0083] In the case where the route is a vertical line parallel to the Y coordinate axis, in response to the Y coordinate axis being the target coordinate axis, an associated X coordinate value whose difference with the line segment X coordinate value is less than a first distance threshold is found from the associated X coordinate values ​​corresponding to the candidate nodes of the intermediate Y coordinate value, and the candidate node corresponding to the found associated X coordinate value is used as the span point, wherein the line segment X coordinate value is the coordinate value of the vertical line on the X coordinate axis.

[0084] In the case where the route is a horizontal line parallel to the X-coordinate axis, in response to the X-coordinate axis being the target coordinate axis, an associated Y-coordinate value whose difference with the Y-coordinate value of the line segment is less than a second distance threshold is found from the associated Y-coordinate values ​​corresponding to the candidate nodes of the intermediate X-coordinate value, and the candidate node corresponding to the found associated Y-coordinate value is used as the cross-point, wherein the Y-coordinate value of the line segment is the coordinate value of the horizontal line on the Y-coordinate axis.

[0085] In the case where the route is a diagonal line, a linear equation corresponding to the route is determined based on the coordinate information of at least two key nodes corresponding to the route, wherein one of the independent variable and the dependent variable of the linear equation represents the X coordinate value and the other represents the Y coordinate value; for at least some candidate nodes of the intermediate coordinate value, one of the intermediate coordinate value and the associated coordinate value corresponding to the candidate node is used as the first coordinate value and the other as the second coordinate value, the first coordinate value is substituted into the linear equation to obtain a calculation result, and in response to the difference between the calculation result and the second coordinate value being less than a third distance threshold, the candidate node is used as a span point. When one of the intermediate coordinate value and the associated coordinate value corresponding to the candidate node is used as the first coordinate value and the other as the second coordinate value, taking the X coordinate axis and the Y coordinate axis as an example, the Y coordinate value can be calculated using the X coordinate, or the X coordinate axis can be calculated using the Y coordinate value. The linear equation is y=kx+b, and then when the linear equation corresponding to the route is determined based on the coordinate information of at least two key nodes corresponding to the route, the linear equation corresponding to the route is determined based on the coordinate information of the starting point and the end point corresponding to the route, that is, the k value and the b value are calculated through the coordinate information of the starting point and the end point.

[0086] When the route is a curve, the vertex of the analysis segment is determined; and from at least part of the candidate nodes with intermediate coordinate values, a candidate node whose distance to the vertex is less than a fourth distance threshold is searched as a cross-point.

[0087] The sizes of the first distance threshold to the fourth distance threshold mentioned above can be the same or different. And the sizes of the first distance threshold to the fourth distance threshold can be set as needed, and can be 0 or greater than 0. For example, the first distance threshold to the fourth distance threshold are 0, 8mm, 10mm, etc., which are not specifically limited here. The smaller the first distance threshold to the fourth distance threshold, the higher the requirement for the span point, and the higher the detection accuracy of the map to be inspected. In one embodiment, the first distance threshold to the fourth distance threshold can be read from the index information, so as to obtain a pre-set distance threshold, and a better distance threshold can be selected based on the experience of previous distance threshold setting.

[0088] The above-mentioned spanning point can be obtained by screening from the candidate nodes corresponding to the intermediate coordinate values ​​by using the dichotomy method. For the specific description of the dichotomy method, please refer to the prior art: given the accuracy ξ (that is, the above-mentioned distance threshold, the first distance threshold to the fourth distance threshold of the present application), the steps of using the dichotomy method to find the zero point approximation of the function f(x) (that is, the spanning point of the present application) are as follows: the first step is to determine the interval [a, b] (that is, the maximum coordinate value and the minimum coordinate value corresponding to the present application), verify that f(a)·f(b)<0, given the accuracy ξ; the second step is to find the midpoint c of the interval (a, b) (that is, the coordinate value in the application at the maximum coordinate The coordinate value of the candidate node between the marked value and the minimum coordinate value); the third step is to calculate f(c), then (1) if f(c) = 0, then c is the zero point of the function (that is, the span point of this application), or (2) if f(a)·f(c)<0, then let b=c, or (3) if f(c)·f(b)<0, then let a=c, and determine whether the accuracy ξ is achieved: that is, if |ab|<ξ, then the zero point approximation a (or b) (that is, the span point of this application) is obtained, otherwise repeat the above steps.

[0089] In one embodiment, when the route is a curve, in order to improve the accuracy of the curve crossing point detection, in response to the candidate nodes corresponding to the intermediate coordinate values ​​not belonging to the crossing point corresponding to the analysis segment, the two candidate nodes closest to the vertex are found from the candidate nodes corresponding to the intermediate coordinate values ​​as two reference nodes; in response to the distance between the two reference nodes meeting the preset condition, the intermediate node of the two reference nodes is used as a new candidate node, and the step of finding a candidate node whose distance from the vertex is less than the fourth distance threshold as the crossing point is re-executed until the distance between the two reference nodes does not meet the preset condition. The preset condition is that the distance between the two reference nodes is greater than 0.01, 0.02 or other set values, and / or the distance between the two reference nodes becomes smaller, so that when the distance between the two reference nodes does not meet the preset condition, the process ends. In this way, the accuracy of the curve crossing point detection can be further improved.

[0090] For other instructions on span, see Figure 1 The illustrated embodiments will not be described in detail here.

[0091] S28: In response to the existence of a cross-point in the route, the cross-point is updated to a node of the route in the map to be verified.

[0092] For the description of step S28, please refer to the above step S13, which will not be repeated here.

[0093] Through the above method, when detecting whether there is a cross-point on the route based on the location information of several nodes and the node information corresponding to the route, the route can be used as an analysis segment, or the route can be divided into multiple segments, and each segment can be used as an analysis segment; based on the location information of several key nodes corresponding to the route, the maximum coordinate value and the minimum coordinate value of the analysis segment on each coordinate axis are obtained; from the several nodes, at least one candidate node corresponding to each target coordinate axis is selected, wherein the target coordinate axis is the coordinate axis where the candidate node exists, and the candidate node is a node whose coordinate value on the target coordinate axis is between the maximum coordinate value and the minimum coordinate value; from at least one candidate node corresponding to each target coordinate axis, find out whether there is a cross-point, so that it can be determined whether there is a cross-point through the distribution of coordinate values. Furthermore, before selecting at least one candidate node corresponding to each target coordinate axis from a number of nodes, for each coordinate axis, from the coordinate set corresponding to the coordinate axis, it is detected whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis segment; in response to the absence of candidate coordinate information on each coordinate axis, it is determined that there is no cross point in the analysis segment; and / or, in response to the presence of candidate coordinate information on any coordinate axis, the coordinate axis with the candidate coordinate information is used as the target coordinate axis. Therefore, the coordinate set corresponding to the coordinate axis can be used to detect whether there is candidate coordinate information, and then determine the target coordinate axis where the cross point may exist.

[0094] In any of the above embodiments, the index information may also include a node number and a node name of each node, wherein the node number and the node name are two different types of marks, which are used to uniquely identify the node. For example, the node number is a preset number of digits. Based on this, in response to the existence of a cross-point in the route, when the cross-point is updated to a node of the route in the map to be verified, based on the node number and the node name, the cross-point is updated to a node of the route in the map to be verified, so that when the map to be verified is updated, the cross-point can be quickly located.

[0095] The above embodiments can be combined as needed, or some processes in the embodiments can be replaced, which will not be described in detail here.

[0096] See also Figure 5 , Figure 5 It is a structural diagram of an embodiment of a map verification device provided in the present application. The map verification device 50 includes a memory 51 and a processor 52 connected to each other, wherein the memory 51 is used to store a computer program. When the computer program is executed by the processor 52, it is used to implement the map verification method in the above embodiment.

[0097] See also Figure 6 , Figure 6It is a structural diagram of an embodiment of a computer-readable storage medium provided in the present application. The computer-readable storage medium 60 is used to store a computer program 61. When the computer program 61 is executed by a processor, it is used to implement the map verification method in the above embodiment.

[0098] The computer-readable storage medium 60 may be a server, a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc., which may store program codes.

[0099] In the several embodiments provided in this application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device implementation described above is only illustrative, for example, the division of modules or units is only a logical function division, and there may be other division methods in actual implementation, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.

[0100] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.

[0101] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0102] The above are merely embodiments of the present application and are not intended to limit the patent scope of the present application. Any equivalent structure or equivalent process transformation made using the contents of the present application specification and drawings, or directly or indirectly applied in other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A map verification method, characterized in that: The method comprises: Acquire index information of the map to be verified, wherein the index information includes location information of several nodes of the map to be verified and node information of several routes, wherein the node information includes location information of several key nodes; For each of the routes, based on the location information of the several nodes and the node information corresponding to the route, detecting whether the route has a cross-point, wherein the cross-point is the node other than the several key nodes corresponding to the route; In response to the existence of the cross-point in the route, the cross-point is updated to a node of the route in the map to be verified.

2. The map verification method according to claim 1, characterized in that: The position information of the plurality of nodes includes a coordinate group of each coordinate axis, and the coordinate group includes a coordinate value of each node on the coordinate axis; The detecting whether the route has a cross-point based on the location information of the plurality of nodes and the node information corresponding to the route includes: Using the route as an analysis line segment, or dividing the route into a plurality of segments, and using each of the segments as an analysis line segment; Based on the position information of the key nodes corresponding to the route, obtaining the maximum coordinate value and the minimum coordinate value of the analysis line segment on each of the coordinate axes; At least one candidate node corresponding to each target coordinate axis is respectively selected from the plurality of nodes, wherein the target coordinate axis is a coordinate axis where a candidate node exists, and the candidate node is a node whose coordinate value on the target coordinate axis is between the maximum coordinate value and the minimum coordinate value; From at least one candidate node corresponding to each of the target coordinate axes, find out whether the span point exists.

3. The map verification method according to claim 2, characterized in that: The coordinate grouping includes a coordinate set corresponding to the coordinate axis, the coordinate set corresponding to the coordinate axis includes coordinate information of the plurality of nodes on the coordinate axis respectively, and the position information of the plurality of key nodes includes coordinate values ​​of each of the key nodes on each of the coordinate axes; Before selecting at least one candidate node corresponding to each target coordinate axis from the plurality of nodes, the method further includes: For each of the coordinate axes, detecting whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis line segment from the coordinate set corresponding to the coordinate axis; In response to the absence of the candidate coordinate information on each of the coordinate axes, determining that the analysis line segment does not have the cross point; and / or, In response to the existence of the candidate coordinate information on any of the coordinate axes, the coordinate axis on which the candidate coordinate information exists is used as a target coordinate axis.

4. The map verification method according to claim 3, characterized in that: The coordinate set corresponding to the coordinate axis is obtained by removing duplicate coordinate information of the plurality of nodes on the coordinate axis; And / or, the coordinate information of the plurality of nodes on the coordinate axis respectively includes the coordinate values ​​and serial numbers of the plurality of nodes on the coordinate axis respectively, and the serial numbers represent the order of the coordinate values ​​of the nodes on the coordinate axis among the plurality of nodes; The detecting whether there is candidate coordinate information whose coordinate value is between the maximum coordinate value and the minimum coordinate value of the analysis line segment from the coordinate set corresponding to the coordinate axis includes: From the coordinate set corresponding to the coordinate axis, searching for the serial numbers corresponding to the maximum coordinate value and the minimum coordinate value of the analysis line segment, respectively, as the maximum serial number and the minimum serial number; In response to a sequence number difference between the maximum sequence number and the minimum sequence number being greater than 1, determining that the candidate coordinate information exists on the coordinate axis; In response to the sequence number difference being not greater than 1, it is determined that the candidate coordinate information does not exist on the coordinate axis.

5. The map verification method according to any one of claims 2 to 4, characterized in that: The coordinate grouping includes associated coordinate groups corresponding to the existing coordinate values ​​on the coordinate axis, each of which is a different coordinate value of the plurality of nodes on the coordinate axis; the associated coordinate groups corresponding to the existing coordinate values ​​include coordinate subgroups corresponding to the associated nodes of the existing coordinate values, each associated node of the existing coordinate value is a node whose coordinate value on the coordinate axis is the existing coordinate value; and the coordinate subgroups include the coordinate values ​​of the associated nodes on other coordinate axes; The step of selecting at least one candidate node corresponding to each target coordinate axis from the plurality of nodes comprises: From the coordinate grouping of the target coordinate axis, the associated coordinate group corresponding to each intermediate coordinate value is obtained, wherein the intermediate coordinate value is the existing coordinate value between the maximum coordinate value and the minimum coordinate value of the target coordinate axis, each associated node corresponding to each intermediate coordinate value is respectively used as a candidate node, and each coordinate subgroup in the associated coordinate group corresponding to the intermediate coordinate value represents the coordinate value of each candidate node on each coordinate axis; The searching whether the span point exists from at least one candidate node corresponding to each of the target coordinate axes includes: For each of the intermediate coordinate values ​​of each of the target coordinate axes, based on the associated coordinate group corresponding to the intermediate coordinate value, a candidate node whose distance to the analysis line segment is less than or equal to a distance threshold is searched from among the candidate nodes corresponding to the intermediate coordinate value as the cross point.

6. The map verification method according to claim 5, characterized in that: The coordinate axes include an X coordinate axis and a Y coordinate axis, and the associated coordinate group corresponding to the intermediate coordinate value includes: associated coordinate values ​​corresponding to each candidate node of the intermediate coordinate value, the intermediate coordinate value corresponding to the X coordinate axis is the intermediate X coordinate value, the corresponding associated coordinate value is the associated Y coordinate value, and the intermediate coordinate value corresponding to the Y coordinate axis is the intermediate Y coordinate value, the corresponding associated coordinate value is the associated X coordinate value; The step of searching, based on the associated coordinate group corresponding to the intermediate coordinate value, for a candidate node whose distance to the analysis line segment is less than or equal to a distance threshold from each candidate node corresponding to the intermediate coordinate value as the cross-point comprises at least one of the following steps: In the case where the route is a vertical line parallel to the Y coordinate axis, in response to the Y coordinate axis being the target coordinate axis, searching for the associated X coordinate value whose difference with the line segment X coordinate value is less than a first distance threshold from the associated X coordinate values ​​corresponding to the candidate nodes of the intermediate Y coordinate value, and using the candidate node corresponding to the searched associated X coordinate value as the crossover point, wherein the line segment X coordinate value is the coordinate value of the vertical line on the X coordinate axis; In the case where the route is a horizontal line parallel to the X-coordinate axis, in response to the X-coordinate axis being the target coordinate axis, searching for the associated Y-coordinate value whose difference with the line segment Y-coordinate value is less than a second distance threshold from the associated Y-coordinate values ​​corresponding to the candidate nodes of the intermediate X-coordinate value, and using the candidate node corresponding to the searched associated Y-coordinate value as the cross-point, wherein the line segment Y-coordinate value is the coordinate value of the horizontal line on the Y-coordinate axis; In the case where the route is a diagonal line, a linear equation corresponding to the route is determined based on coordinate information of at least two key nodes corresponding to the route, wherein one of the independent variable and the dependent variable of the linear equation represents an X coordinate value and the other represents a Y coordinate value; for at least some candidate nodes of the intermediate coordinate value, one of the intermediate coordinate value and the associated coordinate value corresponding to the candidate node is used as a first coordinate value and the other as a second coordinate value, the first coordinate value is substituted into the linear equation to obtain a calculation result, and in response to a difference between the calculation result and the second coordinate value being less than a third distance threshold, the candidate node is used as the cross point; In the case where the route is a curve, the vertex of the analysis segment is determined; and from at least part of the candidate nodes of the intermediate coordinate values, the candidate nodes whose distance to the vertex is less than a fourth distance threshold are searched as the cross-points.

7. The map verification method according to claim 6, characterized in that: In the case where the route is a curve, the method further includes: In response to the fact that the candidate nodes corresponding to the intermediate coordinate values ​​do not belong to the span point corresponding to the analysis line segment, two candidate nodes closest to the vertex are found from the candidate nodes corresponding to the intermediate coordinate values ​​as two reference nodes; In response to the distance between the two reference nodes satisfying a preset condition, the middle node of the two reference nodes is taken as a new candidate node, and the step of finding the candidate node whose distance to the vertex is less than a fourth distance threshold as the cross-point step is re-executed until the distance between the two reference nodes does not satisfy the preset condition.

8. The map verification method according to claim 5, characterized in that: The spanning point is obtained by screening from each candidate node corresponding to the intermediate coordinate value using a binary search method; And / or, the distance threshold is read from the index information.

9. The method according to claim 2, characterized in that: When the route is a straight line, the key nodes corresponding to the route include a starting point and an end point; when the route is a curve, the key nodes corresponding to the route include a starting point, an end point, and at least one control point; The step of using the route as an analysis line segment, or dividing the route into a plurality of segments and using each of the segments as an analysis line segment, includes: In the case where the route is a straight line, the route is used as an analysis line segment; In the case where the route is a curve, the route is divided into a plurality of segments, and each of the segments is used as an analysis line segment; The obtaining, based on the position information of the key nodes corresponding to the route, the maximum coordinate value and the minimum coordinate value of the analysis line segment on each of the coordinate axes comprises: When the route is a straight line, for each of the coordinate axes, the maximum coordinate value and the minimum coordinate value on the coordinate axis are selected from the coordinate values ​​of the starting point and the end point of the route on the coordinate axis; In the case where the route is a curve, an envelope rectangle of the analysis segment is obtained, and the maximum value and the minimum value on each coordinate axis of the envelope rectangle are used as the maximum coordinate value and the minimum coordinate value, respectively.

10. The method according to claim 2, characterized in that The index information also includes identification information of each historical line segment, where the historical line segment is an analysis line segment that has been currently detected; Before obtaining the maximum coordinate value and the minimum coordinate value of the analysis line segment on each of the coordinate axes based on the position information of the key nodes corresponding to the route, the method further includes: Based on the identification information of each of the historical line segments, determining whether the analysis line segment overlaps with each of the historical line segments; In response to the fact that the analysis line segment does not overlap with any of the historical line segments, the steps of obtaining the maximum coordinate value and the minimum coordinate value of the analysis line segment on each of the coordinate axes based on the position information of the key nodes corresponding to the route and subsequent steps are performed.

11. A map verification device, characterized in that: It comprises a memory and a processor connected to each other, wherein the memory is used to store a computer program, and when the computer program is executed by the processor, it is used to implement the map verification method according to any one of claims 1 to 10.

12. A computer-readable storage medium for storing a computer program, characterized in that: When the computer program is executed by a processor, it is used to implement the map verification method according to any one of claims 1 to 10.