Mark,

A simple solution sounds good as long as it can fit into a strategic plan (I don't really have a plan for improving the polygon labeling, just a desire!).

On major releases of Mapserver I try to push the limits of its cartography by comparing its output to hand-composed pdfs of Canadian Topo maps [1] (not fair I know). One of the stumbling blocks I've run into is the labeling of polygons and I've speculated on the use of "rules-based" labeling. Here's my list of rules from a comment on RFC 77 [2].

"Allow for alternate label positions. While this is likely beyond the scope of RFC 77, perhaps it could be taken into account in design and implementation for later addition. Basically I'd like more flexibility (rule-based?) in labeling polygons:

    A. Try to place label in polygon.  If it doesn't fit:
    B. Rotate label to fit inside a polygon.  If it doesn't fit:
    C. Place polygon annotation outside polygon"

I wonder if adding keywords like CHECKLABELFIT (and other new ones) is the way to go or use PROCESSING directives instead?

[1] http://geogratis.cgdi.gc.ca/geogratis/en/product/search.do?id=A6291EF5-F3FC-A29F-3162-DE4DB194FD38
[2] http://lists.osgeo.org/pipermail/mapserver-dev/2011-December/011773.html

Best Regards,
Brent Fraser

On 12/11/2012 7:33 AM, Mark Volz wrote:
Hello,

Earlier in the year I had asked about forcing labels in their polygons.   And another 
person mentioned the issue in September.  At the time Steve W was concerned about 
complexity and performance in placing labels.  I was thinking lately that maybe this 
topic could be revisited.  However, this time around instead of dealing with 
"optimal" label placement within a polygon, maybe something much simpler would 
be better.  For example:

keyword : CHECKLABELFIT
-FALSE: Use the BBOX for labeling.  This is the current behavior, which is fast 
and should remain as the default.
-TRUE: Once the label is placed using the current label placement engine, check 
to make sure the BBOX of label falls within the actual boundary of the polygon, 
if it does not then skip the label.

This keyword should not be confused with any algorithm that places labels in an 
optimal position within the polygon such as one that tries to place a label 
horizontally, then strait if it doesn't fit.  Last, since check label fit is 
optional, this keyword should only impact performance on layers that a user 
wants to verify that the label is correctly placed.  It would never be needed 
for a layer where the polygons are rectangular such as sections, or townships.  
However it may be critical on soil layers.

Just some thoughts

Thanks

Reference
http://osgeo-org.1560.n6.nabble.com/force-labels-to-fit-in-polygons-td4549296.html
http://comments.gmane.org/gmane.comp.gis.mapserver.user/49333


Mark Volz
GIS Specialist


_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users



_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to