<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META content="MSHTML 5.50.4613.1700" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff size=2>It's
all clear now. Sorry for the misunderstanding.</FONT></SPAN></DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff size=2>AFAIK,
classes don't have a status you can access in the
HTML legend like layers (unfortunately). What I know will work
(because I do it all the time) is creating 4 separate layers each with 1 and
only 1 class and moving your MINSCALE and MAXSCALE settings to the layer
object. Give all the layers the same name (very important).
</FONT></SPAN></DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff size=2>This
will perform exactly the same since you have no crossover of scale, and the HTML
legend will perform as you expect it to. </FONT></SPAN></DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=859301620-01102002></SPAN><SPAN class=859301620-01102002><FONT
face=Arial color=#0000ff size=2>On a separate subject, you might be better
off using scaleable symbols rather than your current solution. But,
perhaps you have reasons for not using them.</FONT></SPAN></DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2>-Dan</FONT></SPAN></DIV>
<DIV><FONT face=Tahoma><FONT size=2><SPAN
class=859301620-01102002></SPAN></FONT></FONT> </DIV>
<DIV><FONT face=Tahoma><FONT size=2><SPAN
class=859301620-01102002> </SPAN>-----Original Message-----<BR><B>From:</B>
Mike Smith [mailto:nospam@cnrit.tamu.edu]<BR><B>Sent:</B> Tuesday, October 01,
2002 2:43 PM<BR><B>To:</B> Martin, Daniel<BR><B>Cc:</B>
mapserver-users@lists.gis.umn.edu<BR><B>Subject:</B> Re: [mapserver-users] HTML
Legend with Status Checking...<BR><BR></DIV></FONT></FONT>
<BLOCKQUOTE>LAYER<BR> NAME Parima_Surveyhouseholds<BR> GROUP
Region<BR> TYPE Point<BR> STATUS off<BR> DATA
parima_surveyhouseholds<BR> HEADER
'parima_surveyhouseholds.shp_header.html'<BR> TEMPLATE
parima_surveyhouseholds.shp_query.html<BR><BR>
CLASS<BR> MINSCALE
20136780<BR> Name 'Parima Survey
Households'<BR> SYMBOL
'triangle'<BR> SIZE
5<BR> COLOR 255 0
0<BR> OUTLINECOLOR 0 0
0<BR> END #
CLASS<BR><BR>
CLASS<BR> MINSCALE
10068390<BR> MAXSCALE
20136779<BR> Name 'Parima Survey
Households'<BR> SYMBOL
'triangle'<BR> SIZE
8<BR> COLOR 255 0
0<BR> OUTLINECOLOR 0 0
0<BR> END #
CLASS<BR><BR>
CLASS<BR> MINSCALE
5034193<BR> MAXSCALE
10068389<BR> Name 'Parima Survey
Households'<BR> SYMBOL
'triangle'<BR> SIZE
11<BR> COLOR 255 0
0<BR> OUTLINECOLOR 0 0
0<BR> END #
CLASS<BR><BR>
CLASS<BR> MINSCALE
0<BR> MAXSCALE
5034192<BR> Name 'Parima Survey
Households'<BR> SYMBOL
'triangle'<BR> SIZE
15<BR> COLOR 255 0
0<BR> OUTLINECOLOR 0 0
0<BR> END # CLASS<BR><BR>END #
LAYER<BR><BR>Martin, Daniel wrote:<BR>
<BLOCKQUOTE
cite="mid:4ACBA1414DD9EE418CC250E4AAA9035A192B34@STL-EXBE-I03.corp.erac.com"
type="cite">
<META content="MSHTML 5.50.4613.1700" name=GENERATOR>
<DIV><SPAN class=692135717-01102002><FONT face=Arial color=#0000ff
size=2>Could you provide the map file definition for the Parima Survey
Households layer?</FONT></SPAN></DIV>
<DIV><SPAN class=692135717-01102002><FONT face=Arial color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=692135717-01102002><FONT face=Arial color=#0000ff
size=2>Thanks,</FONT></SPAN></DIV>
<DIV><SPAN class=692135717-01102002><FONT face=Arial color=#0000ff
size=2>Dan</FONT></SPAN></DIV>
<BLOCKQUOTE>
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Mike Smith [<A
class=moz-txt-link-freetext
href="mailto:nospam@cnrit.tamu.edu">mailto:nospam@cnrit.tamu.edu</A>]<BR><B>Sent:</B>
Tuesday, October 01, 2002 11:56 AM<BR><B>To:</B> Martin,
Daniel<BR><B>Cc:</B> <A class=moz-txt-link-abbreviated
href="mailto:mapserver-users@lists.gis.umn.edu">mapserver-users@lists.gis.umn.edu</A><BR><B>Subject:</B>
Re: [mapserver-users] HTML Legend with Status
Checking...<BR><BR></FONT></DIV>Same thing. Now I don't have group
header bars seperating my layers, but all the layers still show up and
when I click on a layer that has scale-specific classes, the symbols for
all scales still show up. By the way, I'm on Mapserver 3.6.1 and
here's the page to go to if you want to see what I'm talking
about:<BR><BR><A class=moz-txt-link-freetext
href="http://cnrit.tamu.edu/maps/map_init.html">http://cnrit.tamu.edu/maps/map_init.html</A>
<BR><BR>Click on the very last button on that page (the one that says
"FRAMES VERSION" on it). When the map shows up, expand the
"Regional" folder on the left-hand side to display those layers. The
one that I'm working on right now is called "Parima Survey Households".
Click on that layer to load it into the map, then you'll see the
various symbols I'm referring to show up in the legend. I represent
the Parima households with red triangle symbols and I have different sized
triangles depending on how far zoomed in you are so that they are small at
a high scale and larger as you zoom in...but I don't want all versions of
that symbol to show up in my legend all the time...just the one that's in
scale.<BR><BR>Thanks again!<BR><BR>Martin, Daniel wrote:<BR>
<BLOCKQUOTE
cite="mid:4ACBA1414DD9EE418CC250E4AAA9035A16F347@STL-EXBE-I03.corp.erac.com"
type="cite">
<META content="MSHTML 5.50.4613.1700" name=GENERATOR>
<DIV><SPAN class=328113416-01102002><FONT face=Arial color=#0000ff
size=2>Try this. Take out the leg_group_html section, and the
leg_layer_html section, leaving only the leg_class_html section.
Take them out entirely - don't leave an empty set of tags. Then,
let me know what happens.</FONT></SPAN></DIV>
<DIV><SPAN class=328113416-01102002></SPAN> </DIV>
<DIV><SPAN class=328113416-01102002><FONT face=Arial color=#0000ff
size=2>-Dan</FONT></SPAN></DIV>
<BLOCKQUOTE>
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Mike Smith [<A
class=moz-txt-link-freetext href="mailto:nospam@cnrit.tamu.edu">
mailto:nospam@cnrit.tamu.edu</A> ]<BR><B>Sent:</B> Tuesday, October
01, 2002 11:33 AM<BR><B>To:</B> Martin, Daniel<BR><B>Cc:</B><A
class=moz-txt-link-abbreviated
href="mailto:mapserver-users@lists.gis.umn.edu">
mapserver-users@lists.gis.umn.edu</A> <BR><B>Subject:</B> Re:
[mapserver-users] HTML Legend with Status
Checking...<BR><BR></FONT></DIV>Gladly. Here is my legend
code:<BR><BR>[leg_group_html]<BR>
<tr><BR> <td
colspan=3
bgcolor=#cccccc><b>[leg_group_name]</b></td><BR>
</tr><BR>[/leg_group_html]<BR><BR>[leg_layer_html]<BR>[/leg_layer_html]<BR><BR>[leg_class_html]<BR>
<tr><BR> <td
width=15> </td><BR>
<td><BR>
<img src="[leg_icon width=15 height=15]" width=15
height=15><BR>
</td><BR>
<td><BR>
[leg_class_name]<BR>
</td><BR>
</tr><BR>[/leg_class_html]<BR><BR><BR>However, it does not work
as you say (and as the documentation on the web page says!).
Layers that are "off" do not show up (that's as expected and
what I want), that's fine, but layers that are out of SCALE DO show
up, and that's not as expected and that's not as the documentation
states and that's NOT what I want. For example, I have a layer
called Ethiopia_Rivers...here's what it looks
like:<BR><BR>LAYER<BR> NAME "Ethiopia_Rivers"<BR> TYPE
LINE<BR> STATUS off<BR> GROUP Ethiopia<BR> DATA
"ethiopia_rivers"<BR> HEADER
'ethiopia_rivers.shp_header.html'<BR>
CLASS<BR> MAXSCALE
8710165<BR> Name 'Ethiopia
Rivers'<BR> COLOR 102 204
255<BR> TEMPLATE
ethiopia_rivers.shp_query.html<BR> END #
CLASS<BR>END # LAYER<BR><BR>Now, when I'm viewing my map at full
extent, my scale factor is 1:<FONT size=3><B> 20136789</B></FONT>,
therefore if I click on the Ethiopia_Rivers layer at that zoom level,
nothing shows up in the map. This is the exact behavior that I
would expect...I'm out of scale for that layer, so it doesn't show up
in the map until I zoom in. The PROBLEM, however, is that the
"Ethiopia Rivers" icon and label pop up in my legend...this is
counter-intuitive, contrary to the documented behavior of Mapserver,
and just flat-out frustrating! If the layer is not showing up in
my map (because it's out of scale), then it should NOT be in my legend
either. Grrrr!!! Pardon me for sounding bitter...I'm not
lashing out at you, I'm very grateful for your help, I'm just
frustrated at Mapserver.<BR><BR>Thanks!<BR><BR>Martin, Daniel
wrote:<BR>
<BLOCKQUOTE
cite="mid:4ACBA1414DD9EE418CC250E4AAA9035A192B33@STL-EXBE-I03.corp.erac.com"
type="cite"><PRE wrap="">Perhaps I misunderstood. By default (no opt_flag set) layers that are out<BR>of scale and layers that have a STATUS off will not show in an HTML legend.<BR><BR><BR>A legend exactly like this should do exactly what it sounds like you want:<BR><BR>[leg_class_html]<BR><TR><BR> <TD><BR> <img src="[leg_icon]" border=0><BR> </TD><BR> <TD> <BR> <font face="arial" size=2>[leg_class_name]</font><BR> </TD><BR></TR><BR>[/leg_class_html]<BR><BR>I'm not sure why you are having trouble getting the default action. Perhaps<BR>you could provide your current legend.<BR><BR>-Dan<BR><BR>-----Original Message-----<BR>From: Mike Smith [<A class=moz-txt-link-freetext href="mailto:nospam@cnrit.tamu.edu">mailto:nospam@cnrit.tamu.edu</A>]<BR>Sent: Tuesday, October 01, 2002 10:59 AM<BR>To: Martin, Daniel<BR>Cc: <A class=moz-txt-link-abbreviated href="mailto:mapserver-users@lists.gis.umn.edu">mapserver-user!<BR>
s@li!<BR><BR>sts.gis.u<BR>mn.edu</A><BR>Subject: Re: [mapserver-users] HTML Legend with Status Checking...<BR><BR><BR>Thank you, but this didn't change a thing. Actually, let me correct <BR>that...it had a negative effect because now all my layers show up too, <BR>even if they are not displayed in the map. I want only active layers to <BR>show in the legend and I want only IN-SCALE class symbols to show up in <BR>the legend, I don't want 4 symbols to show up in the legend for every <BR>layer that I have which has scale-specific classes...I just don't guess <BR>I can do that without converting everything over to Mapscript. X-(<BR><BR>Any other ideas?<BR><BR>Martin, Daniel wrote:<BR><BR></PRE>
<BLOCKQUOTE type="cite"><PRE wrap="">You probably want a bit mask of 2 in your opt_flag. Layers with STATUS off<BR>still show, but layers out of scale don't show. <BR><BR>[leg_layer_html opt_flag=2]<BR><BR><BR>Per <A class=moz-txt-link-freetext href="http://mapserver.gis.umn.edu/doc36/html-legend-howto.html">http://mapserver.gis.umn.edu/doc36/html-legend-howto.html</A> :<BR><BR>1: If set, show layer even if out of scale (default: hide layers out of<BR>scale). <BR><BR>2: If set, show layer even if status is OFF (default: hide layers with<BR>STATUS OFF). <BR><BR>4: If set, show layer even if type is QUERY (default: hide layers of TYPE<BR>QUERY) <BR><BR>8: If set, show layer even if type is ANNOTATION (default: hide layers of<BR>TYPE ANNOTATION) <BR><BR><BR>In my experience, opt_flag=2 is the most intuitive.<BR><BR>-Dan<BR><BR><BR><BR>-----Original Message-----<BR>From: Mike Smith [<A class=moz-txt-link-freetext href="mailto:nospam@cnrit.tamu.edu">mailto:nospam@cnrit.!<BR>tamu!<BR>.ed
u</A>]<BR>Sent: Mo<BR>nday, September 30, 2002 5:06 PM<BR>To: <A class=moz-txt-link-abbreviated href="mailto:mapserver-users@lists.gis.umn.edu">mapserver-users@lists.gis.umn.edu</A><BR>Subject: [mapserver-users] HTML Legend with Status Checking...<BR><BR><BR>Hello,<BR><BR> I've seen how you can make legends using PHP Mapscript that check to <BR>see whether a layer or class is in scale before displaying it in the <BR>legend, but no mention of how to do this if I'm not using Mapscript. I <BR>have sub-classed many of my layers so that symbols show up in different <BR>sizes depending on how far zoomed in you are. In other words, I'm using <BR>"MINSCALE" and "MAXSCALE" in my classes, but all of my classes show up <BR>in the legend and that's really annoying! I want ONLY the in-scale <BR>symbol to show up in the legend as it does in the map...any tips on how <BR>to do this without Mapscript? I see the "if" conditional statements in <BR>the HTML Legend How-to, but!<BR> there
's no status o<BR>f "SCALE" to <BR>check with <BR>those statements... if I could put an if statement in my legend template <BR>that checked whether or not a class or layer was in scale, then I'd be <BR>in business...any way to do this?<BR><BR>Thanks!<BR><BR><BR></PRE></BLOCKQUOTE><PRE wrap=""><!----><BR><BR><BR></PRE></BLOCKQUOTE><BR></BLOCKQUOTE></BLOCKQUOTE><BR></BLOCKQUOTE></BLOCKQUOTE><BR></BLOCKQUOTE></BODY></HTML>