Map data processing method and device, equipment, storage medium and program product

By constructing an objective function to adjust the vertex parameters of building surfaces and using trajectory data to generate road surfaces, the spatial conflict between building surfaces and road networks in the map is resolved, improving the accuracy and reliability of navigation paths and reducing human intervention.

CN122199861APending Publication Date: 2026-06-12NAVINFO

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NAVINFO
Filing Date
2026-04-15
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

In existing technologies, addressing spatial conflicts between building surfaces and road networks in maps relies on manual verification and editing, which is inefficient and costly, affecting the accuracy of map data and navigation usability.

Method used

By constructing an objective function with the vertex movement parameters of the building surface as variables, including overlap penalty and movement penalty, the objective function is solved to adjust the building surface. The road surface is generated using trajectory data, which reduces the amount of computation and improves the accuracy, and reduces the intervention on the building surface.

🎯Benefits of technology

It significantly improves the accuracy and reliability of navigation route planning, reduces reliance on manual verification and editing, and ensures the logical consistency of map data and the geometric authenticity of buildings.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122199861A_ABST
    Figure CN122199861A_ABST
Patent Text Reader

Abstract

The application provides a map data processing method, device, equipment, storage medium and program product. The method comprises the following steps: acquiring a road surface and a building surface in a map, constructing a target function with a vertex movement parameter of the building surface as a variable, and solving the target function and adjusting the building surface by taking minimization of an overlap penalty and a movement penalty as a target. The overlap penalty can represent an overlapping area of the road surface and the building surface, and the movement penalty can represent a change degree of the building surface. By solving the target function, a complex spatial conflict problem can be converted into a quantifiable mathematical optimization problem. By considering the deformation distortion and other problems that may be caused by adjusting the building surface, an adjustment scheme that can eliminate the spatial conflict of the map and minimally damage the geometric reality of the building is obtained by iterative solving. The navigation map data with strong spatial relationship coordination and logical consistency is output, the dependence on manual checking and editing is reduced, and the accuracy and reliability of navigation path planning are significantly improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of map processing technology, and in particular to a map data processing method, apparatus, device, storage medium, and program product. Background Technology

[0002] In the fields of autonomous driving and map navigation, the consistency of the spatial relationship between building surfaces and road networks is fundamental to ensuring accurate route planning. If there is a spatial conflict between building surfaces and road networks on the map (e.g., building surfaces encroaching on road surfaces), the navigation system may misjudge the existence of obstacles, leading to the interruption of route planning.

[0003] Currently, spatial conflicts such as building encroachment on road networks in maps are mainly corrected through manual verification and editing, which is inefficient and costly, seriously affecting the accuracy of map data and navigation usability. Summary of the Invention

[0004] This application provides a map data processing method, apparatus, device, storage medium, and program product to correct spatial conflicts between building surfaces and roads in a map.

[0005] In a first aspect, embodiments of this application provide a map data processing method, including:

[0006] Obtain road and building surfaces in the map. Road and building surfaces overlap in a two-dimensional plane. A building surface contains multiple vertices and edges connecting adjacent vertices.

[0007] Using the vertex movement parameters of the building surface as variables, an objective function is constructed. The objective function includes an overlap penalty that represents the area of ​​the overlapping region and a movement penalty that represents the degree of change of the building surface.

[0008] The objective function is solved to minimize the overlap penalty and the movement penalty, and the building surface is adjusted according to the solution results.

[0009] In some possible implementations, the objective function is solved, including:

[0010] Candidate movement directions are determined based on the positional relationship between the overlapping area and the building surface;

[0011] For each candidate movement direction, move the vertices of the building surface according to the preset movement strategy step by step and calculate the penalty value of the objective function after each time step. Solve for the candidate vertex movement parameters with the minimum penalty value under the current candidate movement direction.

[0012] From the candidate vertex movement parameters corresponding to each candidate movement direction, select one candidate vertex movement parameter as the optimal solution of the objective function according to a preset rule.

[0013] In the above method, by determining candidate movement directions and solving according to the candidate movement directions, the search space for vertex movement can be reduced from an omnidirectional continuous domain in a two-dimensional plane to a set of several discrete candidate directions. On this basis, iterative optimization based on time steps is performed independently for each candidate direction, so that the local optimal solution solution process in each direction does not interfere with each other. This not only significantly reduces the computational amount of the solution process, but also provides adjustment strategies for multiple directions.

[0014] Among some possible implementations, the preset rules include:

[0015] Determine if the difference in minimum penalty values ​​for candidate vertex movement parameters with multiple candidate movement directions falls within a preset threshold range. If so, select the candidate vertex movement parameter that minimizes the change in the position or shape of the building surface; otherwise, select the candidate vertex movement parameter with the minimum penalty value.

[0016] In the above method, by setting rules in advance, when the penalty values ​​of adjustment strategies with multiple candidate movement directions are close, the final building surface adjustment strategy can be selected from the angle with the smallest change in building surface position or shape, thus avoiding the loss of diversity of adjustment strategies due to a single penalty value screening mechanism.

[0017] Among some possible implementations, the movement strategy includes:

[0018] Within a single time step, all vertices of the building surface move simultaneously in the current candidate movement direction with the same time length;

[0019] Alternatively, within a single time step, some vertices of the building surface remain unchanged, while other vertices move in the current candidate movement direction.

[0020] In the above approach, by configuring two different vertex movement strategies, the adjustment method can be flexibly selected for different overlapping scenarios during the process of solving for the optimal vertex movement parameters. Furthermore, the two strategies can be combined in multiple time steps to improve the search efficiency and flexibility of solving the objective function.

[0021] In some possible implementations, obtaining road surfaces in a map includes:

[0022] Obtain several real navigation trajectories related to the road model in the map;

[0023] Several real navigation trajectories are matched to the road model, and the boundary lines on both sides of the road model are determined according to the real navigation trajectories in the road model;

[0024] The road surface is generated based on the boundary lines on both sides of the road model.

[0025] In the above method, by using trajectory data as the data source for the road surface generation process, the pain points of difficulty and high cost in obtaining high-precision road network data can be solved. By using trajectory matching and other algorithms to compensate coarse trajectory points into high-precision road surfaces, it can be ensured that subsequent map element conflict detection and correction work is carried out on a precise spatial reference, providing underlying data support for the adjustment of building surfaces.

[0026] In some possible implementations, the following is included before constructing the target function:

[0027] The edges of the building surfaces are corrected using a polygon simplification algorithm.

[0028] In the above method, by modifying and simplifying the building surface, the geometric complexity and vertex redundancy of the building surface can be reduced, thereby significantly reducing the amount of computation and improving computational efficiency when solving the optimal adjustment strategy of the building surface in the subsequent process.

[0029] In some possible implementations, the movement penalty includes at least one of displacement cost, shape preservation cost, and angle preservation cost, whereby the displacement cost is used to quantify the degree of positional change of the building surface, the shape preservation cost is used to quantify the degree of change of the area and / or perimeter of the building surface, and the angle preservation cost is used to quantify the degree of change of the interior angle of the building surface.

[0030] Compared to traditional correction methods where mechanically cropping building surfaces can lead to map distortion or global data imbalance, the above method quantifies factors such as location movement, area change, and angle change into calculable costs. This can reduce intervention in building surfaces while eliminating spatial conflicts between building surfaces and road surfaces, thereby improving the consistency between building surfaces in the map and the actual building shapes.

[0031] In some possible implementations, the following is included before solving the objective function:

[0032] If the movement penalty includes multiple penalty items among displacement cost, shape preservation cost, and angle preservation cost, then the weight of each penalty item among the multiple penalty items is determined based on at least one of the importance of road level, building surface importance, and neighborhood space constraint.

[0033] In the above approach, by assigning weights to different costs, the importance of road level, building surface, and neighborhood space constraints can be taken into account within a unified search framework, thereby solving for an adjustment strategy that meets the needs of real geographical elements.

[0034] Secondly, embodiments of this application provide a map data processing apparatus, comprising:

[0035] The acquisition module is used to acquire road surfaces and building surfaces in the map. Road surfaces and building surfaces have overlapping areas in the two-dimensional plane. Building surfaces contain multiple vertices and edges connecting adjacent vertices.

[0036] The function construction module is used to construct an objective function using the vertex movement parameters of the building surface as variables. The objective function includes an overlap penalty that represents the area of ​​the overlapping region and a movement penalty that represents the degree of change of the building surface.

[0037] The adjustment module is used to solve the objective function with the goal of minimizing overlap penalty and movement penalty, and adjust the building surface according to the solution results.

[0038] Thirdly, embodiments of this application provide an electronic device, including: a memory and a processor;

[0039] The memory stores the instructions that the computer executes;

[0040] The processor executes computer execution instructions stored in memory, causing the processor to perform the first aspect and / or various possible implementations of the first aspect as described above.

[0041] 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 first aspect and / or various possible implementations of the first aspect.

[0042] Fifthly, embodiments of this application provide a computer program product, including a computer program that, when executed by a processor, implements the first aspect and / or various possible implementations of the first aspect.

[0043] The map data processing method, apparatus, device, storage medium, and program product provided in this application obtain road surfaces and building surfaces in the map, construct an objective function using the vertex movement parameters of the building surfaces as variables, and then solve the objective function and adjust the building surfaces by minimizing the overlap penalty and movement penalty. The overlap penalty can characterize the overlapping area of ​​road surfaces and building surfaces, and the movement penalty can characterize the degree of change of building surfaces. By solving the objective function, the complex spatial conflict problem can be transformed into a quantifiable mathematical optimization problem. Considering the deformation distortion that may occur when adjusting building surfaces, the adjustment scheme that can eliminate map spatial conflicts while minimizing the damage to the geometric authenticity of buildings is obtained through iterative solution. The output is navigation map data with coordinated spatial relationships and strong logical consistency, reducing the reliance on manual verification and editing, and significantly improving the accuracy and reliability of navigation path planning. Attached Figure Description

[0044] 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.

[0045] Figure 1 A flowchart illustrating a map data processing method provided as an example in this application;

[0046] Figure 2 A partial schematic diagram of a map provided as an example of this application;

[0047] Figure 3 A schematic diagram of road segment extraction is provided as an example in this application;

[0048] Figure 4 A schematic diagram of trajectory thermal distribution is provided as an example in this application;

[0049] Figure 5 A schematic diagram of road boundary extraction is provided as an example of this application;

[0050] Figure 6 This is an original schematic diagram of a building surface covered pavement, provided as an example of this application;

[0051] Figure 7 This application provides an exemplary illustration of a modification for building surface covering of a road surface. Figure 1 ;

[0052] Figure 8 This application provides an exemplary illustration of a modification for building surface covering of a road surface. Figure 2 ;

[0053] Figure 9 This application provides a schematic diagram of the structure of a map data processing device as an example.

[0054] Figure 10 This is a schematic diagram of the structure of an electronic device provided as an example in this application.

[0055] The accompanying drawings illustrate 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 particular embodiments. Detailed Implementation

[0056] 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.

[0057] In map data creation and updating, the generation of building surfaces and road networks often occurs on two separate production lines: one is to generate building surfaces representing the shape of buildings based on building outline extraction or image delineation; the other is to construct road surfaces based on data such as road lane information. After the building surfaces and road surfaces are completed independently, they are then fused to generate a map that includes both building surfaces and road surfaces. This map generation method is prone to spatial conflicts, a typical example being the encroachment of building surfaces on road surfaces—that is, the geometric extent of a building surface incorrectly covers or encroaches on the road surface area. Such spatial conflicts are identified as road obstacles in navigation, rendering the road impassable, causing route planning interruptions, and severely impacting navigation usability.

[0058] To resolve spatial conflicts between building surfaces and road surfaces in maps, two main methods are currently employed: high-precision unified data source and automated correction. The first method requires technologies such as LiDAR point cloud analysis or oblique photogrammetry to collect 3D ground information simultaneously in the same coordinate system. From this unified high-precision data source, building outlines and road edge lines are extracted synchronously and accurately, ensuring geometric consistency between their boundaries in the real world. The second method involves cropping the spatially conflicting building surfaces in the map according to specific rules to obtain building surfaces that do not overlap with roads.

[0059] Both of the above methods have certain drawbacks. The first method relies on high-precision equipment such as LiDAR, which takes a long time to collect data and has high technical requirements, requiring a lot of financial and time costs. The second method uses a cropping method that is too mechanical. The cropped building surface often differs greatly from its actual shape. It not only lacks coordination with the surrounding environment in the map, but also easily causes distortion, making it difficult for users to match the buildings on the map with real buildings, thus affecting the user's use of the map.

[0060] To address the aforementioned shortcomings, this paper proposes a technical concept for resolving spatial conflicts between road and building surfaces in maps. The outline of a building roof is treated as a polygon formed by connecting multiple vertices and edges. A multi-dimensional resistance constraint model is constructed using the movement of polygon vertices as an adjustment strategy to limit changes in building surfaces. With the goal of reducing the overlap area between road and building surfaces, the optimal adjustment path and magnitude for building surfaces are precisely calculated, thus resolving spatial conflicts between road and building surfaces in the map with minimal adjustment cost. This approach not only eliminates spatial conflicts such as building surfaces encroaching on roads but also optimizes the adjustment method for building surfaces, ensuring the global optimality of map data correction from a causal perspective.

[0061] The map data processing method, apparatus, equipment, computer-readable storage medium, and computer program product based on the technical concept of this application can be applied to the automated production and dynamic updating of navigation maps, serving as an important component of intelligent navigation data compilation and incremental update technology.

[0062] 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 now be described with reference to the accompanying drawings.

[0063] Figure 1 A flowchart illustrating a map data processing method exemplarily provided in this application is shown below. Figure 1 As shown, the method includes:

[0064] Step S101: Obtain the road and building surfaces in the map.

[0065] In this map, road surfaces and building surfaces overlap in the two-dimensional plane represented by the map. A building surface consists of multiple vertices and edges connecting adjacent vertices, which can represent the outline of a building on the map.

[0066] For example, in the map production process, the road model and its topological connection relationship of the map software can be used as the basis. The road surface width is determined on both sides of the road centerline along the road direction according to attribute parameters such as the number of lanes and road grade. Then, the boundary lines on both sides of the road are determined according to the road surface width. Finally, the boundary endpoints at the starting and ending points of the road are connected to close the road surface, which can generate a road surface representing the actual coverage area of ​​the road.

[0067] In some possible implementations, the road surface boundary can also be obtained through road sampling (road surface data collection) by test vehicles. When the test vehicle is driving on a real road, it can take pictures of the road lane boundary lines through the on-board camera. Combining the test vehicle's own satellite positioning coordinates and the camera's intrinsic and extrinsic parameters, the boundary lines identified by the camera can be transformed from the camera coordinate system to the world coordinate system. Then, the corresponding road boundary lines on both sides are generated on the map, and finally closed to form the road surface.

[0068] For example, based on satellite remote sensing imagery or aerial imagery, image processing algorithms such as image segmentation can be used to identify the texture and geometric boundaries of buildings in the imagery, extract the outline of individual buildings, and generate building surfaces representing the shape and location of buildings through map production processes such as data preprocessing.

[0069] Step S102: Construct the objective function using the vertex movement parameters of the building surface as variables.

[0070] The objective function includes an overlap penalty representing the area of ​​the overlapping region and a movement penalty representing the degree of change in building surfaces. The degree of change in building surfaces can include changes in multiple dimensions such as the shape of the building surface and its position on the map.

[0071] Figure 2 This is a partial schematic diagram of a map provided as an example in this application. Figure 2 As shown, this part of the map includes road surfaces and building surfaces, and there is a certain overlap between the road surfaces and building surfaces (i.e., Figure 2 (The shaded area in the middle) This overlapping area is the "surface encroachment" or "covering" of the building's face towards the road.

[0072] exist Figure 2 In the map shown, the road surface is a rectangle, and the building surface is a hexagon (containing six vertices: A1, A2, A3, A4, A5, and A6). It is understandable that in other examples, the road surface can be curved or other shapes, and the building surface can be circular, triangular, or other shapes. If the building surface is circular, multiple sampling points can be selected as vertices on the edge of the circle.

[0073] by Figure 2 For example, when constructing the objective function, vertices such as A1 and A2 can be set to move freely, and the movement parameters of the vertices can be used as function variables. For example, vertex A1 can move 1 unit south, vertex A2 can move 3 units south, or all six vertices such as A1 and A2 can move 5 units east. The goal is to set a penalty term to reduce the overlapping area and reduce the change of the building surface, and then search for the optimal movement strategy of the vertices.

[0074] In some possible implementations, before constructing the objective function, the edges of the building surfaces may be corrected using a polygon simplification algorithm.

[0075] For example, for polygonal building surfaces, excessively long sides can be simplified using the Douglas-Peucker algorithm, or unnatural corners can be smoothed using spline curves. Furthermore, for approximately rectangular building surfaces, least-squares fitting or regularization algorithms can be used for right-angle processing, adjusting adjacent sides to be orthogonal or parallel, while also trying to fit the moved vertices as closely as possible. In this way, the geometric complexity and vertex redundancy of the building surface can be reduced, significantly reducing computational cost and improving computational efficiency when subsequently solving for the optimal adjustment strategy for the building surface.

[0076] Step S103: Solve the objective function with the goal of minimizing the overlap penalty and the movement penalty, and adjust the building surface according to the solution results.

[0077] For example, if the penalty value of the objective function is denoted as S, then S = G + R. Here, G is the area of ​​the overlapping region, G can represent the overlap penalty, and R is the movement penalty. The movement penalty is used to quantify the degree of change in the building surface caused by the movement of vertex positions. The value of R can be calculated based on one or more parameters such as the displacement change of each vertex before and after the movement, the displacement change of the geometric center before and after the movement, and the difference in interior angles.

[0078] When solving the objective function, the step size of the vertex movement can be set, and the vertices of the building surface can be moved step by step. The penalty value R is calculated at each time step. Finally, the coordinates of each vertex of the building surface when R is minimized can be used as the adjustment target to eliminate the building surface cover.

[0079] In some possible implementations, after adjusting the building surface, it is possible to detect whether the adjusted building surface creates new spatial conflicts with its surrounding map elements (such as trees, rivers, or other building surfaces) based on the adjusted map, or to detect whether the geometric properties of the adjusted building surface are within an acceptable range (such as whether the area is too small).

[0080] In the above embodiments, road surfaces and building surfaces in the map are obtained. An objective function is constructed using the vertex movement parameters of the building surfaces as variables. The objective function is then solved by minimizing the overlap penalty and movement penalty, and the building surfaces are adjusted accordingly. The overlap penalty characterizes the overlapping area of ​​the road surfaces and building surfaces, while the movement penalty characterizes the degree of change in the building surfaces. By solving the objective function, the complex spatial conflict problem can be transformed into a quantifiable mathematical optimization problem. Considering the deformation distortion that may occur when adjusting building surfaces, an adjustment scheme that eliminates map spatial conflicts while minimizing damage to the geometric accuracy of buildings is obtained through iterative solution. This outputs navigation map data with coordinated spatial relationships and strong logical consistency, reducing reliance on manual verification and editing, and significantly improving the accuracy and reliability of navigation path planning.

[0081] The inventors' research also revealed that spatial conflicts between building and road surfaces on maps are caused by differences in the data sources and accuracy of these surfaces. Building outlines may come from high-resolution imagery or LiDAR, which are highly accurate, while road network data often originates from lower-accuracy or asynchronous vector sources. The two are difficult to match precisely in space, leading to spatial conflicts such as surface encroachment and node disconnection (where buildings block the connectivity of road intersections, causing navigation systems to misjudge intersections as impassable). Furthermore, newly constructed roads or buildings may also cause conflicts due to data update delays.

[0082] To address the aforementioned issues with road network data sources, this application, based on the above technical concept, further proposes a method for generating road boundaries based on trajectory data to obtain road surfaces, thereby improving spatial conflicts caused by poor accuracy of road surface data.

[0083] In one embodiment, obtaining road surfaces in a map includes:

[0084] Obtain several real navigation trajectories related to the road model in the map; match the several real navigation trajectories to the road model, and determine the boundary lines on both sides of the road model according to the real navigation trajectories in the road model; generate the road surface based on the boundary lines on both sides of the road model.

[0085] The actual navigation trajectory can be the user's actual driving trajectory obtained from the navigation software with the user's authorization.

[0086] For example, navigation software can obtain high-precision trajectory data from users through RTK (Real-Time Kinematics) technology, including timestamps, coordinates, and motion parameters (such as speed and heading). In this embodiment, the trajectory corresponding to a road surface that spatially conflicts with the user's original trajectory data can be obtained to determine the two side boundary lines of the road surface.

[0087] In some possible implementations, the acquired trajectory data can be preprocessed using methods such as low-pass filtering to remove noise or outliers, thereby improving the quality of the trajectory data. For example, Kalman filtering can be used to smooth the trajectory, remove high-frequency jitter, and retain true macroscopic features such as turns. Furthermore, isolated points that significantly deviate from the main path can be removed (e.g., trajectory points that have flown into buildings due to severe GPS drift). Kalman filtering, being a recursive algorithm, can reduce noise interference in the trajectory data through a prediction-update mechanism.

[0088] In the above approach, the recursive prediction-update mechanism of the Kalman filter algorithm can correct trajectory noise, improve the smoothness of trajectory data, and reduce road surface boundary distortion caused by high-frequency jitter. While reducing data processing complexity, it ensures the geometric accuracy of the generated road surface, providing a reliable data foundation for subsequent map spatial conflict detection and correction.

[0089] In this embodiment, the trajectory data includes information such as timestamps, coordinates, speed, and heading. This information can be used to associate the trajectory with a corresponding road (which can be a real-world road model created by the map maker). For example, an HMM (Hidden Markov Model) algorithm can be used to match the corresponding trajectory to the road model. HMM is a probabilistic model that can be used to infer the correspondence between trajectory points and road models.

[0090] When fitting a trajectory to roads, the trajectory can be broken into segments. First, roads within the road network area (such as roads within a park) and roads within intersections can be filtered out, connecting only intersections with an in-degree of 2 to form road segments. Roads with an in-degree greater than 2 can be used as intersection points. Then, a correspondence can be established between trajectory points and road structures such as road segments and intersections.

[0091] Figure 3 This is an exemplary schematic diagram of road segment extraction provided in this application. Figure 3 As shown, satellite remote sensing imagery can contain buildings and roads, but the original imagery lacks road boundaries and does not delineate road segments. Figure 3 The yellow lines represent intersections with an in-exit degree greater than 2, while the red and blue lines represent extracted road segments with an in-exit degree of 2.

[0092] Figure 4 This application provides an exemplary schematic diagram of trajectory heat distribution. For example, after grouping the acquired trajectories according to the corresponding road network and aligning them with intersections, a heat map can be generated based on the trajectories, such as... Figure 4 The heat map shown, Figure 4 The green area along the road can represent hotspots where trajectories are concentrated.

[0093] After matching the trajectory to the road and generating a heat map, cross-sampling lines can be made along the road direction at preset length intervals. The intersection points of the sampling lines and the two sides of the heat map trajectory are recorded. Then, the two sides of the intersection points are connected and smoothed to obtain continuous boundary lines on both sides of the road centerline.

[0094] Figure 5 This is an exemplary schematic diagram of road boundary extraction provided in this application. Figure 5 As shown, after obtaining the trajectory heat distribution, tangents (i.e., sampling lines) perpendicular to the road centerline can be drawn every 1 meter along the road centerline direction. Assuming the road centerline direction is horizontal, the trajectory direction is horizontal to the left or horizontal to the right. These tangents can intersect with the upper and lower edges of the heat trajectory, respectively. These intersections located above the road centerline can be fitted using cubic B-spline curves to obtain a smooth, continuous boundary line located above the road. Figure 5 (Not shown in the image), similarly, the lower boundary line of the road can be obtained. After obtaining the boundary lines on both sides of the road, the upper and lower boundary lines can be connected to form a closed road surface.

[0095] By employing trajectory heatmaps and curve fitting techniques, the geometric accuracy and continuity of road surfaces can be improved. Heatmap analysis can capture density variations at road edges, avoiding boundary distortion caused by uneven distribution of trajectory points. Curve fitting, on the other hand, can smooth discrete points using piecewise polynomials, eliminating irregularities in sampling points. For example, in curved areas, the fitted road surface can more accurately reflect the actual road curvature, providing a precise geometric benchmark for subsequent overlay detection and correction.

[0096] In some possible implementations, after obtaining the boundary lines on both sides of the road, the boundary lines can be corrected based on information such as whether the road contains non-motorized vehicle lanes, and then closed to form the road surface. For example, if there is a non-motorized vehicle lane on one side of the road and the width of the non-motorized vehicle lane is 3 meters, the boundary line can be moved 3 meters outward from the road to make the road boundary more consistent with the accuracy of a real road.

[0097] Traditional technologies rely on high-precision equipment such as LiDAR and oblique photography for integrated data acquisition to ensure the accuracy of road surface boundaries. However, this equipment is expensive, has long update cycles, and is difficult to widely implement. The above embodiment uses trajectory data as the input source for generating the road surface. Through a complete algorithm chain (including Kalman filtering for noise reduction, Hidden Markov Model matching, heatmap generation, and B-spline curve fitting), discrete trajectory points are "inversely calculated" into a continuous, smooth, and high-precision road surface. Replacing high-precision equipment like LiDAR with this method significantly reduces data acquisition costs while ensuring sufficiently high accuracy of road boundaries, making it possible to achieve low-cost, high-frequency dynamic updates of road network data.

[0098] The map data processing method in this application addresses the pain point of "difficult and expensive acquisition" of high-precision road network data by using trajectory data instead of LiDAR as the data source for road surface generation. Through algorithms such as trajectory matching, coarse trajectory points are compensated into high-precision road surfaces, ensuring that subsequent map element conflict detection and correction are performed on a precise spatial reference, providing underlying data support for building surface adjustments. Furthermore, by using vertex movement of building surfaces as an optimization strategy, with the optimal goal of minimizing overlapping areas and changes in building surfaces, an adjustment scheme can be obtained that eliminates map spatial conflicts while minimizing damage to the geometric accuracy of buildings, achieving minimal intervention in map correction.

[0099] In one embodiment, the movement penalty includes at least one of displacement cost, shape retention cost, and angle retention cost.

[0100] Displacement cost can be used to quantify the degree of positional change of a building surface. If we use C to represent the cost, then C... move To represent the displacement cost, it can be calculated using the following formula (1):

[0101] C move =α×d+β×d 2 (1)

[0102] In the above formula, d can represent the displacement of the top of the building surface, α is the linear drag coefficient (foundation cost), and β is the square drag coefficient (acceleration cost, used to suppress excessive displacement).

[0103] Shape preservation cost can be used to quantify the degree of change in the area of ​​a building surface, as well as the degree of change in the perimeter of a building surface. If C... shape To represent the cost of shape preservation, it can be calculated using the following formula (2):

[0104] C shape =λ×ΔA+μ×ΔP (2)

[0105] In the above formula, ΔA can represent the rate of change of area (the ratio of the difference in area of ​​the building surface before and after the vertex is moved to the area before the move), ΔP can represent the rate of change of perimeter (the ratio of the difference in perimeter of the building surface before and after the vertex is moved to the perimeter before the move), and λ and μ are weighting coefficients.

[0106] Angle preservation cost can be used to quantify the degree of change in the interior angle of a building surface. If C is used... angle To represent the cost of maintaining the angle, it can be calculated using the following formula (3):

[0107] (3)

[0108] In the above formula, n can represent the number of interior angles of the building's facade. This can represent the angle of the i-th interior angle before the vertex of the building surface moves. This can represent the angle of the i-th interior angle after the vertex of the building surface has moved. This can represent the weight coefficient of the i-th interior angle (i.e., the importance of the interior angle). For example, if the building surface contains right angles, the right angles can be given a higher weight.

[0109] Based on the above costs and their calculation formulas, the movement penalty R can be calculated using the following formula (4):

[0110] (4)

[0111] In the above formula, m is the number of cost terms included in the movement penalty, and C i w can represent the cost of the i-th term (such as displacement cost, shape preservation cost, etc.). i This can represent the weight coefficient of the i-th cost. The weight coefficients of different costs can be set according to the importance of the cost. For example, the weight value range of displacement cost can be [0.3, 0.5], the weight value range of shape preservation cost can be [0.2, 0.4], and the weight value range of angle preservation cost can be [0.1, 0.3].

[0112] Compared to traditional correction methods where mechanically cropping building surfaces can lead to map distortion or global data imbalance, quantifying factors such as location movement, area changes, and angle alterations into calculable costs can reduce intervention in building surfaces while eliminating spatial conflicts between building surfaces and road surfaces, thereby improving the consistency between building surfaces in the map and the actual building shapes.

[0113] For example, if the movement penalty includes multiple penalty terms among displacement cost, shape preservation cost, and angle preservation cost, i.e., m≥2, then the weight of each penalty term among the multiple penalty terms can be determined based on at least one of the importance of road grade, the importance of building surface, and neighborhood space constraints.

[0114] Neighborhood spatial constraints can refer to the spatial constraints between conflicting building faces and their surrounding map elements. For example, if building face A is flanked by a road face and building face B, and if building face A overlaps with the road face, and a certain boundary needs to be reserved around building face B, then when adjusting the vertices of building face A, it is necessary to constrain building face A from encroaching on the reserved boundary of building face B. This constraint is the neighborhood spatial constraint of building face A.

[0115] In some possible implementations, based on information such as the importance of road grade, the importance of building surfaces, and neighborhood space constraints, not only can the weight of the penalty term be determined, but also the weight coefficients in the cost calculation process such as α, β, and λ can be determined.

[0116] For example, R=w move ×C move +w shape ×C shape +w angle ×C angle , where w move w shape and w angle The weights for displacement cost, shape preservation cost, and angle preservation cost are respectively defined. If a road surface and a building surface are in spatial conflict, and the road surface is more important and has a higher level of neighborhood space constraint, then the displacement cost can be assigned a higher weight, while the building surface can be assigned a lower weight. Through this weight allocation method, the deformation of the adjusted building surface can be sacrificed in exchange for the correction of the road surface's overlap and the avoidance of encroachment on the neighborhood space.

[0117] The following description, in conjunction with the accompanying drawings and specific embodiments, provides an exemplary illustration of how to solve the objective function.

[0118] In one embodiment, solving the objective function includes:

[0119] Based on the positional relationship between the overlapping area and the building surface, candidate movement directions are determined. For each candidate movement direction, the vertices of the building surface are moved step by step according to a preset movement strategy, and the penalty value of the objective function is calculated after each time step. The candidate vertex movement parameter with the smallest penalty value under the current candidate movement direction is solved. From the candidate vertex movement parameters corresponding to each candidate movement direction, a candidate vertex movement parameter is selected as the optimal solution of the objective function according to a preset rule.

[0120] Figure 6 This is an original schematic diagram of a building surface covered pavement, provided as an example of this application. Figure 6 As shown, the building surface is a regular octagon with its eight vertices corresponding to the eight directions: east, northeast, north, northwest, west, southwest, south, and southeast (corresponding to 0°, 45°, 90°, ..., 315° respectively).

[0121] For the building surface adjustment strategy, all eight directions can be listed as candidate movement directions. Then, for each candidate movement direction, vertices are moved according to time steps. Each time step, one or more vertices can be moved in the candidate movement direction. After each time step, the overlap penalty G and the movement penalty R are calculated, and then the two are added together to obtain the total penalty value S. Each time step for each candidate movement direction can yield an S value. For any candidate movement direction, if there are T time steps in total, the values ​​of T S can be compared. The coordinates of each vertex on the building surface when S is minimized are taken. The movement path of these coordinates relative to the original coordinates (i.e., the coordinates of vertices that have not undergone any movement) can be used as the candidate vertex movement parameters for the building surface.

[0122] In the above embodiments, by determining candidate movement directions and solving according to the candidate movement directions, the search space for vertex movement can be reduced from an omnidirectional continuous domain of a two-dimensional plane to a set of several discrete candidate directions. On this basis, iterative optimization based on time steps is performed independently for each candidate direction, so that the local optimal solution solving process in each direction does not interfere with each other. This not only significantly reduces the amount of computation in the solution process, but also provides adjustment strategies for multiple directions.

[0123] In some possible implementations, after obtaining the initial candidate movement directions, infeasible directions can be filtered out. For example, in Figure 6 In the process, the overlapping area is located in the northwest direction of the building surface. If the building surface continues to be adjusted in the northwest direction, the overlapping area cannot be reduced. Therefore, the total penalty value S in the northwest direction can be set to a maximum value or positive infinity to avoid wasting computing power in this infeasible direction.

[0124] In some possible implementations, the preset rules may include:

[0125] Determine if the difference in minimum penalty values ​​for candidate vertex movement parameters with multiple candidate movement directions falls within a preset threshold range. If so, select the candidate vertex movement parameter that minimizes the change in the position or shape of the building surface; otherwise, select the candidate vertex movement parameter with the minimum penalty value.

[0126] In the above method, by setting rules in advance, when the penalty values ​​of adjustment strategies with multiple candidate movement directions are close, the final building surface adjustment strategy can be selected from the angle with the smallest change in building surface position or shape, thus avoiding the loss of diversity of adjustment strategies due to a single penalty value screening mechanism.

[0127] In some possible implementations, the movement strategy may include: Strategy 1, in a single time step, all vertices of the building surface move simultaneously towards the current candidate movement direction at the same time length; Strategy 2, in a single time step, a portion of the vertices of the building surface remain unchanged, while another portion of the vertices move towards the current candidate movement direction.

[0128] Strategy 1 involves synchronously displacing all vertices of the building surface along the current candidate movement direction with the same time step, thereby changing the overall position of the adjusted building surface while keeping the side lengths and interior angles unchanged, thus achieving rigid translation of the building surface in a two-dimensional plane. Strategy 2 allows only some vertices of the building surface to be displaced along the candidate movement direction while the remaining vertices remain stationary. Although this vertex movement method will change the side length ratios and interior angle values ​​of the building surface, it can minimize the encroachment of the building surface on the neighboring space.

[0129] In some possible implementations, movement strategies can be flexibly combined across multiple time steps based on Strategy 1 and Strategy 2. For example, in earlier time steps, Strategy 1 can be selected first. After executing one or more time steps according to Strategy 1, the current overlap penalty G is calculated. If G is 0, the total penalty value S is calculated directly. If G is not 0 but is less than a preset threshold (which is calibrated to indicate a small overlap area), then Strategy 2 can be used first in subsequent time steps.

[0130] Figure 7 This application provides an exemplary illustration of a modification for building surface covering of a road surface. Figure 1 . Figure 7 Is Figure 6 The correction results on the original capping scene are shown below. Figure 7 As shown, strategy one can be used to move all vertices of the building surface one unit step towards the southeast, compared to... Figure 6 The original overlapping scene was significantly reduced after the movement correction.

[0131] Figure 8 This application provides an exemplary illustration of a modification for building surface covering of a road surface. Figure 2 . Figure 8 Is Figure 7 The result is obtained by further correction based on the previously shown correction result, such as... Figure 8 As shown, according to strategy two, the vertex of the building surface closest to the northwest can be moved one unit step towards the southeast, compared to... Figure 7 The correction result shows that the area of ​​the overlapping region is now 0 after moving and correcting according to Strategy 2.

[0132] Understandably, the unit step size (i.e., the distance moved in one time step) can be the same or different when using Strategy 1 and Strategy 2. For example, Strategy 1 can move the vertex 1 meter per time step, while Strategy 2 can move the vertex 0.2 meters per time step.

[0133] In the above implementation, by configuring two different vertex movement strategies, the adjustment method can be flexibly selected for different overlapping scenarios during the process of solving for the optimal vertex movement parameters. For example, spatial conflicts can be eliminated by simply translating the building surface, or by simply changing the shape of the building surface. Furthermore, these two strategies can be combined across multiple time steps. This selectability and combination mechanism of strategies, combined with a time-step-based iterative search framework, reduces the search range from all possible vertex displacement combinations to a smaller, computable interval compared to unconstrained random search (which requires extremely high computational power), thus reducing the computational load of the solution process. Manual adjustment based on experience (which easily misses the optimal solution) can be improved by searching for vertex displacement combinations at a fixed time step, thus reducing the accuracy of the optimal solution and the probability of missing the optimal solution.

[0134] Figure 9 This application provides an exemplary structural diagram of a map data processing device, such as... Figure 9 As shown, the map data processing device 900 provided in this embodiment includes:

[0135] The acquisition module 901 is used to acquire road surfaces and building surfaces in the map. Road surfaces and building surfaces have overlapping areas in the two-dimensional plane. Building surfaces contain multiple vertices and edges connecting adjacent vertices.

[0136] Function construction module 902 is used to construct an objective function with the vertex movement parameters of the building surface as variables. The objective function includes an overlap penalty that represents the area of ​​the overlapping region and a movement penalty that represents the degree of change of the building surface.

[0137] The adjustment module 903 is used to solve the objective function with the goal of minimizing the overlap penalty and the movement penalty, and adjust the building surface according to the solution results.

[0138] In some possible implementations, the adjustment module 903 can also be used to: determine candidate movement directions based on the positional relationship between the overlapping area and the building surface; for each candidate movement direction, move the vertices of the building surface according to a preset movement strategy at time steps and calculate the penalty value of the objective function after each time step, and solve for the candidate vertex movement parameter with the smallest penalty value under the current candidate movement direction; select a candidate vertex movement parameter as the optimal solution of the objective function from the candidate vertex movement parameters corresponding to each candidate movement direction according to a preset rule.

[0139] In some possible implementations, the adjustment module 903 can also be used to: determine whether there is a difference in the minimum penalty value corresponding to the candidate vertex movement parameters of multiple candidate movement directions within a preset threshold range; if so, select the candidate vertex movement parameter that minimizes the degree of change in the position of the building surface or minimizes the degree of change in the shape of the building surface; otherwise, select the candidate vertex movement parameter with the minimum penalty value.

[0140] In some possible implementations, the adjustment module 903 can also be used to: control all vertices of the building surface to move simultaneously in the current candidate movement direction with the same time length within a single time step; or, control a portion of the vertices of the building surface to remain unchanged while another portion of the vertices move in the current candidate movement direction within a single time step.

[0141] In some possible implementations, the acquisition module 901 can also be used to: acquire several real navigation trajectories related to the road model in the map; match the several real navigation trajectories to the road model, and determine the boundary lines on both sides of the road model according to the real navigation trajectories in the road model; and generate the road surface according to the boundary lines on both sides of the road model.

[0142] In some possible implementations, function building module 902 can also be used to: correct the edges of building surfaces using a polygon simplification algorithm.

[0143] In some possible implementations, the adjustment module 903 can also be used to: if the movement penalty includes multiple penalty items among displacement cost, shape preservation cost and angle preservation cost, determine the weight of each penalty item among the multiple penalty items based on at least one of the importance of road grade, the importance of building surface and neighborhood space constraint.

[0144] The map data processing device provided in this embodiment can execute the method provided in the above method embodiment. Its implementation principle and technical effect are similar, and will not be described in detail here.

[0145] Figure 10 This is a schematic diagram of the structure of an electronic device provided in this application. Figure 10 As shown, the electronic device 100 provided in this embodiment includes at least one processor 1001 and a memory 1002. Optionally, the device 100 further includes a communication component 1003. The processor 1001, memory 1002, and communication component 1003 are connected via a bus 1004.

[0146] In a specific implementation, at least one processor 1001 executes computer execution instructions stored in memory 1002, causing at least one processor 1001 to perform the above-described method.

[0147] The specific implementation process of processor 1001 can be found in the above method embodiments, and its implementation principle and technical effect are similar. It will not be repeated here.

[0148] 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.

[0149] The memory may include random access memory (RAM) and may also include non-volatile memory (NVM), such as at least one disk storage device.

[0150] 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.

[0151] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the above-described method.

[0152] This application also provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the above-described method.

[0153] 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.

[0154] 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.

[0155] 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.

[0156] 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 according to actual needs.

[0157] 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.

[0158] 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.

[0159] 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.

[0160] 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 map data processing method, characterized in that, include: Obtain road surfaces and building surfaces in the map. The road surfaces and building surfaces have overlapping areas in a two-dimensional plane. The building surfaces contain multiple vertices and edges connecting adjacent vertices. Using the vertex movement parameters of the building surface as variables, an objective function is constructed. The objective function includes an overlap penalty that characterizes the area of ​​the overlapping region and a movement penalty that characterizes the degree of change of the building surface. The objective function is solved with the goal of minimizing the overlap penalty and the movement penalty, and the building surface is adjusted according to the solution result.

2. The method according to claim 1, characterized in that, Solving the objective function includes: Based on the positional relationship between the overlapping area and the building surface, the candidate movement direction is determined; For each candidate movement direction, the vertices of the building surface are moved step by step according to a preset movement strategy, and the penalty value of the objective function is calculated after each time step. The candidate vertex movement parameters with the minimum penalty value under the current candidate movement direction are then solved. From the candidate vertex movement parameters corresponding to each candidate movement direction, a candidate vertex movement parameter is selected as the optimal solution of the objective function according to a preset rule.

3. The method according to claim 2, characterized in that, The preset rules include: Determine whether there are multiple candidate vertex movement parameters for different movement directions whose minimum penalty values ​​are within a preset threshold range. If so, select the candidate vertex movement parameter that minimizes the change in the position or shape of the building surface. Otherwise, select the candidate vertex movement parameter with the minimum penalty value.

4. The method according to claim 2 or 3, characterized in that, The mobility strategy includes: Within a single time step, all vertices of the building surface move simultaneously in the current candidate movement direction with the same time length; Alternatively, within a single time step, some vertices of the building surface remain unchanged, while other vertices move in the current candidate movement direction.

5. The method according to any one of claims 1 to 3, characterized in that, The process of obtaining road surfaces from the map includes: Obtain several real navigation trajectories related to the road model in the map; The real navigation trajectories are matched to the road model, and the boundary lines on both sides of the road model are determined according to the real navigation trajectories in the road model. The road surface is generated based on the boundary lines on both sides of the road model.

6. The method according to any one of claims 1 to 3, characterized in that, Before constructing the objective function, the following is also included: The edges of the building surface are corrected using a polygon simplification algorithm.

7. The method according to any one of claims 1 to 3, characterized in that, The movement penalty includes at least one of displacement cost, shape preservation cost, and angle preservation cost. The displacement cost is used to quantify the degree of positional change of the building surface, the shape preservation cost is used to quantify the degree of change of the area and / or perimeter of the building surface, and the angle preservation cost is used to quantify the degree of change of the interior angle of the building surface.

8. The method according to claim 7, characterized in that, Before solving the objective function, the following steps are also included: If the movement penalty includes multiple penalty items among the displacement cost, the shape preservation cost, and the angle preservation cost, then the weight of each penalty item among the multiple penalty items is determined according to at least one of the importance of the road level, the importance of the building surface, and the neighborhood space constraint.

9. A map data processing device, characterized in that, include: The acquisition module is used to acquire road surfaces and building surfaces in the map. The road surfaces and building surfaces have overlapping areas in a two-dimensional plane. The building surfaces contain multiple vertices and edges formed by connecting adjacent vertices. The function construction module is used to construct a target function using the vertex movement parameters of the building surface as variables. The target function includes an overlap penalty characterizing the area of ​​the overlapping region and a movement penalty characterizing the degree of change of the building surface. The adjustment module is used to solve the objective function with the goal of minimizing the overlap penalty and the movement penalty, and adjust the building surface according to the solution result.

10. An electronic device / computer-readable storage medium / computer program product, characterized in that, The electronic device includes a processor and a memory communicatively connected to the processor; wherein the memory stores computer-executable instructions, and the processor executes the computer-executable instructions stored in the memory to implement the method as described in any one of claims 1 to 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 to 8; and / or, The computer program product includes a computer program that, when executed by a processor, implements the method of any one of claims 1 to 8.