A method for selecting the number of candidate locations for multi-factor map annotation based on two-degree-of-freedom space

By introducing the theoretical limit value concept of annotation candidate position combination, the number of optimal candidate positions of the map is calculated, and the problem of irregular and inefficient generation of map annotation candidate positions is solved, and efficient automatic annotation configuration is achieved.

CN116303842BActive Publication Date: 2025-08-12CENT SOUTH UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211491101.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-25
Publication Date
2025-08-12
Estimated Expiration
2042-11-25

AI Technical Summary

Technical Problem

In the prior art, the generation method of map annotation candidate locations has problems such as irregularity, too small quantity, and low efficiency. It fails to fully utilize the blank area of the picture, affecting the quality of the annotation configuration.

Method used

The concept of theoretical limit value for annotated candidate positions is introduced, the theoretical limit value of the number of different candidate positions and its changes are calculated, the optimal number of candidate positions is determined through cubic polynomial curve fitting, and the candidate positions are generated using the method of two-degree of freedom space.

Benefits of technology

Quickly determine the number of optimal candidate positions on the map, improve the efficiency of automatic annotation configuration, and reduce unnecessary calculations, providing a new method to determine the number of candidate positions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure BDA0003964994800000036
    Figure BDA0003964994800000036
  • Figure BDA0003964994800000064
    Figure BDA0003964994800000064
  • Figure FHA0000012597790000021
    Figure FHA0000012597790000021
Patent Text Reader

Abstract

The present invention belongs to the field of map annotation technology and discloses a method for selecting the number of candidate locations for annotations on a multi-element map based on a two-degree-of-freedom space. The method introduces the concept of theoretical limit values for annotation candidate location combinations, calculates the theoretical limit values for different numbers of candidate locations and their variations, and determines the optimal number of annotation candidate locations for different maps based on the variation curve of the theoretical limit values. By introducing the concept of theoretical limit values for map element annotations and calculating the theoretical limit values and variations under different numbers of candidate locations, the optimal number of candidate locations for a map can be quickly determined, which can improve the efficiency of automatic annotation configuration and reduce unnecessary calculations. At the same time, it also provides a new approach for determining the number of annotation candidate locations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of map annotation, and in particular relates to a method for selecting the number of candidate locations for multi-element map annotation based on a two-degree-of-freedom space. Background Art

[0002] When annotating a map, one typically first generates a number of candidate annotation locations for each feature, then selects a set of annotations with minimal overlap. The generation and determination of candidate locations has long been a key focus of research in automated annotation configuration. Currently, there are two common approaches to generating candidate locations: a fixed location model and a sliding location model. The fixed location model typically generates 4, 5, 8, or 16 candidate locations around a feature; the sliding model uses the principle of planar collision detection to select candidate locations within the blank areas of the sliding trajectory.

[0003] The above two models can solve the problems of annotation conflicts and overlapping to a certain extent, but the generation methods of candidate positions are non-standard, too small in number, and inefficient. They fail to make full use of the blank areas of the drawing, which is not conducive to further improving the quality of annotation configuration. Summary of the Invention

[0004] The purpose of the present invention is to provide a method for selecting the number of candidate locations for multi-element map annotations based on a two-degree-of-freedom space, so as to solve the problems in the prior art raised in the above background technology.

[0005] To achieve the above object, the present invention adopts the following technical solutions:

[0006] A method for selecting the number of candidate annotation locations for a multi-element map based on a two-degree-of-freedom space is proposed. The method introduces the concept of theoretical limit values for combinations of candidate annotation locations, calculates the theoretical limit values for different numbers of candidate locations and their variations, and determines the optimal number of candidate annotation locations for different maps based on the variation curves of the theoretical limit values. The method includes the following steps:

[0007] S1. Input experimental vector map data Map0. The map contains different layers of points, lines and surfaces, and each layer has multiple elements.

[0008] S2. Output the specific number of candidate locations that should be generated for the map feature at its reference position and buffer distance, that is, the values of N and M. The total number of candidate locations is N*M;

[0009] S3. Determine the number of candidate positions.

[0010] Furthermore, the process of determining the number of candidate positions includes defining and setting parameters, and the steps are as follows:

[0011] Define the maximum value N of the number of candidate positions max The maximum value M is 36. max is 10;

[0012] Define a one-dimensional list List1 = [], which contains three fields: N, M, and F, where N and M represent the number of candidate locations at the reference location and buffer distance, and F represents the theoretical limit value of the number of candidate locations;

[0013] Define two-dimensional lists List2 = [] and List3 = [], where List2 is used to store the number of all different candidate positions and their theoretical limit values F, and List3 is used to store the corresponding optimal M values and theoretical limit values F under different N;

[0014] The definition length is (M max -1) arrays Lm and Fm; both are defined to have length N max Arrays Ln and Fn.

[0015] Furthermore, the process of determining the number of candidate positions also includes generating candidate positions as follows:

[0016] Based on the vector map Map0, set the N parameter to 1, 2, 3, ..., N in sequence. max , M parameter is set to 2, 3, 4, ..., M max ; Generate N and M candidate positions by bisection at the reference position and buffer distance in the two-degree-of-freedom space, and get N max *M max A set of candidate locations with different combinations.

[0017] Furthermore, the process of determining the number of candidate positions also includes calculating the theoretical limit values of annotation scores corresponding to different candidate positions, as follows:

[0018] The theoretical limit value F corresponding to each N and M is represented by List1, List1 = [N, M, F N*M ], and use the loop function to store all the lists List1 into the list List2, which contains the theoretical limit values corresponding to the generated different candidate positions, that is,

[0019] Furthermore, the process of determining the number of candidate locations also includes determining the optimal buffer distance M value corresponding to different N, and the steps are as follows:

[0020] Change M from 2 to M max The values are filled into the array Lm, Lm=[2,3,4,……,Mmax , as the abscissa data for the next step of finding the fitting curve;

[0021] Fill the theoretical limit value F corresponding to N = 1 in List2 into the array Fm, as the ordinate data for the next step of finding the fitting curve;

[0022] Using the data in the array Lm as the abscissa and the data in the array Fm as the ordinate, perform a cubic polynomial function fitting of the curve to find the expression P1 of the cubic polynomial curve fitting equation, P1 = AX 3 + BX 2 + CX + D;

[0023] Take the derivative of the cubic polynomial P1 to obtain the first derivative function P2 = 3AX 2 + 2BX + C, set it to 0, and the positive solution x1 can be obtained; if there are two positive solutions x1 and x2 (x1 < x2), take the smaller value x1 as the solution, and then output the largest integer M = [x1] that is not greater than x1. M represents the optimal value corresponding to the N curve, and use M(N) to represent the stable points of different N curves, that is, M(1), M(2), M(3), ……, M(N[[ID=Z19]] max ) as the stable points under different N (1 - N max );

[0024] Calculate the fitting equation and stable point of the next N curve again until all N are calculated, so as to obtain the stable points M(N) and their scoring values F under different N curves N*M(N) .

[0025] Furthermore, store the stable points (M(1) - M(N max )) corresponding to different N (1 - N max ) and their theoretical limit values into the two-dimensional list List3, that is:

[0026]

[0027] Set the N values (1 - N max ) and F values in the list List3 as the abscissa and ordinate in turn. Through the curve fitting cubic polynomial method, calculate the fitting curve equation and the solution of its first derivative function again, and obtain a new stable point N. The obtained N and M are the current optimal candidate position combination numbers.

[0028] Furthermore, fill the values of N from 1 to N max into Ln, Ln = [1, 2, 3,......, N max], as the horizontal coordinate data for the next step of finding the fitting curve;

[0029] List3 (N = 1, 2, 3, ..., N max ) corresponds to the theoretical limit value Fill in the array Fn, As the vertical coordinate data for the next step of finding the fitting curve;

[0030] Use the data in array Ln as the horizontal coordinate and the data in array Fn as the vertical coordinate to fit the cubic polynomial function of the curve and find the expression of the cubic polynomial curve fitting equation P3, P1 = AX 3 +BX 2 +CX+D;

[0031] Derivate the cubic polynomial P3 and find the smallest positive solution x1 whose derivative function is 0, then output the largest integer N = [x1] whose value is not greater than x1, and obtain a better value of N; if the smallest positive solution x1 cannot be obtained, define the maximum value N of N in the number of candidate positions max It is twice the original value, the maximum value of M max is twice the original value.

[0032] Furthermore, the determined N value and the corresponding optimal M value are output, and the output result is the number of candidate locations that should be generated for the input map.

[0033] Technical effects and advantages of the present invention: The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space proposed by the present invention has the following advantages over the prior art:

[0034] The present invention introduces the concept of theoretical limit values for map element annotations and calculates the theoretical limit values and their variations under different numbers of candidate locations. This can quickly determine the optimal number of candidate locations for the map, improve the efficiency of automatic annotation configuration, and reduce unnecessary calculations. It also provides a new approach for determining the number of candidate locations for annotations. DETAILED DESCRIPTION

[0035] The technical solutions in the embodiments of the present invention are clearly and completely described. Obviously, the embodiments described are only some embodiments of the present invention, not all embodiments. The specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of the present invention.

[0036] An embodiment of the present invention provides a method for selecting the number of candidate locations for multi-element map annotation based on a two-degree-of-freedom space, and the specific steps are as follows:

[0037] (1) Input experimental vector map data Map0, which contains different layers of points, lines, and surfaces, and each layer has multiple elements;

[0038] (2) Output the specific number of candidate locations that should be generated for the map element at its reference position and buffer distance, that is, the values of N and M. The total number of candidate locations is N*M;

[0039] (3) Determine the number of candidate locations.

[0040] (3-1) Parameter definition and setting:

[0041] (3-1-1) Define the maximum value N of the number of candidate positions max The maximum value M is 36. max is 10; enter (3-1-2);

[0042] (3-1-2) Define a one-dimensional list List1 = [], containing three fields: N, M, and F, where N and M represent the number of candidate locations at the reference location and buffer distance, and F represents the theoretical limit of the number of candidate locations. Go to (3-1-3);

[0043] (3-1-3) Define two-dimensional lists List2 = [] and List3 = [], where List2 is used to store the number of all different candidate positions (N corresponds to rows, M corresponds to columns) and their theoretical limit values F, and List3 is used to store the corresponding optimal M values and theoretical limit values F under different N. Go to (3-1-4);

[0044] (3-1-4) The definition length is (M max -1) arrays Lm and Fm; both are defined to have length N max Arrays Ln and Fn; enter (3-2);

[0045] (3-2) Candidate location generation

[0046] Based on the vector map Map0, set the N parameter to 1, 2, 3, ..., N in sequence. max , M parameter is set to 2, 3, 4, ..., M max , respectively, generate N and M candidate positions by bisection at the reference position (R) and buffer distance (B) in the two-degree-of-freedom space, and obtain N max *M max A set of candidate locations with different combinations (1*2, 1*3, 1*4, ..., 1*M max ,2*2,2*3,2*4,…,2*M max 、......、N max *2、Nmax *3、N max *4, ..., N max *M max )'s candidate position set; enter (3-3);

[0047] (3-3) Calculate the theoretical limit value of the annotation score corresponding to different candidate positions (N*M). The theoretical limit value F corresponding to each N and M is represented by List1. List1=[N,M,F N*M ], and use the (for iin range) loop function to store all the lists List1 into the list List2, which contains the theoretical limit values corresponding to the generated different candidate positions (N*M), that is, Enter (3-4);

[0048] (3-4) Determine the optimal buffer distance M value for different N. As N and M increase, the number of candidate positions increases. The more candidate positions there are, the greater the possibility of having annotations with fewer overlapping conflicts. The corresponding theoretical limit value will also gradually decrease. Theoretically, as N and M continue to increase, the theoretical limit value will gradually show a decreasing trend. Therefore, we can use the curve fitting method to find the curve equation, and then find the point where the first-order derivative is 0. This point is the stable point of the curve. The specific process is as follows:

[0049] (3-4-1) Change M from 2 to M max The values are filled into the array Lm, Lm=[2,3,4,……,M max ], as the horizontal coordinate data for the next step of fitting curve; enter (3-4-2);

[0050] (3-4-2) Change N=1(M=2, 3, 4, ..., M in List2) max )The corresponding theoretical limit value F is filled into the array Fm, As the vertical coordinate data for the next step of fitting curve; enter (3-4-3);

[0051] (3-4-3) Using the data in array Lm as the horizontal coordinate and the data in array Fm as the vertical coordinate, perform a cubic polynomial function fit on the curve and find the expression P1 of the cubic polynomial curve fitting equation, P1 = AX 3 +BX 2 +CX+D; enter (3-4-4);

[0052] (3-4-4) Derivative the cubic polynomial P1 and obtain the first-order derivative function P2 = 3AX2 +2BX + C, set it to 0, and the positive solution x1 can be obtained; if there are two positive solutions x1 and x2 (x1 < x2), take the smaller value x1 as the solution, and then output the largest integer M = [x1] that is not greater than x1. M represents the better value (stable point) corresponding to the N curve, and M(N) is used to represent the stable points of different N curves, that is, M(1), M(2), M(3),......, M(N max ) as the stable points under different N (1 - N max ); Enter (3 - 4 - 5);

[0053] (3 - 4 - 5) Enter step (3 - 4 - 2) again, calculate the fitting equation and stable point of the next N curve until all N are calculated, and thus obtain the stable points M(N) and their scoring values F under different N curves N*M(N) ; Enter (3 - 5);

[0054] (3 - 5) Store the stable points (M(1) - M(N max )) corresponding to different N (1 - N max ) obtained in the above step (3 - 4) and their theoretical limit values into the two - dimensional list List3, that is: Enter (3 - 6);

[0055] (3 - 6) Set the N values (1 - N max ) and F values in the list List3 as the abscissa and ordinate in turn. Through the curve - fitting cubic polynomial method, calculate the fitting curve equation and the solution of its first - derivative function again, and obtain a new stable point N. The obtained N and M are the current better candidate position combination numbers. The specific process is as follows:

[0056] (3 - 6 - 1) Fill the values of N from 1 to N max into Ln, Ln = [1, 2, 3,......, M max , as the abscissa data for the next step of finding the fitting curve; Enter (3 - 6 - 2);

[0057] (3 - 6 - 2) Fill the theoretical limit values max corresponding to the cases of (N = 1, 2, 3,......, N ) into the array Fn, as the ordinate data for the next step of finding the fitting curve; Enter (3 - 6 - 3);

[0058] (3-6-3) Using the data in array Ln as the horizontal coordinate and the data in array Fn as the vertical coordinate, perform a cubic polynomial function fit on the curve and find the expression P3, P1 = AX for the cubic polynomial curve fitting equation. 3 +BX 2 +CX+D; enter (3-6-4);

[0059] (3-6-4) Referring to the method in step (3-4-4), take the derivative of the cubic polynomial P3 and find the minimum positive solution x1 whose derivative function is 0. Then output the maximum integer N = [x1] whose value is not greater than x1, and obtain a better value of N. Go to (3-7); if the minimum positive solution x1 cannot be obtained, define the maximum value N of N in the number of candidate positions. max It is twice the original value, the maximum value of M max It is twice the original value, and enters (3-1-2);

[0060] (3-7) outputs the N value determined in (3-6-4) and the corresponding optimal value of M (stable point) in (3-4). The output result is the number of candidate locations (N*M) that should be generated for the input map.

[0061] In this embodiment, by introducing the concept of theoretical limit values for map feature annotations and calculating the theoretical limit values and changes under different numbers of candidate locations, the optimal number of candidate locations for the map can be quickly determined, which can improve the efficiency of automatic annotation configuration and reduce unnecessary calculations. It also provides a new approach for determining the number of candidate locations for annotations. The ideal target state for map annotation configuration is that when there is no conflict between any two feature annotations and annotations, each annotation is in the most ideal position possible. At this time, the annotation quality evaluation model only needs to consider the overlap factor between the annotation and the ground feature, the position priority factor, and the ambiguity factor. The permutation and combination of candidate locations with the lowest comprehensive score for each annotation quality can be called the theoretical optimal permutation and combination method, and the sum of their scores is called the theoretical limit value. The smaller the theoretical limit value, the better the annotation configuration scheme of the optimal permutation and combination among the permutations and combinations of the number of candidate locations. Therefore, we can use the corresponding theoretical limit values for different candidate locations as a basis for selecting the number of candidate locations for map features.

[0062] Finally, it should be noted that the above is only a preferred embodiment of the present invention and is not intended to limit the present invention. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art can still modify the technical solutions described in the aforementioned embodiments or make equivalent substitutions for some of the technical features therein. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention should be included in the scope of protection of the present invention.

Claims

1. A method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space, characterized in that: This selection method introduces the concept of theoretical limit value of annotation candidate location combinations, calculates the theoretical limit values of different candidate location numbers and their changes, and determines the optimal number of annotation candidate locations for different maps based on the change curve of the theoretical limit values. It includes the following steps: S1. Input experimental vector map data Map0. The map contains different layers of points, lines and surfaces, and each layer has multiple elements. S2. Output the specific number of candidate locations that should be generated for the map feature at its reference position and buffer distance, that is, the values of N and M. The total number of candidate locations is N*M; S3. Determine the number of candidate positions. The process of determining the number of candidate positions includes defining and setting parameters. The steps are as follows: Define the maximum value N of the number of candidate positions max The maximum value M is 36. max is 10; Define a one-dimensional list List1 = [], which contains three fields: N, M, and F, where N and M represent the number of candidate locations at the reference location and buffer distance, and F represents the theoretical limit value of the number of candidate locations; Define two-dimensional lists List2 = [] and List3 = [], where List2 is used to store the number of all different candidate positions and their theoretical limit values F, and List3 is used to store the corresponding optimal M values and theoretical limit values F under different N; The definition length is (M max -1) arrays Lm and Fm; both are defined to have length N max Arrays Ln and Fn; The process of determining the number of candidate positions also includes generating candidate positions as follows: Based on the vector map Map0, set the N parameter to 1, 2, 3, ..., N in sequence. max , M parameter is set to 2, 3, 4, ..., M max ; Generate N and M candidate positions by bisection at the reference position and buffer distance in the two-degree-of-freedom space, and get N max *M max A set of candidate locations with different combinations.

2. The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space according to claim 1, characterized in that: The process of determining the number of candidate locations also includes calculating the theoretical limit values of annotation scores corresponding to different candidate locations as follows: The theoretical limit value F corresponding to each N and M is represented by List1, List1 = [N, M, F N*M ], and use the loop function to store all the lists List1 into the list List2, which contains the theoretical limit values corresponding to the generated different candidate positions, that is, 3. The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space according to claim 2, characterized in that: The process of determining the number of candidate locations also includes determining the optimal buffer distance M value corresponding to different N, and the steps are as follows: Change M from 2 to M max The values are filled into the array Lm, Lm=[2,3,4,……,M max ], as the horizontal coordinate data for the next step of finding the fitting curve; Fill the theoretical limit value F corresponding to the case of N=1 in List2 into the array Fm, As the vertical coordinate data for the next step of finding the fitting curve; Use the data in array Lm as the horizontal coordinate and the data in array Fm as the vertical coordinate to fit the curve with a cubic polynomial function, and find the expression P1 of the cubic polynomial curve fitting equation, P1=AX 3 +BX 2 +CX+D; Derive the cubic polynomial P1 to obtain the first derivative function P2 = 3AX 2 + 2BX + C, and set it to 0 to find the positive solution x1; if there are two positive solutions x1 and x2 (x1 < x2), take the smaller value x1 as the solution, and then output the largest integer M = [x1] that is not greater than x1. M represents the optimal value corresponding to the N curve, and use M(N) to represent the stationary points of different N curves, that is, M(1), M(2), M(3), ……, M(N max ) as the stationary points under different N (1 - N max ); Calculate the fitting equation and stable point of the next N curve again until all N are calculated, so as to obtain the stable point M(N) and its score F under different N curves N*M(N) .

4. The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space according to claim 3, characterized in that: Different N(1-N max ) corresponds to the stationary point (M(1)-M(N max )) and its theoretical limit value Stored in the two-dimensional list List3, that is: Take the value of N in List3 (1-N max ) and F value The values are set as the horizontal and vertical coordinates in turn, and the solution of the fitting curve equation and its first-order derivative function is calculated again by curve fitting a cubic polynomial, and a new stable point N is obtained. The obtained N and M are the current better number of candidate position combinations.

5. The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space according to claim 4, characterized in that: Change N from 1 to N max The value of is filled into Ln, Ln=[1,2,3,......,N max ], as the horizontal coordinate data for the next step of finding the fitting curve; List3 (N = 1, 2, 3, ..., N max ) corresponds to the theoretical limit value Fill in the array Fn, As the vertical coordinate data for the next step of finding the fitting curve; Use the data in array Ln as the horizontal coordinate and the data in array Fn as the vertical coordinate to fit the cubic polynomial function of the curve and find the expression of the cubic polynomial curve fitting equation P3, P1 = AX 3 +BX 2 +CX+D; Derivate the cubic polynomial P3 and find the smallest positive solution x1 whose derivative function is 0, then output the largest integer N = [x1] whose value is not greater than x1, and obtain a better value of N; if the smallest positive solution x1 cannot be obtained, define the maximum value N of N in the number of candidate positions max It is twice the original value, the maximum value of M max is twice the original value.

6. The method for selecting the number of candidate locations for multi-element map annotation based on two-degree-of-freedom space according to claim 5, characterized in that: Output the determined N value and the corresponding optimal value of M in the input map. The output result is the number of candidate locations that should be generated for the input map.

Citation Information

Patent Citations

  • Automatic collocation method for map lettering during map making through computer

    CN102136218A

  • Expression Interpretation Engine for Computer Map Visualizations

    US20190130625A1