[Mapserver-users] Mapfile problem - polygon layer and labels

Sean Gillies sgillies at frii.com
Sun Mar 7 07:33:47 PST 2004


On Mar 6, 2004, at 8:15 PM, Mike Reilly wrote:

> Hi:
>
> I've got a work around for the problem I'm having right now, however, 
> it causes me to use two layers where I feel one would be more than 
> adequate.  I have a polygon layer called mergeplys, and in one layer 
> declaration I only want to display the layers that contain "food 
> harvest" in the "USE1" field.  To this end, I built the following 
> layers:
>
>  LAYER # TUS polygon layer begins here
>    NAME         tusfoodharvest
>    DATA         "mergeplys"
>    STATUS       ON
>    TYPE         POLYGON
>    TOLERANCE 3
>    PROJECTION
> #      "init=epsg:4326"
>    END
>    CLASSITEM "USE1"
>    CLASS
>      EXPRESSION   "food harvest"
>      TEMPLATE	   "templates/land_query.html"
>      COLOR        100 255 100
>      OUTLINECOLOR 0 255 0
> #      LABEL
> #        COLOR 0 0 0
> #	TYPE TRUETYPE
> #	FONT arial
> #	SIZE 12
> #       POSITION CC
> #        PARTIALS FALSE
> #        BUFFER 2
> #      END
>    END
>  END # TUS polygon layer ends her
>
>  LAYER
>    NAME	tusfoodharvest
>    DATA	"mergeplys"
>    STATUS      ON
>    MAXSCALE	5000000000
>    TYPE	ANNOTATION
>    LABELITEM	"USE1"
>    CLASSITEM	"USE1"
>    LABELMAXSCALE 500000000
>    CLASS
>      EXPRESSION "food harvest"
>      COLOR	0 0 0
>      LABEL
>        COLOR 0 0 0
> 	TYPE TRUETYPE
> 	FONT arial
> 	SIZE 12
>        POSITION CC
>        PARTIALS FALSE
>        BUFFER 2
>      END
>    END
>  END
>
> The first layer displays the polygon layer and the second one adds the 
> label to the polygon.  I would like to be able to combine these two 
> into a single layer.  My attempt at this is commented out in the 
> POLYGON layer above.  What am I missing here?
>
> On a separate note, I am creating a separate LAYER for each 
> EXPRESSION.  Is there a more efficient way to do this?  My .map file 
> is getting very large, and I suspect there's got to be a better way, 
> however, I haven't devised one as yet.
>
> TIA,
> Mike Reilly
>

Mike,

I see right away that the first layer does not define a LABELITEM.  That
may not be the _only_ problem, but you won't get a label without it.

Instead of a separate LAYER for each expression, use another CLASS.

    CLASS
      EXPRESSION   "food harvest"
      TEMPLATE	   "templates/land_query.html"
      COLOR        100 255 100
      OUTLINECOLOR 0 255 0
      ...
    END
    CLASS
      EXPRESSION   "other expression"
      TEMPLATE	   "templates/land_query.html"
      COLOR        200 55 200
      OUTLINECOLOR 0 255 0
      ...
    END

Hope this helps,
Sean

--
Sean Gillies
sgillies at frii dot com
http://users.frii.com/sgillies




More information about the MapServer-users mailing list