发明名称 System and method for labeling maps
摘要 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.
申请公布号 US9292949(B2) 申请公布日期 2016.03.22
申请号 US201414231753 申请日期 2014.04.01
申请人 发明人 Gelber Theodore J.
分类号 G06T11/60 主分类号 G06T11/60
代理机构 代理人 Tichane David
主权项 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, wherein the boundary of the map is a rectangle, and wherein the determining, if the label is not wholly within the boundary of the map, the fraction of the label area that is inside the boundary of the map, comprises: circumscribing a rectangle around the boundary of the label, dividing the rectangle into a n by m grid of sub-rectangles, testing a centroid of each sub-rectangle to determine if the sub-rectangle centroid is inside the label, testing, if the centroid is inside the label, if the centroid is inside the boundary of the map, 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.
地址