System and method for labeling maps
First Claim
1. A method for generating a solution for pulling a label within a boundary of a map utilizing a computer system comprising the computer implemented steps of:
- determining, if the label is not wholly within the boundary of the map, a fraction of a label area that is inside the boundary of the map,moving the label within the boundary of the map if;
a. the fraction of the label area inside the boundary of the map is greater than a predetermined value,b. a distance of a movement of the label is less than a maximum movement permitted from an original position, andc. the movement would result in all vertices located within the boundary of the map,and thenoutputting the solution to a caller,wherein a boundary of the label is a convex polygon with pre-assigned properties including the original position, the vertices, a type of movement allowed, and the maximum movement permitted from the original position, andwherein the boundary of the map is a rectangle.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method for label placement is disclosed that achieves the twin goals of practical efficiency and high labeling quality by employing cartographic heuristics. A caller defines map and label properties. Then labels are pulled within a map boundary. Labels are next ordered by priority in descending importance. The order of testing labels is determined. Attempts are made to move overlapping labels. This is an iterative process; therefore there must be criteria that halt the procedure. Upon reaching an acceptable solution, the label properties are adjusted to reflect the new label placements.
21 Citations
23 Claims
-
1. A method for generating a solution for pulling a label within a boundary of a map utilizing a computer system comprising the computer implemented steps of:
-
determining, if the label is not wholly within the boundary of the map, a fraction of a label area that is inside the boundary of the map, moving the label within the boundary of the map if; a. the fraction of the label area inside the boundary of the map is greater than a predetermined value, b. a distance of a movement of the label is less than a maximum movement permitted from an original position, and c. the movement would result in all vertices located within the boundary of the map, and then outputting the solution to a caller, wherein a boundary of the label is a convex polygon with pre-assigned properties including the original position, the vertices, a type of movement allowed, and the maximum movement permitted from the original position, and wherein the boundary of the map is a rectangle. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for generating a solution for pulling a label within a boundary of a map utilizing a computer system comprising the computer implemented steps of:
-
determining, if the label is not wholly within the boundary of the map, a fraction of a label area that is inside the boundary of the map, moving the label within the boundary of the map if; a. the fraction of the label area inside the boundary of the map is greater than a predetermined value, b. a distance of a movement of the label is less than a maximum movement permitted from an original position, and c. the movement would result in all vertices located within the boundary of the map, and then outputting the solution to a caller, wherein a boundary of the label is defined by a convex polygon so that the polygon circumscribes the label, the label having pre-assigned properties including the original position, the vertices, a type of movement allowed, and the maximum movement permitted from the original position, and wherein the boundary of the map is a rectangle. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for generating a solution for pulling a label within a boundary of a map utilizing a computer system comprising the computer implemented steps of:
-
determining, if the label is not wholly within the boundary of the map, a fraction of a label area that is inside the boundary of the map, moving the label within the boundary of the map if; a. the fraction of the label area inside the boundary of the map is greater than a predetermined value, b. a distance of a movement of the label is less than a maximum movement permitted from an original position, and c. the movement would result in all vertices located within the boundary of the map, and then outputting the solution to a caller, wherein a boundary of the label is defined by a convex polygon so that the polygon circumscribes the label, the label having pre-assigned properties including the original position, the vertices, a type of movement allowed, and the maximum movement permitted from the original position, wherein the label is discarded unless the label in its original position is at least partially within the boundaries of the map, and wherein the boundary of the map is a rectangle. - View Dependent Claims (18, 19, 20, 21, 22, 23)
and dividing a number of centroids both inside the label and inside the boundary of the map by a number of centroids inside the label.
-
-
23. The method of claim 17 further comprising discarding the label if the fraction of the label area inside the boundary of the map is less than a predetermined value;
-
wherein the boundary of the map is fixed relative to features within the boundary of the map; wherein the boundary of the map is additionally fixed relative to the original position of the label; and wherein the features are not eliminated before the discarding.
-
Specification