A method, system, device, and medium for simplifying complex line maps

By dynamically adjusting the noise threshold based on the scale and using the sliding circle intersection filtering method, the problem of lost curvature features in the simplification of complex linear maps in existing technologies is solved, achieving an efficient and aesthetically pleasing simplification effect.

CN120279807BActive Publication Date: 2026-03-24CHONGQING GEOMATICS & REMOTE SENSING CENT
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-20
Publication Date
2026-03-24

AI Technical Summary

Technical Problem

Existing technologies tend to lose the complex curvature features of some map elements when simplifying complex linear maps, and it is difficult to fully identify sharp curves and dense inflection points, resulting in incomplete simplification.

Method used

The maximum noise threshold size is estimated based on the scaling scale to mark the inflection points. Inflection points with line segment lengths less than the threshold are removed. The number of intersections between the sliding circle and the inflection points is used for filtering. Combined with Bézier curve smoothing, it is ensured that no dense inflection points are missed.

Benefits of technology

It achieves dynamic adaptation to visual requirements at different scaling ratios, fully identifies sharp curves and dense folds, controls the number of folds, prevents the loss of complex curvature features, and improves drafting efficiency and aesthetics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120279807B_ABST
    Figure CN120279807B_ABST
Patent Text Reader

Abstract

The application provides a simplification method, system, device and medium for complex linear map elements, comprising: marking the kinks on the complex linear vector map by estimating the maximum noise threshold size according to the zoom scale; removing the line segments and corresponding kinks between the kinks on the complex linear vector map, whose length is less than the maximum noise threshold size, to obtain a preliminary screened map; starting from the kink at the starting end of the preliminary screened map, constructing a sliding circle with each kink as the center in turn, and screening the kinks according to the number of intersection points between the sliding circle and the line segments, to obtain a screened map; and smoothing the screened map based on the Bezier curve to obtain a simplified map. The application solves the problem that the simplification process in the prior art causes the loss of complex bending features of part of the map elements, and the simplification is incomplete due to the omission of part of the sharp bending and dense kinks during identification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of geographic information technology, and in particular to a method, system, device, and medium for simplifying complex linear map elements. Background Technology

[0002] Map simplification is a crucial component of cartographic generalization, aiming to improve map readability and usability by reducing negligible complexity. The scale of simplification for linear map features needs to be dynamically adjusted based on the phased implementation of the project to adapt to the target requirements of different map sizes and scales. Defining the maximum simplification deformation at a given scale, i.e., defining a specific noise threshold, can improve the accuracy of map deliverables in meeting project requirements. Currently, there are three main methods for simplifying linear features (such as rivers, roads, and contour lines): the Douglas-Peucker algorithm, which simplifies linear features by recursively deleting vertices whose distance to the line segments defined by adjacent vertices is too small; the Visvalingam-Whyatt algorithm, which simplifies linear features by deleting vertices that form triangles with adjacent vertices with too small an area; and the Li-Openshaw algorithm, which simplifies linear features by drawing a circle with a given radius from the starting point, taking the midpoint of the intersection of the circle and the line segment as the next starting point, repeating the process, and connecting all selected midpoints. Each of the three methods has its own drawbacks. The Douglas-Peucker algorithm may lose some complex bending features, the Visvalingam-Whyatt algorithm may retain some prominent sharp corners or lose some bending variations formed by dense inflection points, and the composite point formed by the Li-Openshaw algorithm is not the original coordinate point on the target line, which may lead to the loss of some shape features. Summary of the Invention

[0003] To address the shortcomings of existing technologies, this invention provides a method, system, device, and medium for simplifying complex linear map elements. It solves the problems in existing technologies where the simplification process leads to the loss of complex curvature features of some map elements, and the simplification is incomplete due to the easy omission of some sharp curves and dense inflection points during recognition.

[0004] According to an embodiment of the present invention, a method for simplifying a complex linear map includes:

[0005] Inflections on complex linear vector maps are marked by estimating the maximum noise threshold size based on the scaling scale.

[0006] The initial screening map is obtained by removing line segments and corresponding vertices on complex linear vector maps whose length between vertices and adjacent vertices is less than the maximum noise threshold size.

[0007] Starting from the inflection point at the beginning of the initial screening map, a sliding circle is constructed with each inflection point as the center. The inflection points are then filtered based on the number of intersections between the sliding circle and the line segment between the inflection point to obtain the screened map.

[0008] A simplified map is obtained by smoothing the filtered map using Bézier curves.

[0009] Preferably, the method for removing line segments and corresponding vertices on a complex linear vector map whose length between vertices and adjacent vertices is less than the maximum noise threshold size, to obtain the initial screened map, includes:

[0010] For any inflection point p i In response to the next adjacent inflection point p i+1 If the length of the line segment between them is greater than the maximum noise threshold size, then the inflection point p is retained. i+1 ;

[0011] In response to the next adjacent inflection point p i+1 If the length of the line segment between them is less than the maximum noise threshold size, then the inflection point p is calculated segment by segment. i The sum of the lengths of subsequent line segments is counted until it exceeds the maximum noise threshold size, and then the inflection point p after the last line segment is retained. n Delete p i to p n All inflection points between;

[0012] After traversing all the vertices, the remaining vertices are used to regenerate the first set of vertices, and adjacent vertices in the first set are reconnected to obtain the initial map.

[0013] Preferably, the method of screening vertices by starting from the initial inflection point on the map, constructing a sliding circle centered on each inflection point, and filtering the inflection points based on the number of intersections between the sliding circle and the line segments between the inflection points includes:

[0014] Starting from the beginning, traverse the first set of inflection points, with inflection point Q as the starting point. i Using the circle as the center, construct a sliding circle with a diameter equal to the maximum noise threshold size, and record the intersection points of the sliding circle with all line segments to generate the first set of intersection points;

[0015] In response to the condition that the number of intersections in the first set of intersections is equal to 2, retain the inflection point Q. i+1 And continue traversing the next inflection point;

[0016] If the number of intersection points in the first set of intersection points is greater than or equal to 3, the area method is used to filter the inflection points.

[0017] The traversal ends when the number of intersections in the first set of intersections equals 1.

[0018] The retained vertices are reconnected to their adjacent vertices to obtain the filtered map.

[0019] Preferably, in response to a number of intersections greater than or equal to 3, the method for screening inflection points using the area method includes:

[0020] Search inflection point Q i Find the inflection points along the line of each intersection point in the first set of intersection points, and generate the corresponding second set of inflection points K;

[0021] Select the second set of inflection points with the fewest inflection points and their corresponding intersection points, and calculate the area of ​​the polygon enclosed by the inflection points and their corresponding intersection points along the line in the second set of inflection points;

[0022] If the area of ​​the polygon is greater than the preset value, then the inflection point Q is retained. i All inflection points along the line to each intersection point in the first intersection point set;

[0023] If the area of ​​the polygon is less than or equal to the preset value, then the distance Q will be... i The intersection point with the longest line segment length and Q i Delete all vertices between them.

[0024] Preferably, at the search inflection point Q i Before calculating the inflection point Q along the line connecting to each intersection point in the first set of intersection points, it is necessary to calculate the inflection point Q. i The angle θ between the vectors of all intersection points in the first set of intersection points and the horizontal vector in , break point Q i and inflection point Q i-1 The angle α between the vector and the horizontal vector i-1 and the inflection point Q i and inflection point Q i+1 The angle α between the vector and the horizontal vector i+1 Then θ in =α i-1 and θ in =α i+1 The corresponding intersection point is removed from the first intersection point set.

[0025] Preferably, the formula for calculating the area of ​​the polygon is as follows:

[0026]

[0027] Among them, (x n ,y n (x) represents the planar coordinates of the nth inflection point or intersection point. n+1 ,y n+1 ) represents the planar coordinates of the (n+1)th inflection point or intersection point, m represents the number of inflection points in the second inflection point set, and i represents the inflection point number located at the center of the sliding circle.

[0028] On the other hand, embodiments of the present invention also provide a simplification system for complex linear maps, which uses the above-described simplification method for complex linear maps, including:

[0029] The preprocessing module is used to identify and mark vertices in complex linear vector maps;

[0030] The initial screening module is used to calculate the line segment lengths between all vertices and adjacent vertices on a complex linear vector map, and to remove line segments and corresponding vertices whose line segment lengths are less than the maximum noise threshold size.

[0031] The sieving module is used to construct a sliding circle centered on each inflection point and delete the corresponding inflection point according to the number of intersections between the sliding circle and the line segment between the inflection point;

[0032] A smoothing module is used to smooth the filtered map to obtain a simplified map.

[0033] On the other hand, embodiments of the present invention also provide a computer, including at least one processor and a memory, the memory storing a computer program configured to be executed by the processor to implement the above-described method for simplifying a complex linear map.

[0034] On the other hand, embodiments of the present invention also provide a storage medium, which is a computer-readable storage medium, on which a computer program is stored, which can be executed by one or more processors to implement the above-described method for simplifying a complex linear map.

[0035] Compared with the prior art, the present invention has the following beneficial effects:

[0036] The maximum noise threshold size of this invention can be dynamically adjusted with the scaling scale, reducing the workload of repeated attempts and ensuring that the simplification result always adapts to the visual needs of the current map. In addition, by using sliding circle sampling, complex bend area calculation, and recursive deletion of dense vertices, all sharp bends and dense vertices can be fully identified, ensuring that no densely distributed vertices are missed during the simplification process, controlling the range of the final number of vertices, preventing the loss of complex bending features in map elements, and ensuring the efficiency of subsequent cartographic conversion and the aesthetics of the map results. Attached Figure Description

[0037] Figure 1 This is a simplified flowchart of an embodiment of the present invention.

[0038] Figure 2 This is a schematic diagram of the inflection point processing in an embodiment of the present invention when the line segment distance between two adjacent inflection points is at the maximum noise threshold size.

[0039] Figure 3 This is a schematic diagram of the inflection point processing when |Gi|=2 in an embodiment of the present invention.

[0040] Figure 4 This is a schematic diagram of the inflection point processing when |Gi|=3 in an embodiment of the present invention.

[0041] Figure 5 This is a schematic diagram of the inflection point processing when |Gi|≥4 in an embodiment of the present invention.

[0042] Figure 6 This is a schematic diagram of the inflection point processing when |Gi|=1 in an embodiment of the present invention. Detailed Implementation

[0043] The technical solutions of the present invention will be further described below with reference to the accompanying drawings and embodiments.

[0044] like Figure 1 As shown in the figure, this embodiment of the invention proposes a method for simplifying complex linear maps, including:

[0045] Inflections on complex linear vector maps are marked by estimating the maximum noise threshold size based on the scaling scale.

[0046] The preliminary data preparation consists of complex linear vector geographic data to be simplified and the target map scale. The spatial reference information for the data is unified to the 2000 National Geodetic Coordinate System and the 1985 National Height Datum. A suitable Gaussian projection coordinate system is selected based on the mapping area. After obtaining the complex linear vector map, the inflection points on the map are marked, thus obtaining the set of all inflection points P = {p1, p2, ..., p...}. n}

[0047] Based on the target scale, the size R of the maximum noise threshold is estimated. The purpose is to visualize the simplified scale and eliminate complex deformations and sharp corners within a given noise range.

[0048] The calculation formula is:

[0049] R = r / S

[0050] Where S is the target scale and r is the diameter of the target with the maximum acceptable deformation at the target scale. Since the maximum noise threshold size can be dynamically adjusted with the scaling scale, the workload of repeated attempts can be reduced, ensuring that the simplified result always adapts to the visual needs of the current map.

[0051] The initial screening map is obtained by removing line segments and corresponding vertices on complex linear vector maps whose length between vertices and adjacent vertices is less than the maximum noise threshold size.

[0052] The set of inflection points traversed from the starting endpoint is P = {p1, p2, ..., p...} n}, for the inflection point p i ,like Then retain the inflection point p. i+1 And continue iterating and calculating; otherwise, if Then calculate the inflection point p segment by segment. i The sum of the lengths of the subsequent line segments Until it exceeds the maximum noise threshold size, at which point And retain the inflection point p after the last line segment. n Delete p i to p n The inflection points between them are then traversed and calculated, such as... Figure 2 .

[0053] After traversing all the vertices, the remaining vertices are used to regenerate the first set of vertices Q, and adjacent vertices in the first set of vertices Q are reconnected to obtain the initial sieved map.

[0054] Starting from the inflection point at the beginning of the initial screening map, a sliding circle is constructed with each inflection point as the center. The inflection points are then filtered based on the number of intersections between the sliding circle and the line segment between the inflection point to obtain the screened map.

[0055] Based on the first set of inflection points Q = {Q1, Q2, ..., Q...} of the initial screening map. n}, traverse the new set of turning points Q after the initial screening from the adjacent points of the starting endpoint, and use the turning point Q as the starting point. i For each circle, a sliding circle with diameter R is drawn as the center. The sliding circle is resampled, and the first intersection point set Gi = {Gi1, Gi2, ..., Gin} of the sliding circle and the polyline (the line segment connecting the inflection points) is recorded. The cases are discussed based on the number of |Gi| (i.e., the number of intersection points in the first intersection point set):

[0056] (1)|Gi|=2

[0057] like Figure 3 As shown, at this point, there is only one inflection point within the sliding circle, located at the center. Therefore, Q is retained. i Therefore, the next adjacent inflection point Q is retained. i+1 and continue with Q i+1 Draw a sliding circle with the center as the center.

[0058] (2)|Gi|=3

[0059] like Figure 4 As shown, calculate the inflection point Q. i With the adjacent previous inflection point Q i-1 The angle α between the vector and the horizontal vector i-1 , break point Q i With the next adjacent inflection point Qi+1 The angle α between the vector and the horizontal vector i+1 and the inflection point Q i The angle θ between the vectors of all intersection points in the second set of intersection points Gi and the horizontal vector. in Where i is the inflection point index, n is the index of the intersection point in the second intersection point set Gi, and then θ is selected from the second intersection point set Gi. in ≠α i-1 And θ in ≠α i+1 The intersection point G.

[0060] Search inflection point Q i All inflection points along the line to intersection point G are included, forming a second inflection point set K = {Q}. i Q i+1 Q i+2 ,...,Q i+m}, where Q i+m That is, the intersection point G.

[0061] Calculate the area of ​​the polygon enclosed by the lines formed by the inflection points and intersection points in set K. Among them, (x n ,y n (x) represents the planar coordinates of the nth inflection point or intersection point. n+1 ,y n+1 ) represents the planar coordinates of the (n+1)th inflection point or intersection point, m represents the number of inflection points in the second inflection point set, and i represents the inflection point number located at the center of the sliding circle.

[0062] like Then retain all vertices in the second set of vertices K, and continue traversing to Q. i+1 Draw a sliding circle with the center as the center;

[0063] like Then delete Q i Draw a sliding circle with the intersection point G as the center, starting from the intersection point G and then continuing the traversal.

[0064] (3)|Gi|≥4

[0065] like Figure 5 As shown, calculate the inflection point Q. i With the adjacent previous inflection point Q i-1 The angle α between the vector and the horizontal vector i-1 , break point Q i With the next adjacent inflection point Q i+1 The angle α between the vector and the horizontal vector i+1 and the inflection point Q i The angle θ between the vectors of all intersection points in the second set of intersection points Gi and the horizontal vector. inWhere i is the inflection point index, n is the index of the intersection point in the second intersection point set Gi, and then θ is selected from the second intersection point set Gi. in ≠α i-1 And θ in ≠α i+1 The corresponding intersection points form a temporary intersection point set H = {H1, H2, ..., H...} n}

[0066] Search inflection point Q i To each intersection point of the temporary intersection set H j All the inflection points along the line, forming the corresponding second inflection point set Ki = {Q} i Q i+1 Q i+2 ,...,Q i+m}, where Q i+m That is, the intersection point H j .

[0067] Find the second set of inflection points with the fewest inflection points. and the corresponding intersection point Q i+m .

[0068] Calculate the second inflection point set K nearest The area of ​​the polygon enclosed by the lines along the midpoint and intersection points. Among them, (x n ,y n (x) represents the planar coordinates of the nth inflection point or intersection point. n+1 ,y n+1 Let be the plane coordinates of the (n+1)th inflection point or intersection point, and m be the set of the second inflection points K. nearest The number of midpoints.

[0069] like Then retain the second inflection point set K. nearest All vertices in Q, and continue iterating, to Q i+1 Draw a sliding circle with the center as the center;

[0070] like Then delete Q i To the intersection point Q i+m Find all the vertices between them, and then continue iterating to the intersection point Q. i+m Draw a sliding circle with the subsequent inflection point as the center.

[0071] (4)|Gi|=1

[0072] like Figure 6 As shown, the sliding circle at this point only intersects with the inflection point Q. i and inflection point Q i-1If the line segments intersect, it means that all the intersection points in the first intersection point set have been traversed. The traversal ends, and all the remaining vertices are connected sequentially with line segments to generate a filtered map.

[0073] Finally, the filtered map is smoothed based on the Bézier curve to obtain a simplified map.

[0074] On the other hand, embodiments of the present invention also provide a simplification system for complex linear maps, which uses the above-described simplification method for complex linear maps, including:

[0075] The preprocessing module is used to identify and mark vertices in complex linear vector maps;

[0076] The initial screening module is used to calculate the line segment lengths between all vertices and adjacent vertices on a complex linear vector map, and to remove line segments and corresponding vertices whose line segment lengths are less than the maximum noise threshold size.

[0077] The sieving module is used to construct a sliding circle centered on each inflection point and delete the corresponding inflection point according to the number of intersections between the sliding circle and the line segment between the inflection point;

[0078] A smoothing module is used to smooth the filtered map to obtain a simplified map.

[0079] On the other hand, embodiments of the present invention also provide a computer, including at least one processor and a memory, the memory storing a computer program configured to be executed by the processor to implement the above-described method for simplifying a complex linear map.

[0080] On the other hand, embodiments of the present invention also provide a storage medium, which is a computer-readable storage medium, on which a computer program is stored, which can be executed by one or more processors to implement the above-described method for simplifying a complex linear map.

[0081] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A method for simplifying complex linear maps, characterized in that: include: Inflections on complex linear vector maps are marked by estimating the maximum noise threshold size based on the scaling scale. The initial screening map is obtained by removing line segments and corresponding vertices on complex linear vector maps whose length between vertices and adjacent vertices is less than the maximum noise threshold size. Starting from the inflection point at the beginning of the initial screening map, sliding circles are constructed sequentially with each inflection point as the center. The inflection points are then filtered based on the number of intersections between the sliding circle and the line segments between them, resulting in a filtered map, including: Starting from the beginning, traverse all vertices, using the vertices as the basis. Using the circle as the center, construct a sliding circle with a diameter equal to the maximum noise threshold size, and record the intersection points of the sliding circle with all line segments to generate the first set of intersection points; In response to the condition that the number of intersections in the first set of intersections is equal to 2, retain the inflection point. And continue traversing the next inflection point; If the number of intersection points in the first set of intersection points is greater than or equal to 3, the area method is used to filter the inflection points, including: Search inflection point Find the inflection points along the line of each intersection point in the first set of intersection points, and generate the corresponding second set of inflection points K; Select the second set of inflection points with the fewest inflection points and their corresponding intersection points, and calculate the area of ​​the polygon enclosed by the inflection points and their corresponding intersection points along the line in the second set of inflection points; If the area of ​​the polygon is greater than the preset value, the inflection points are retained. All inflection points along the line to each intersection point in the first intersection point set; If the area of ​​the polygon is less than or equal to the preset value, then the distance will be... The intersection point with the longest line segment length Delete all vertices between them; The traversal ends when the number of intersections in the first set of intersections equals 1. The retained vertices are reconnected to their adjacent vertices to obtain the filtered map; A simplified map is obtained by smoothing the filtered map using Bézier curves.

2. The method for simplifying a complex linear map as described in claim 1, characterized in that: Methods for removing line segments and corresponding vertices in complex linear vector maps whose length between vertices and adjacent vertices is less than the maximum noise threshold size, to obtain a preliminary map, include: For any inflection point In response to the next adjacent inflection point If the length of the line segment between them is greater than the maximum noise threshold size, then the inflection point is retained. ; Responding to the next adjacent inflection point If the length of the line segment between them is less than the maximum noise threshold size, then the inflection points are calculated segment by segment. The sum of the lengths of subsequent line segments is counted until it exceeds the maximum noise threshold size, and then the inflection point after the last line segment is retained. ,delete to All inflection points between; After traversing all the vertices, the remaining vertices are used to regenerate the first set of vertices, and adjacent vertices in the first set are reconnected to obtain the initial map.

3. The method for simplifying a complex linear map as described in claim 1, characterized in that: Search inflection point Before calculating the inflection points along the lines of each intersection point in the first set of intersection points, the inflection points need to be calculated. The angle between the vectors of all intersection points in the first set of intersection points and the horizontal vector Inflection point and inflection point The angle between the vector and the horizontal vector and inflection points and inflection point The angle between the vector and the horizontal vector Then and The corresponding intersection point is removed from the first intersection point set.

4. The method for simplifying a complex linear map as described in claim 1, characterized in that: The formula for calculating the area of ​​the polygon is as follows: in, The coordinates of the nth inflection point or intersection point are in the plane. Let be the plane coordinates of the (n+1)th inflection point or intersection point, m be the number of inflection points in the second inflection point set, and i be the inflection point number located at the center of the sliding circle.

5. A simplification system for complex linear maps, characterized in that: The system uses a simplification method for complex linear maps as described in any one of claims 1-4, comprising: The preprocessing module is used to identify and mark vertices in complex linear vector maps; The initial screening module is used to calculate the line segment lengths between all vertices and adjacent vertices on a complex linear vector map, and to remove line segments and corresponding vertices whose line segment lengths are less than the maximum noise threshold size. The sieving module is used to construct a sliding circle centered on each inflection point and delete the corresponding inflection point according to the number of intersections between the sliding circle and the line segment between the inflection point; A smoothing module is used to smooth the filtered map to obtain a simplified map.

6. A computer, characterized in that: It includes at least one processor and a memory, the memory storing a computer program configured to be executed by the processor to implement a method for simplifying a complex linear map as described in any one of claims 1-4.

7. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, on which a computer program is stored. The computer program can be executed by one or more processors to implement a method for simplifying a complex linear map as described in any one of claims 1-4.

Citation Information

Patent Citations

  • Method and device for drawing route in map

    CN104268911A

  • Automatic geologic body boundary simplifying method and device and electronic device

    CN112417077A