[Mapserver-users] Legend templates, classes and lines...

Steve Lime steve.lime at dnr.state.mn.us
Thu Jun 26 17:41:57 EDT 2003


The function msCreateLegendIcon already calls msClearLayerPenValues()
just before creating the legend image so it looks like that's not the
problem.

Steve

>>> Daniel Morissette <morissette at dmsolutions.ca> 06/26/03 09:26AM >>>
Steve,

Something that changed between 3.6 and 4.0 is color handling.  Could
it
be that we need a call to msClearPenValues() in msCreateLegendIcon()?

Daniel



Steve Lime wrote:
> 
> It's looking like a memory issue. The same legend works perfectly in
> 3.6. *argh*
> 
> Steve
> 
> >>> <Jean-Francois.Doyon at CCRS.NRCan.gc.ca> 06/24/03 03:43PM >>>
> Steve,
> 
> Hmmm, well the loop counter is definitely a possibility, though you
> will
> notice that there is a class index value used in the generation of
the
> filename for the class symbol, and it DOES increase ... (Just look
at
> the
> filenames, you'll see a _0_ , _1_ , _2_ and so on for symbols of
> different
> classes within one layer).
> 
> You know what I think I just noticed? All of our maps that use lines
> use
> different line styles and color for each class (At least so far as I
> can
> tell) ... this would explain why we never notied this.
> 
> A couple of things to look at: Does it happen with the GIF legend?
If
> not, I
> would suggest you try different line styles within that same layer
for
> each
> class, see if suddenly the colors come out right ... That'll at
least
> give
> you a good indication of where to look for the problem (which will
be
> in the
> code!).
> 
> I suppose that could yet be with some other counter ... I would be
> more
> inclined to suspect a pointer problem in this case.
> 
> J.F.
> 
> -----Original Message-----
> From: Steve Lime [mailto:steve.lime at dnr.state.mn.us] 
> Sent: Tuesday, June 24, 2003 4:15 PM
> To: Jean-Francois.Doyon at ccrs.nrcan.gc.ca;
> mapserver-users at lists.gis.umn.edu 
> Subject: RE: [Mapserver-users] Legend templates, classes and
lines...
> 
> J.F. - I verified that the 3 files are indeed the same. I'll paste
the
> layer definition below but it's pretty straight forward. Only thing
I
> can think of is a stuck loop counter someplace. I'll try using a
STYLE
> instead of just a COLOR and see if that helps.
> 
> Steve
> 
>   #
>   # Railroad Rights-of-Way Prairies
>   #
>   LAYER
>     NAME mnrrpln3
>     METADATA
>       "TITLE" "Railroad Rights-of-Way Prairies"
>     END
>     MAXSCALE 500000
>     SYMBOLSCALE 200000
>     STATUS OFF
>     DATA shapefiles/heritage/mnrrpln3
>     TYPE line
>     CLASSITEM 'quality'
>     CLASS
>       NAME 'Very Good'
>       EXPRESSION 'Very Good'
>       SYMBOL 'circle'
>       COLOR 255 0 0
>       SIZE 2
>       MAXSIZE 3
>       MINSIZE 1
>     END
>     CLASS
>       NAME 'Good'
>       EXPRESSION 'Good'
>       SYMBOL 'circle'
>       COLOR 255 125 33
>       SIZE 2
>       MAXSIZE 3
>       MINSIZE 1
>     END
>     CLASS
>       NAME 'Fair'
>       EXPRESSION 'Fair'
>       SYMBOL 'circle'
>       COLOR 255 211 23
>       SIZE 2
>       MAXSIZE 3
>       MINSIZE 1
>     END
>   END # mnrrpln3
> 
> >>> <Jean-Francois.Doyon at CCRS.NRCan.gc.ca> 06/24/03 01:02PM >>>
> Steve,
> 
> Hmmm, as you know we use HTML legends extensively, and as of yet
I've
> never
> heard of anybody running into this kind of problem in our shop.
> 
> It's a pretty simple legend template too, not much room for error.
> 
> Also the page output suggests MapServer DID indeed render 3
different
> icons
> for each of the classes.
> 
> I would try looking at the caching features of MapServer ... Maybe
> it's
> not
> overwriting previous icons? Clear the temp directory or something
like
> that?
> 
> Maybe you could send the mapfile along to see if there's anything
> weird
> in
> there? Otherwise, I'm afraid you'll have to look in the code!
> 
> Good luck!
> 
> J.F.
> 
> -----Original Message-----
> From: Steve Lime [mailto:steve.lime at dnr.state.mn.us] 
> Sent: Tuesday, June 24, 2003 1:48 PM
> To: mapserver-users at lists.gis.umn.edu 
> Subject: [Mapserver-users] Legend templates, classes and lines...
> 
> Hi Folks: I'm using 4.0 and wondered if anyone else has run into
> problems with legend templates with LINE layers and multiple
classes.
> Check out the following URL:
> 
> 
>
http://maps.dnr.state.mn.us/cgi-bin/mapserv40?mapserv=http%3A//maps.dnr.stat

> 
>
e.mn.us/cgi-bin/mapserv40&map_status=on&mapsize=800+750&map=LANDVIEW_HERITAG
>
E_MAPFILE&template=/usr/local/www/docs/landview/heritage/templates/print.htm
>
l&mapext=316287.17433148284+4891207.862044461+342298.221100423+4910705.97065
> 5294&layers=mnrrpln3+mnnpcpy3+mnsbspy3+lakes+ctybdln2+doq03im4
> 
> It's a "print" layout and uses the legend template functionality.
The
> problem is that the line legend for the "Railroad Rights-of-Way
> Praries"
> ain't right. The 3 classes should be red, yellow and orange (as in
the
> map) and not all red. The polygon layer below it ("Sites of
> Biodiversity
> Significance") works as expected. Before I run to the source code I
> want
> to make sure I'm not doing anything stupid. The legend template is
> included below.
> 
> Steve



More information about the mapserver-users mailing list