<!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 6.00.2800.1400" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Hi All,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>I managed to solve my problem of getting chameleon 
to serve a GIF for vector data, and a JPEG for full-colour imagery. If anyone is 
interested in doing a similar thing, insert the code below in the drawmap.php 
file, before the line that says 
"$oMapSession-&gt;oMap-&gt;selectOutputFormat($szImgType);"</FONT></DIV>
<DIV><FONT face=Arial size=2>The difference in filesize and quality make it well 
worth for users on a dial-up connection.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>In the mapfile, you'd have to specify a parameter 
in the metadata called FORCEJPG, if you want that layer to turn the mapimage to 
a JPEG.</FONT></DIV>
<DIV><FONT face=Arial 
size=2>-------------------------------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; for ($i=0; 
$i&lt;$oMapSession-&gt;oMap-&gt;numlayers; $i++)<BR>&nbsp;&nbsp;&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $oLayer = 
$oMapSession-&gt;oMap-&gt;getlayer($i);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
if ( ( $oLayer-&gt;getMetadata("FORCEJPG") ) &amp;&amp; ($oLayer-&gt;status == 
true)&nbsp; )<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $forceJPG = 
true;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; 
}</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>&nbsp;&nbsp;&nbsp; if ($forceJPG == 
true)<BR>&nbsp;&nbsp;&nbsp; {<BR>&nbsp;&nbsp;&nbsp; $szImgType = 
"JPEG";<BR>&nbsp;&nbsp;&nbsp; }<BR>&nbsp;&nbsp;&nbsp; else<BR>&nbsp;&nbsp;&nbsp; 
{<BR>&nbsp;&nbsp;&nbsp; $szImgType = "GIF";<BR>&nbsp;&nbsp;&nbsp; }</FONT></DIV>
<DIV><FONT face=Arial size=2>
<DIV><FONT face=Arial color=#0000ff 
size=2>---------------------------------------------------------------------------------------</FONT></DIV>
<DIV><FONT color=#0000ff></FONT>&nbsp;</DIV>
<DIV><FONT color=#0000ff></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <DIV></DIV>
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
  face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> 
  chameleon-bounces@lists.maptools.org 
  [mailto:chameleon-bounces@lists.maptools.org] <B>On Behalf Of </B>Jacob 
  Delfos<BR><B>Sent:</B> 24 August 2004 11:44<BR><B>To:</B> 
  chameleon@lists.maptools.org<BR><B>Subject:</B> Re: [Chameleon] change 
  imagetype on the fly<BR><BR></FONT></DIV>
  <DIV><FONT face=Arial size=2>Thanks Paul,</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I sort of got it working now. My problem was that 
  I didn't realize I was passing parameters into the main php page, which of 
  course wouldn't propagate to drawmap.php (dumb...).</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I'm automatically generating a hidden input field 
  in the form when my aerial photo becomes visible (using the legend template). 
  Unfortunately it doesn't get picked up until the next time I submit the form. 
  I may try to resort to iterating through the layers after all. I think it 
  could be a real advantage to switch to indexed colour (GIF) automatically when 
  there is only vector data visible.</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Thanks,</FONT></DIV>
  <DIV>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Jacob</FONT></DIV>
  <DIV>&nbsp;</DIV><FONT face=Arial size=2>
  <DIV><BR>-----Original Message-----<BR>From: Paul Spencer 
  [mailto:pagameba@magma.ca] <BR>Sent: 23 August 2004 20:31<BR>To: Jacob 
  Delfos<BR>Cc: <A 
  href="mailto:chameleon@lists.maptools.org">chameleon@lists.maptools.org</A><BR>Subject: 
  Re: [Chameleon] change imagetype on the fly</DIV>
  <DIV>&nbsp;</DIV>
  <DIV><BR>$http_form_vars is either POST or GET, not both.&nbsp; You could 
  try:</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>$http_form_vars = array_merge( $_POST, $_GET );</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>You can also:</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>print_r($http_form_vars);</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>and then view the source of your image to see the contents of the 
  array?</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>Cheers,</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>Paul</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>Jacob Delfos wrote:</DIV>
  <DIV>&nbsp;</DIV>
  <DIV>&gt; Paul,<BR>&gt;&nbsp; <BR>&gt; You are right, if I hardcode the 
  szImgType variable, it changes the <BR>&gt; imagetype. But it doesn't seem to 
  want to change any other way. There is <BR>&gt; this piece of code in there 
  which doesn't seem to have any effect:<BR>&gt;&nbsp; <BR>&gt; if 
  (isset($http_form_vars["gszImgType"]) &amp;&amp; <BR>&gt; 
  $http_form_vars["gszImgType"] != "")<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
  $szImgType = $http_form_vars["gszImgType"];<BR>&gt;&nbsp; <BR>&gt; The way I 
  see this, it should allow a parameter in the form called <BR>&gt; gszImgType 
  to override the imagetype. Why doesn't it work? Even if I <BR>&gt; just 
  try<BR>&gt;&nbsp; <BR>&gt; isset($http_form_vars["gszImgType"])<BR>&gt;&nbsp; 
  <BR>&gt; and place the gszImgType in the url as a parameter, or in the form as 
  an <BR>&gt; input type, it acts as if this variable isn't set. I'm not much of 
  a php <BR>&gt; expert, but I thought the isset function checks whether a 
  parameter has <BR>&gt; a value.....<BR>&gt;&nbsp; <BR>&gt; Is it because I use 
  a mapfile?<BR>&gt;&nbsp; <BR>&gt; regards,<BR>&gt;&nbsp; <BR>&gt; 
  Jacob<BR>&gt;&nbsp; <BR>&gt;&nbsp; <BR>&gt;&nbsp; <BR>&gt;&nbsp; <BR>&gt; 
  -----Original Message-----<BR>&gt; From: Paul Spencer 
  [mailto:pagameba@magma.ca]<BR>&gt; Sent: 19 August 2004 10:09<BR>&gt; To: 
  Jacob Delfos; <A 
  href="mailto:chameleon@lists.maptools.org">chameleon@lists.maptools.org</A> 
  <BR>&gt; &lt;<A 
  href="mailto:chameleon@lists.maptools.org">mailto:chameleon@lists.maptools.org</A>&gt;<BR>&gt; 
  Subject: Re: [Chameleon] change imagetype on the fly<BR>&gt;&nbsp; <BR>&gt; 
  <BR>&gt; Jacob, you should be able to modify the image type in drawmap.php 
  since <BR>&gt; this is the only<BR>&gt; place that it actually draws the 
  map.&nbsp; Note that drawmap does not save <BR>&gt; the map state, so<BR>&gt; 
  you would have to change it on every map draw.&nbsp; The code would look 
  <BR>&gt; something like:<BR>&gt;&nbsp; <BR>&gt; $oMap-&gt;selectOutputFormat( 
  'GIF' );<BR>&gt;&nbsp; <BR>&gt; I think.&nbsp; And you could insert this just 
  before the $oMap-&gt;draw(); <BR>&gt; call.&nbsp; You could also<BR>&gt; (at 
  the risk of adding a little overhead) loop through all the layers in <BR>&gt; 
  the map and test<BR>&gt; for the layer types and only switch to jpeg when a 
  raster layer is <BR>&gt; visible ...<BR>&gt;&nbsp; <BR>&gt; 
  Cheers,<BR>&gt;&nbsp; <BR>&gt; Paul<BR>&gt;&nbsp; <BR>&gt;&nbsp; 
  <BR>&gt;&nbsp; <BR>&gt; On Aug 18, "Jacob Delfos" &lt;<A 
  href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A> <BR>&gt; 
  &lt;<A 
  href="mailto:jacob.delfos@maunsell.com">mailto:jacob.delfos@maunsell.com</A>&gt;&gt; 
  wrote:<BR>&gt;&nbsp; &gt; Hi List,<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; I am attempting to modify chameleon 
  to allow the imagetype to change <BR>&gt; on the fly.<BR>&gt; Ideally, I want 
  to reach a situation where chameleon is smart enough to <BR>&gt; know it 
  should use<BR>&gt; gif, except when an aerial photograph is in the background. 
  This will <BR>&gt; greatly increase the<BR>&gt; speed of the page, because my 
  jpeg maps are typically around 88kb, <BR>&gt; whereas a gif would be<BR>&gt; 
  ten times smaller for linework and areas.<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; I tried to override the nImageType 
  in drawmap.php by making it pick <BR>&gt; it up from the http<BR>&gt; 
  parameters. But even if I hardcode the nImageType variable, I keep <BR>&gt; 
  getting a jpeg. Also<BR>&gt; (which may be the cause), the temporary map files 
  that are created <BR>&gt; specify jpeg as imagetype.<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; If I want to 
  override the imagetype, where do I change that?<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; 
  regards,<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; Jacob<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; JACOB DELFOS<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; SPATIAL INFORMATION ANALYST<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; Maunsell Australia Pty Ltd<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; 629 Newcastle Street<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt; PO Box 81<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; Leederville 
  6902<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; Western Australia<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; ABN 20 093 846 925<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; Tel&nbsp;&nbsp;&nbsp;&nbsp; + 61 8 
  9281 6185<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; Fax&nbsp;&nbsp;&nbsp; + 61 8 
  9281 6297<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; &gt; <A 
  href="mailto:jacob.delfos@maunsell.com">jacob.delfos@maunsell.com</A> &lt;<A 
  href="mailto:jacob.delfos@maunsell.com">mailto:jacob.delfos@maunsell.com</A>&gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt; 
  _______________________________________________<BR>&gt;&nbsp; &gt; Chameleon 
  mailing list<BR>&gt;&nbsp; &gt; <A 
  href="mailto:Chameleon@lists.maptools.org">Chameleon@lists.maptools.org</A> 
  &lt;<A 
  href="mailto:Chameleon@lists.maptools.org">mailto:Chameleon@lists.maptools.org</A>&gt;<BR>&gt;&nbsp; 
  &gt; &lt;a<BR>&gt; 
  href='http://lists.maptools.org/mailman/listinfo/chameleon'&gt;http://lists.maptools.org/mailman/listinfo/chameleon&lt;/a&gt;<BR>&gt;&nbsp; 
  &gt;<BR>&gt;&nbsp; &gt;<BR>&gt;&nbsp; <BR>&gt; if 
  (isset($http_form_vars["gszImgType"]) &amp;&amp; <BR>&gt; 
  $http_form_vars["gszImgType"] != "")<BR>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
  $szImgType = $http_form_vars["gszImgType"];<BR>&gt; <BR>&gt; <BR>&gt; 
  ------------------------------------------------------------------------<BR>&gt; 
  <BR>&gt; _______________________________________________<BR>&gt; Chameleon 
  mailing list<BR>&gt; <A 
  href="mailto:Chameleon@lists.maptools.org">Chameleon@lists.maptools.org</A><BR>&gt; 
  <A 
  href="http://lists.maptools.org/mailman/listinfo/chameleon">http://lists.maptools.org/mailman/listinfo/chameleon</A></DIV>
  <DIV>&nbsp;</DIV>
  <DIV>-- <BR>&nbsp; 
  -----------------------------------------------------------------<BR>|Paul 
  Spencer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <A 
  href="mailto:pspencer@dmsolutions.ca">pspencer@dmsolutions.ca</A>&nbsp;&nbsp; 
  |<BR>|-----------------------------------------------------------------|<BR>|Applications 
  &amp; Software 
  Development&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  |<BR>|DM Solutions Group 
  Inc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  <A href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/</A>|<BR>&nbsp; 
  -----------------------------------------------------------------<BR></FONT></DIV></BLOCKQUOTE></FONT></DIV></BODY></HTML>