<!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><FONT face=Arial color=#0000ff size=2><SPAN class=205014620-01102002>To be
honest, I have very little experience with scaleable symbols...I just know
MapServer has support for them. In the documentation, <A
href="http://mapserver.gis.umn.edu/doc36/mapfile-reference.html">http://mapserver.gis.umn.edu/doc36/mapfile-reference.html</A> see:</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002>SYMBOLSCALE under the LAYER
object</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002>MINSCALE, MAXSCALE under the CLASS
object</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=205014620-01102002>Others
can spread more light on scaleable symbols than I can, I'm
sure.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002></SPAN></FONT> </DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN
class=205014620-01102002>-Dan</SPAN></FONT></DIV>
<BLOCKQUOTE>
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Mike Smith
[mailto:nospam@cnrit.tamu.edu]<BR><B>Sent:</B> Tuesday, October 01, 2002 3:40
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></FONT></DIV>OK, I'll buy that.
I'm disappointed to hear that, though, because my .map file is 3400
lines long and I've got 4 versions of it to alter each time I make a change
because I provide users a java-applet based version of the page and a
non-applet version, as well as large and small map variations...OUCH!
This is going to be very tedious to implement, but I guess that's what I
get paid for! :-) <BR><BR>About the scaleable symbols...I'm not using
them because I don't know what they are? I've got a symbols.sym file
defined (that I took from the maplab tar archive) and it's got a bunch of
symbols defined in it and I scale them with the "SIZE" keyword in my map
file...is there something else I could do? What exactly is a "scaleable
symbol"?<BR><BR>Thanks very much for your help!<BR><BR>Martin, Daniel
wrote:<BR>
<BLOCKQUOTE
cite="mid:4ACBA1414DD9EE418CC250E4AAA9035A192B35@STL-EXBE-I03.corp.erac.com"
type="cite">
<META content="MSHTML 5.50.4613.1700" name=GENERATOR>
<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></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></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></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></SPAN> </DIV>
<DIV><SPAN class=859301620-01102002><FONT face=Arial color=#0000ff
size=2>-Dan</FONT></SPAN></DIV>
<DIV> </DIV>
<DIV><FONT face=Tahoma><FONT size=2><SPAN
class=859301620-01102002> </SPAN>-----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 2:43 PM<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></FONT></DIV>
<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></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-!<BR>
user!<BR><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@cn!<BR>rit.!<BR>tam
u!<BR>.ed<BR>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, b
ut!<BR> there<BR>'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></BLOCKQUOTE><BR></BLOCKQUOTE></BODY></HTML>