FW: simple question that the answers eludes my logic

Dan Dansereau ddansereau at HYDROPOINT.COM
Mon Oct 9 20:27:11 EDT 2006


Hello ALL

I have a need to have a small map file ( at the bottom of this email )

and a CGI driver - based on the Itasca Demo - it works for me,

and do to the total amount of other processes and scripts that make 

use if this technique - a rewrite to another form such as PHP or JAVA

is currently out of the question. 

 

I would like to have the map file get the raster image name at run time

And not fixed with "Jan" like the below map file segment. I'm not sure
where

or how to put this in the HTML. Currently the HTML gets then names from
a 

pre-defined pull down menu. The new names need to be similar to
Jan_01_2006

but can be anything legal date range.

......

LAYER

  NAME Jan_Earth

  TYPE RASTER

  STATUS ON

  TILEINDEX "Jan_index.shp"

  TILEITEM "Location"

  CLASS

    NAME 'Jan_Earth'

    keyimage data/JanKey.png

  END

END

....

 

I have tried several different ways as per the documentation to insert
this into the html and the map file

but with no success.

 

Would anybody have a mapfile and a CGI example that would be somewhat
compatible that they would be willing to share - or be able to point me
towards some additional documentation...

 

My thanks ahead of time...

Dan

 

This is the map file

# start of maps file

MAP

NAME WORLD

STATUS ON

SIZE 600 600

EXTENT -180.0 -90.0 180.0 90.0

UNITS dd

SHAPEPATH "data"

IMAGECOLOR 255 255 255

TEMPLATEPATTERN "world"

IMAGETYPE PNG

 

SYMBOL

  NAME 'circle'

  TYPE ELLIPSE

  POINTS 1 1 END

  FILLED TRUE

END

......took a bunch out here due to the 80k email limits

#

# Start of layer definitions

#

# raster data 1st

# World Images by Month

LAYER

  NAME Jan_Earth

  TYPE RASTER

  STATUS ON

  TILEINDEX "Jan_index.shp"

  TILEITEM "Location"

  CLASS

    NAME 'Jan_Earth'

    keyimage data/JanKey.png

  END

END

LAYER

  NAME Feb_Earth

  TYPE RASTER

  STATUS ON

  TILEINDEX "Feb_index.shp"

  TILEITEM "Location"

  CLASS

    NAME 'Feb_Earth'

    keyimage data/FebKey.png

  END

END

 

#

# then the rest of the maps

#

LAYER

  CONNECTIONTYPE postgis

  CONNECTION "user=dad dbname=maps host=10.0.0.215"

  NAME wld_country

  TYPE POLYGON

  DATA "the_geom from wld_country"

  STATUS on

  TRANSPARENCY 50

  CLASS

    NAME 'wld_country'

    OUTLINECOLOR 1 1 1

  END

END

.........took a bunch out here due to the 80k email limit

 

END # Map File 

This is the html file

<html>

<head>

<meta http-equiv="Content-Language" content="en-us">

<title>MapServer/Imaps</title>

<! all code and source from the mapserver examples and documentation ->

 

<!-- the DHTML JavaScript library includes -->

<script language="javascript" src="javascript/cbe/cbe_core.js"></script>

<script language="javascript"
src="javascript/cbe/cbe_event.js"></script>

 

<!-- MapServer specific JavaScript library includes -->

<script language="javascript" src="javascript/mapserv.js"></script>

<script language="Javascript" src="javascript/dbox.js"></script>

 

<!-- utility library -->

<script language="JavaScript" src="javascript/utils.js"></script>

 

<!-- scripting specific to the application -->

<script language="javascript">

  // first, nab any arguments passed to this page (so we don't have to
edit the page)

  var args = getargs();

 

  // the DHTML main mapping window

  var main = new dBox("main", 600, 600, "#FF0000", 2);

  // main.verbose = true;

 

  // the DHTML reference map window

  var reference = new dBox("reference", 120, 120, "#989898", 1);

  reference.box = false;

  reference.cursorsize = 0;

 

  // mapserv.js global variables

  var MapServer = args.program;

  var QueryServer = MapServer;

  var Interface = "dhtml";

 

  // create the Mapserv object

  var ms = new Mapserv("main", args.map, -180.0, -90.0, 180.0, 90.0,
600, 600);

  // layer definitions

 

  ms.layers[ms.layers.length] = new Layer('wld_country', 'wld_country',
'layers', true, null, null);

  ms.layers[ms.layers.length] = new Layer('Jan_Earth', 'Jan_Earth',
'layers', false, null, null);

  ms.layers[ms.layers.length] = new Layer('Feb_Earth', 'Feb_Earth',
'layers', false, null, null);

......took a bunch out here due to the 80k email limits

  ms.layers[ms.layers.length] = new Layer('wld_states', 'wld_states',
'layers', false, null, null);

......took a bunch out here due to the 80k email limits

  ms.layers[ms.layers.length] = new Layer('stations', 'stations',
'layers', false, null, null);

  ms.buildlayers();

 

  // add the reference map

  ms.referencemap = new Mapserv("reference", args.map, -180.0, -90.0,
180.0, 90.0, 180, 180);

 

  //

  // Extensions to Mapserv.draw(): this allows you to exend the
capabilties of

  // of the default draw method. There are post and pre draw functions
available.

  //

  function predraw() {

    // clear any query results

    top.query_frame.location.href='blank.html';

 

....took a bunch out here due to the 80k email limits

....this is most of the standard java pan/zoom/scalebar stuff

 

  // various event handlers called by jBox/dBox

  function mousemove_handler(name, x, y) {

    window.status = "Coordinates: x=" + Math.round(Number(ms.extent[0] +
x*ms.cellsize)) + " and y=" + Math.round(Number(ms.extent[3] -
y*ms.cellsize));

  }

  function mouseexit_handler(name) { window.status = ""; }

  function mouseenter_handler(name) { window.status = ""; }

 

  // page initialization function

  function windowOnload() {

    main.initialize();

    reference.initialize();

    ms.zoomdir=1;

    ms.draw();

  }

 

  // zoom to full extent function

  function ZoomExtent() {

    main.initialize();

    reference.initialize();

 

    ms.zoomdir=1;

    ms.draw();

  }

 

</script>

 

</head>

<body bgcolor=#FFFFFF onResize="main.sync();reference.sync()">

 

<center>

<table border=0 cellspacing=0 cellpadding=4>

<tr>

<td valign="top" align=center>

  <div align="center">

  <table width="390" border="0" cellspacing="0" cellpadding="0"
bgcolor="#000080">

    <tr>

      <td align="right" width="18"><a
href="javascript:ms.pan('nw')"><img src="graphics/nw.gif" width="18"
height="18" border="0" alt="pan northwest"></a></td>

...took a bunch out here due to the 80k email limits

...this was the pan and map html stuff....

<td valign="top" bgcolor=#ffffff>

  <table cellpadding="1" cellspacing="0" border="0" bgcolor="#ffffff">

    <tr><td>

    <form name="mapserv" action="javascript:void(0)">

      &nbsp;<img border="0" src="wtcc.png" width="195" height="58"><br>

                <hr color="#3399FF">

        <b>&nbsp;World Base Map </b>

                <br>

                <b>&nbsp;Choose an Action: </b><br>

        <input onClick="ms.mode='map'" type="radio" name="mode" checked>
Browse Map<br>

        <input onClick="ms.mode='nquery'" type="radio" name="mode">
Query Features

        <br>

        <hr color="#3399FF">

        <b>Select Map Layers to Display </b><br>

        <select multiple name="layers" size=4
onChange="ms.togglelayers(this)">

          <option value="Jan_Earth" >Jan Earth Image

          <option value="Feb_Earth" >Feb Earth Image

...took a bunch out here due to the 80k email limits

         <option value="wld_country" selected > Country Boundaries

...took a bunch out here due to the 80k email limits

         </option>

        </select><br>

        <input type="button" value="Refresh Map" onClick="ms.draw()">

        <input type="button" value="Zoom Full" onClick="ZoomExtent()">

        <hr color="#3399FF">

        <b>Zoom Controls - Select &amp; Click on Map</b><br>

        Zoom In <input onClick="ms.zoomdir=1" type=radio name=zoomdir >

        Pan <input onClick="ms.zoomdir=0" type=radio name=zoomdir
checked>

        Zoom Out <input onClick="ms.zoomdir=-1" type=radio name=zoomdir>

        <br>

        <font size="1">Zoom in by drawing a "rubber band" box (left
button on

                the mouse)</font>

        <hr color="#3399FF">

      </form>

 

      <b>Legend:</b><br>

      <img name="legend" src="graphics/red_pixel.gif">

      <br>

      <!-- this is the holding spot (the anchor) for the reference map
-->

      <DIV id="reference_anchor" style="position:relative;
visibility:visible; width:100%; height:100%; left:0px; top:0px;">

      <img src="graphics/red_pixel.gif" height="180" width="180"></DIV>

      <!-- absolutely positioned layer to hold the reference map -->

      <DIV id="reference" style="position:absolute; visibility:visible;
width:100%; height:100%; clip:rect(100%,100%,100%,100%);
background:transparent;">

      <IMG name="reference" src="data/world.png" height="180"
width="180"></DIV>

 

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

 

  </td></tr>

</table>

</center>

<p>

<a href="javascript:top.location.href='wx_map1.html'">Return to Weather
Station & Interactive Selection</a> from

<script language="javascript">

  document.write("<b>" + args.map_web_template + "</b>");

</script>

</body></html>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapserver-users/attachments/20061009/e4f07e4a/attachment.html


More information about the mapserver-users mailing list