[Mapserver-users] Frames

Stephen Clark stephen.clark at focus.ca
Thu Nov 20 16:51:33 EST 2003


This is a multi-part message in MIME format.

------=_NextPart_000_0087_01C3AF6D.686DFAC0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0088_01C3AF6D.686DFAC0"


------=_NextPart_001_0088_01C3AF6D.686DFAC0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

MessageDavid,

Would you be willing to put together a sample or how-to on the setup of =
a frame interface with a tree structure.

I have ssome sample files I have attached.

I would be willing to write a doc page for the mapserver site for the =
rest of the list community.

thanks
Stephen


  ----- Original Message -----=20
  From: Lowther, David W=20
  To: mapserver-users at lists.gis.umn.edu=20
  Sent: Tuesday, September 09, 2003 4:37 AM
  Subject: RE: [Mapserver-users] Frames


  Steve,

  We use frames for our mapserver apps (www.geo.ou.edu click interactive =
mapper). There needs to be a form (say MAPSERV form) in a frame that is =
not the map frame that targets the map frame. When the map frame loads, =
it needs to push relevant values to the MAPSERV form:

    parent.framename.MAPSERV.imgext.value =3D "[mapext]";
    parent.framename.MAPSERV.centerx.value =3D "[center_x]";
    parent.framename.MAPSERV.centery.value =3D "[center_y]";

  You may need to push something else, but these are the basics. We =
chose to put our MAPSERV form in the frame that held the legend / active =
layer / layer visible controls because that was the majority of the =
form. In other words, it was easier to write imgext, centerx, and =
centery to the MAPSERV form then to write each layer's status.

  Here's a general outline of our setup:

  toolFrame:
  zoom in, zoom out, zoom full, pan, identify, etc...
  each tool fires javascript that sets some status in the MAPSERV form =
(mode, zoomsize, etc...)  in preparation for that tool's map click or =
drag.

  legendFrame:
  holds MAPSERV form containing everything from layerstatus to mapsize.
  this form is submitted anytime anything happens involving mapserver, =
but it NEVER is targeted to itself so it can maintain state.

  mapFrame:
  targeted from MAPSERV form for map status changes (extent, layers, =
mapsize, etc..)
  onload pushes values from the map to legendFrame, toolFrame , whatever =
necessary.

  idFrame:
  targeted from MAPSERV form for itemquery / identify results or any =
results that are not a map and are small enough not to need their own =
window.

  I'd love to be able to tell you that it was easy to get all these =
frames talking with each other, but if you persevere I think it (the =
interface that results) is worth it.

  And my 2 cents on javascript is: if you can write more than one line =
per hour per supported browser, you are doing well...

  Good luck!
  David Lowther=20
  Software Engineer=20
  GEO Information Systems=20
  University of Oklahoma=20
  dlowther at ou.edu=20
  (405) 325-3131=20
  http://www.geo.ou.edu=20



    -----Original Message-----
    From: Steve McCrone [mailto:ms57 at streamyx.com]=20
    Sent: Monday, September 08, 2003 8:57 PM
    To: mapserver-users at lists.gis.umn.edu
    Subject: [Mapserver-users] Frames


    Hi All,

    I've tried (with no luck) to implement a simple mapserver app. using =
frames, but since I am a novice in Javascript, I need your help.

    I have a launching app called demo_init.html that contains -=20

    <form method=3DGET name =3D "mapserv" =
action=3D"/cgi-bin/mapserv.exe">
    <input type=3D"hidden" name=3D"map" =
value=3D"C:\Inetpub\wwwroot\demo.map">
    <input type=3D"hidden" name=3D"layer" value=3D"roads">
    <input type=3D"hidden" name=3D"zoomsize" value=3D2>
    <input type=3D"hidden" name=3D"program" =
value=3D"/cgi-bin/mapserv.exe">
    <input type=3D"hidden" name=3D"map_web_imagepath" =
value=3D"C:\inetpub\wwwroot\tmp\">
    <input type=3D"hidden" name=3D"map_web_imageurl" value=3D"/tmp/">
    <center><input type=3D"submit" value=3D"Initialize"></center>

    And I have the file Demo.html -=20

    <form method=3DGET action=3D"[program]">
    <INPUT NAME=3D"img" TYPE=3D"image" SRC=3D"[img]" width=3D600 =
height=3D600 border=3D0>

    and a few other mapserver lines like -=20

    <option value=3D"roads" [roads_select]> Roads
    <INPUT NAME=3D"ref" TYPE=3D"image" SRC=3D"[ref]" border=3D"0">

    etc.

    In my map file, I have -=20

    TEMPLATE Demo.html
    =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
    Now, I created a Main.html that has two frames (Left and Right)

    <FRAMESET cols=3D"230,*">=20
      <FRAME src=3D"http://localhost/LeftFrame.html" name=3D"Left" >=20
      <FRAME src=3D"http://localhost/Demo.html" name=3D"Demo">=20
    </FRAMESET>=20

    And changed the map file to -=20
    TEMPLATE Main.html
    =
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D

    But this does not work. any help would be welcomed!

    Thanks



     
------=_NextPart_001_0088_01C3AF6D.686DFAC0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Message</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1276" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV><FONT face=3DArial size=3D2>David,</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>Would you be willing to put together a =
sample or=20
how-to on the setup of a frame interface with a tree =
structure.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I have ssome sample files I have=20
attached.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>I would be willing to write a doc page =
for the=20
mapserver site for the rest of the list community.</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2>thanks</FONT></DIV>
<DIV><FONT face=3DArial size=3D2>Stephen</FONT></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<BLOCKQUOTE dir=3Dltr=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A title=3Ddlowther at ou.edu href=3D"mailto:dlowther at ou.edu">Lowther, =
David W</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A=20
  title=3Dmapserver-users at lists.gis.umn.edu=20
  =
href=3D"mailto:mapserver-users at lists.gis.umn.edu">mapserver-users at lists.g=
is.umn.edu</A>=20
  </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Tuesday, September 09, =
2003 4:37=20
  AM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> RE: [Mapserver-users]=20
  Frames</DIV>
  <DIV><BR></DIV>
  <DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
  class=3D531132612-09092003>Steve,</SPAN></FONT></DIV>
  <DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
  class=3D531132612-09092003></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN =
class=3D531132612-09092003>We=20
  use frames for our mapserver apps (<A=20
  href=3D"http://www.geo.ou.edu">www.geo.ou.edu</A> click interactive =
mapper).=20
  There needs to be a form (say MAPSERV form)&nbsp;in a frame that is =
not the=20
  map frame that targets the map frame. When the map frame loads, it =
needs to=20
  push relevant values to the MAPSERV form:</SPAN></FONT></DIV>
  <DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
  class=3D531132612-09092003></SPAN></FONT>&nbsp;</DIV>
  <DIV><FONT face=3DArial color=3D#0000ff size=3D2><SPAN=20
  =
class=3D531132612-09092003>&nbsp;&nbsp;parent.framename.MAPSERV.imgext.va=
lue =3D=20
  "[mapext]";<BR>&nbsp;&nbsp;parent.framename.MAPSERV.centerx.value =3D=20
  "[center_x]";<BR>&nbsp;&nbsp;parent.framename.MAPSERV.centery.value =
=3D=20
  "[center_y]";<BR></SPAN></FONT></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>You=20
  may need to push something else, but these are the basics. We chose to =
put our=20
  MAPSERV form in the frame that held the legend / active layer / layer =
visible=20
  controls because that was the majority of the form. In other words, it =
was=20
  easier to write imgext, centerx, and centery to the MAPSERV form then =
to write=20
  each layer's status.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>Here's a general&nbsp;outline of our =
setup:</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>toolFrame:</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>zoom=20
  in, zoom out, zoom full, pan, identify, etc...</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>each=20
  tool fires javascript that sets some status in the MAPSERV form (mode, =

  zoomsize, etc...)&nbsp; in preparation for that tool's map click or=20
  drag.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>legendFrame:</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>holds MAPSERV form containing everything from layerstatus to=20
  mapsize.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>this=20
  form is submitted anytime anything happens involving mapserver, but it =
NEVER=20
  is targeted to itself so it can maintain state.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>mapFrame:</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>targeted from MAPSERV form for map status changes (extent, =
layers,=20
  mapsize, etc..)</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>onload pushes values from the map to legendFrame, toolFrame , =
whatever=20
  necessary.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>idFrame:</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2>targeted from MAPSERV form for&nbsp;itemquery / identify =
results or any=20
  results that are not a map and are small enough not to need their own=20
  window.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>I'd=20
  love to be able to tell you that it was easy to get all these frames =
talking=20
  with each other, but if you persevere I think it (the interface that =
results)=20
  is worth it.</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>And=20
  my 2 cents on javascript is: if you can write more than one line per =
hour per=20
  supported browser, you are doing well...</FONT></SPAN></DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff=20
  size=3D2></FONT></SPAN>&nbsp;</DIV>
  <DIV><SPAN class=3D531132612-09092003><FONT face=3DArial =
color=3D#0000ff size=3D2>Good=20
  luck!</FONT></SPAN></DIV>
  <P><FONT face=3DArial size=3D2>David Lowther</FONT> <BR><FONT =
face=3DArial=20
  size=3D2>Software Engineer</FONT> <BR><FONT face=3DArial size=3D2>GEO =
Information=20
  Systems</FONT> <BR><FONT face=3DArial size=3D2>University of =
Oklahoma</FONT>=20
  <BR><FONT face=3DArial size=3D2>dlowther at ou.edu</FONT> <BR><FONT =
face=3DArial=20
  size=3D2>(405) 325-3131</FONT> <BR><FONT face=3DArial size=3D2><A=20
  href=3D"http://www.geo.ou.edu/" =
target=3D_blank>http://www.geo.ou.edu</A></FONT>=20
  </P><BR>
  <BLOCKQUOTE dir=3Dltr=20
  style=3D"PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px =
solid; MARGIN-RIGHT: 0px">
    <DIV></DIV>
    <DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr =
align=3Dleft><FONT=20
    face=3DTahoma size=3D2>-----Original Message-----<BR><B>From:</B> =
Steve McCrone=20
    [mailto:ms57 at streamyx.com] <BR><B>Sent:</B> Monday, September 08, =
2003 8:57=20
    PM<BR><B>To:</B> =
mapserver-users at lists.gis.umn.edu<BR><B>Subject:</B>=20
    [Mapserver-users] Frames<BR><BR></FONT></DIV>
    <DIV><FONT face=3DArial size=3D2>
    <DIV><FONT face=3DArial size=3D2>Hi All,</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>I've tried (with no luck) to =
implement a simple=20
    mapserver app. using frames, but since I am a novice in Javascript, =
I need=20
    your help.</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>I have a launching app called =
demo_init.html=20
    that contains - </FONT></DIV>
    <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
    <DIV><FONT face=3DArial size=3D2>&lt;form method=3DGET name =3D =
"mapserv"=20
    action=3D"/cgi-bin/mapserv.exe"&gt;</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2>&lt;input type=3D"hidden" =
name=3D"map"=20
    value=3D"C:\Inetpub\wwwroot\demo.map"&gt;<BR>&lt;input =
type=3D"hidden"=20
    name=3D"layer" value=3D"roads"&gt;</FONT></DIV>
    <DIV><FONT face=3DArial size=3D2>&lt;input type=3D"hidden" =
name=3D"zoomsize"=20
    value=3D2&gt;<BR>&lt;input type=3D"hidden" name=3D"program"=20
    value=3D"/cgi-bin/mapserv.exe"&gt;<BR>&lt;input type=3D"hidden"=20
    name=3D"map_web_imagepath" =
value=3D"C:\inetpub\wwwroot\tmp\"&gt;<BR>&lt;input=20
    type=3D"hidden" name=3D"map_web_imageurl" value=3D"/tmp/"&gt;</DIV>
    <DIV>&lt;center&gt;&lt;input type=3D"submit"=20
    value=3D"Initialize"&gt;&lt;/center&gt;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>And I have the file Demo.html - </DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&lt;form method=3DGET action=3D"[program]"&gt;<BR>&lt;INPUT =
NAME=3D"img"=20
    TYPE=3D"image" SRC=3D"[img]" width=3D600 height=3D600 =
border=3D0&gt;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>and a few other mapserver lines like - </DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&lt;option value=3D"roads" [roads_select]&gt; =
Roads<BR>&lt;INPUT=20
    NAME=3D"ref" TYPE=3D"image" SRC=3D"[ref]" border=3D"0"&gt;</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>etc.</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>In my map file, I have - </DIV>
    <DIV>&nbsp;</DIV>
    <DIV>TEMPLATE =
Demo.html<BR>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</DIV>
    <DIV>Now, I created a Main.html that has two frames (Left and =
Right)</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>&lt;FRAMESET cols=3D"230,*"&gt; <BR>&nbsp; &lt;FRAME src=3D"<A=20
    =
href=3D"http://localhost/LeftFrame.html">http://localhost/LeftFrame.html<=
/A>"=20
    name=3D"Left" &gt; <BR>&nbsp; &lt;FRAME src=3D"<A=20
    href=3D"http://localhost/Demo.html">http://localhost/Demo.html</A>"=20
    name=3D"Demo"&gt; <BR>&lt;/FRAMESET&gt; </DIV>
    <DIV>&nbsp;</DIV>
    <DIV>And changed the map file to - </DIV>
    <DIV>TEMPLATE Main.html</DIV>
    =
<DIV>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>But this does not work. any help would be welcomed!</DIV>
    <DIV>&nbsp;</DIV>
    <DIV>Thanks<BR><BR></DIV>
    =
<DIV><BR>&nbsp;</DIV></FONT></FONT></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY=
></HTML>

------=_NextPart_001_0088_01C3AF6D.686DFAC0--

------=_NextPart_000_0087_01C3AF6D.686DFAC0
Content-Type: text/html;
	name="menudisplay.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="menudisplay.html"

<!-- saved from url=3D(0022)http://internet.e-mail -->
<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

<head>
<meta name=3D"GENERATOR" content=3D"Microsoft FrontPage 5.0">
<meta name=3D"ProgId" content=3D"FrontPage.Editor.Document">
<meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Diso-8859-1">
<link rel=3D"StyleSheet" href=3D"tree/tree.css" type=3D"text/css">
<!-- Specify source file for building menus here. Just a javascript =
array -->
<script type=3D"text/javascript" src=3D"menusrc_nat.js"></script>
<script type=3D"text/javascript">
function sendLayers(form) {
   <!-- if framed, indicated target name -->
   form.target =3D "ladistmain";
   var sendLay =3D "";
   var lcount =3D 0;
   for (var i =3D 0; i< Tree.length; i++) {
     var treenode =3D Tree[i].split("|");
     <!-- traverse tree, count all actual layers -->
     if (treenode[3]) {lcount++}
   }
   for (var i =3D 0; i < lcount; i++) {
      if (form.layer[i].checked) {
      <!-- process layers, build var that contains layer names and if =
checked or not -->
       var sendLay =3D sendLay + " " + form.layer[i].value;
       }  else {
       var sendLay =3D sendLay;
     }
   }
    parent.ladistmain.document.mapserv.layers.value =3D sendLay;

    <!-- change if do not want auto submit -->
    parent.ladistmain.document.mapserv.submit();
  }

</script>
</head>

<body bgcolor=3D"#b9d3ee" link=3D"#4a708b" vlink=3D"#4a708b" =
alink=3D"#4a708b">

<p>&lt;-- specify location of tree javascript file --&gt;
<script type=3D"text/javascript" src=3D"tree/tree3.js"></script>
</p>
<form method=3D"get">
  <div id=3D"tree">
    <script type=3D"text/javascript">
<!--

// Build the tree with createTree(array name of layers, Tree title, =
startnode (generally 0), array of nodes to initially open)
    var Tree;
	createTree(Tree, "Map Layers", 0, [1,23]);

//-->
    </script>
  </div>
  <p><br />
  <br />
  </p>
  </form>

</body>

</html>
------=_NextPart_000_0087_01C3AF6D.686DFAC0
Content-Type: text/html;
	name="mapwindow-02.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="mapwindow-02.html"

<!-- saved from url=3D(0022)http://internet.e-mail -->
<html>
<head><title> MapServer </title></head>

 <SCRIPT LANGUAGE=3D"JavaScript"><!--
=20

=20
 //--></SCRIPT>
=20
<body bgcolor=3D#FFFFFF>


<center>
<table border=3D0 cellspacing=3D0 cellpadding=3D4 bgcolor=3D"#000000">
<tr>
<td valign=3D"top" align=3Dcenter>
  <table cellpadding=3D"0" cellspacing=3D"0" border=3D"0">
    <tr><td colspan=3D"2">
	<img src=3D"[img]" width=3D600 height=3D600 border=3D0></td></tr>
    <tr>
      <td>&nbsp;<font size=3D-1 face=3D"arial,helvetica" =
color=3D"#FFFFFF"><b>Powered by MapServer</b></font></td>
      <td align=3D"right"><img src=3D"[scalebar]"></td>
    </tr>
  </table>
</td>
<td valign=3D"top" bgcolor=3D#ffffff>
  <table cellpadding=3D"5" cellspacing=3D"0" border=3D"0" =
bgcolor=3D"#ffffff">
    <tr><td>


	<hr>
      <font size=3D+1><b>Legend</b></font><br>
      <img src=3D"[legend]">

      <p>
      <center><INPUT NAME=3D"ref" TYPE=3D"image" SRC=3D"[ref]" =
border=3D"0"></center>
    </td></tr></table>

  </td></tr>
</table>
</center>

<input type=3D"hidden" name=3D"imgxy" value=3D"399.5 399.5">
<input type=3D"hidden" name=3D"imgext" value=3D"[mapext]">
<input type=3D"hidden" name=3D"map" value=3D"[map]">
<input type=3D"hidden" name=3D"savequery" value=3D"true">

<input type=3D"hidden" name=3D"program" value=3D"[program]">
<input type=3D"hidden" name=3D"map_web_imagepath" =
value=3D"[map_web_imagepath]">
<input type=3D"hidden" name=3D"map_web_imageurl" =
value=3D"[map_web_imageurl]">

</form>

<p><hr><p>

</body></html>


------=_NextPart_000_0087_01C3AF6D.686DFAC0
Content-Type: application/x-zip-compressed;
	name="mds_tree.zip"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="mds_tree.zip"

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
AAAAABMAEwADBQAA7BkAAAAA

------=_NextPart_000_0087_01C3AF6D.686DFAC0
Content-Type: text/html;
	name="mapviewer.html"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
	filename="mapviewer.html"

<!-- saved from url=3D(0022)http://internet.e-mail -->
<html>

<head>
<title> Mapserver </title>
</head>

<frameset rows=3D"66,*">
  <frame name=3D"top" scrolling=3D"no" noresize target=3D"new" =
src=3D"logo_top.html">
  <frameset cols=3D"29,71">
    <frame name=3D"layers_frame" src=3D"http://sclark/menudisplay.html" =
scrolling=3D"auto" target=3D"main">
    <frame name=3D"map_frame" src=3D"http://sclark/mapwindow-02.html" =
scrolling=3D"auto" target=3D"main">
  </frameset>
  <noframes>
  <body>

  <p>This page uses frames, but your browser doesn't support them.  =
Please contact the <a =
href=3D"mailto:stephen.clark at focus.ca">webmaster</a> for more =
information.</p>

  </body>
  </noframes>
</frameset>

</html>
------=_NextPart_000_0087_01C3AF6D.686DFAC0--




More information about the mapserver-users mailing list