Thanks for your help!&nbsp; I can always count on the pros at DM.&nbsp; :)<br><br>I&#39;m still a bit unclear about how the 3-D rasters (lat,lon,time) should be set up in the mapfile.&nbsp; Is there a way to define a 3-D layer in the mapfile?&nbsp; Or should I do something similar to what I would to set up the n-D WMS (with a tile-index)?&nbsp; 
<br><br>Thanks!<br><br>Sam<br><br><br><br><div><span class="gmail_quote">On 10/24/07, <b class="gmail_sendername">Yewondwossen Assefa</b> &lt;<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt; wrote:</span>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Samuel Hiatt wrote:<br>&gt; Can anyone help with this last question?&nbsp;&nbsp;I&#39;m hesitant to start hacking
<br>&gt; at this &#39;cause I don&#39;t really feel like re-inventing the wheel...<br>&gt; again.&nbsp;&nbsp;Is anyone familiar with the mechanism that is used when<br>&gt; mapserver gets a WMS request with a TIME parameter?&nbsp;&nbsp;Maybe the solution
<br>&gt; lies there.<br>&gt;<br><br>&gt; The metadata tags required to make 4D WMS layers work all have &quot;wms_<br>&gt; ...&quot; at the beginning.&nbsp;&nbsp;I imagine that extending this functionality to<br>&gt; any type of mapserver request (WMS, mapscript, CGI) would be very
<br>&gt; valuable (if it doesn&#39;t exist already).<br>&gt;<br><br>&nbsp;&nbsp;As explained earlier, the wms will take the time parameter and<br>transform it to a valid time expression and set the FILTER element of<br>the layer with that expression.
<br><br>&nbsp;&nbsp;wms_xxx tags are there to hold information so that this tarnsformation<br>can be done (hold information such as which is the time field on the<br>layer, extents of valid time, default valid time ...). Most of these
<br>things are specific to the wms specification<br><br>&nbsp;&nbsp;In you case, if you are using scripting, you should do the same<br>operation of transforming the time parameter to a valid time filter and<br>set it on the layer (time parameter like 2004-10-12 could be transformed
<br>to (`[time_field]` eq `2004-10-12).&nbsp;&nbsp;Although the underlying code exists<br>in MapsServer to parse different kind of time values, there are no<br>currently mapscript functions that would do that for you so you need to
<br>write your functions.<br>&nbsp;&nbsp;You map file does not need to have any wms_xxx parameters. It is a<br>regular map file and the time is just another type of expression that<br>can be used on the FILTER element of the layer (or on the class object)
<br><br>Hope this helps.<br><br>Best Regards,<br><br>&gt; Thanks for your help.<br>&gt;<br>&gt; Sam<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt; On 10/12/07, *Samuel Hiatt* &lt;<a href="mailto:samhiatt@gmail.com">samhiatt@gmail.com
</a><br>&gt; &lt;mailto:<a href="mailto:samhiatt@gmail.com">samhiatt@gmail.com</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks for the help.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; It should be very easy to filter my files for time.&nbsp;&nbsp;What should my
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; mapfile look like for the 4D layer?&nbsp;&nbsp;The same thing as for a 4D wms<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; layer, with the tile index and wms_* metadata tags but I would use<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; mapscript to screen the files?&nbsp;&nbsp;Do you know of a way I might reuse
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; the screening code that is used for 4D WMS?<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Thanks!<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; Sam<br>&gt;<br>&gt;<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; On 10/12/07, *Yewondwossen Assefa* &lt; <a href="mailto:assefa@dmsolutions.ca">
assefa@dmsolutions.ca</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt;&gt; wrote:<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Samuel Hiatt wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;Hi!&nbsp;&nbsp;Thanks for the reply.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;So I suppose when I make a WMS request with TIME Mapserver<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; applies the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;filter behind the scenes, finding which feature in my<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tile_index.shp
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;represents the correct time and then processes the raster<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pointed to by<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;that feature?&nbsp;&nbsp;So if I want to implement the same kind of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; thing with<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;mapscript I&#39;d have to write the filter myself?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; That is correct : assuming that the underlying data can be<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; filtered<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; using a time field, you need to know the attribute and build the
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; time<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; expression and set it using mapscript.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;The reason I am interested in doing this is to extend temporal<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;functionality to ka-map.&nbsp;&nbsp;I may end up abandoning that
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; approach and<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;moving to a javascript WMS client (like OpenLayers of<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MapBuilder) instead.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;Thanks for your help.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;Sam<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;On 10/11/07, *Yewondwossen Assefa* &lt;<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:
<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&lt;mailto: <a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto:<a href="mailto:assefa@dmsolutions.ca">
assefa@dmsolutions.ca</a>&gt;&gt;&gt; wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Hi there,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The Time parameter that is sent with a WMS request is simply<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; converted
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; to a time expression and set on the filter object of the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layer. In the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; case of wms. the metadata wms_timeitem will be used for the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; attribute name.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if you are using mapscript, you would need to build the time<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; expression manually and set the filter parameter. Please<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; refer to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; 
<a href="http://mapserver.gis.umn.edu/docs/howto/wms_time_support">http://mapserver.gis.umn.edu/docs/howto/wms_time_support</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (section 2.5)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; to see how time parameters are interpreted.
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Best Regards,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Samuel Hiatt wrote:<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; I am excited to see that Mapserver supports 4D raster
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layers for WMS,<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; but I am curious if this functionality can be extended<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; to mapscript<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; calls as well?&nbsp;&nbsp;For example, if I set up a raster layer
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; with a TIME<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; dimension then will it be possible for me to request an<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image for a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; specific time with mapscript?&nbsp;&nbsp;Or would I have to do
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this with a<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; WMS call?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Thanks!<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&gt; Sam<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; --<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Assefa Yewondwossen<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Software Analyst
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Email: <a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a> &lt;mailto:<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;mailto: 
<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a> &lt;mailto:<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt;&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.dmsolutions.ca/">http://www.dmsolutions.ca/
</a><br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Phone: (613) 565-5056 (ext 14)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Fax:&nbsp;&nbsp; (613) 565-0925<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------------------------------------------------------------
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &gt;<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------------------------------------------------------------<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Assefa Yewondwossen<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Software Analyst
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Email: <a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a> &lt;mailto:<a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="http://www.dmsolutions.ca/">
http://www.dmsolutions.ca/</a><br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Phone: (613) 565-5056 (ext 14)<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Fax:&nbsp;&nbsp; (613) 565-0925<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------------------------------------------------------------<br>&gt;<br>&gt;<br>
&gt;<br><br><br>--<br>----------------------------------------------------------------<br>Assefa Yewondwossen<br>Software Analyst<br><br>Email: <a href="mailto:assefa@dmsolutions.ca">assefa@dmsolutions.ca</a><br><a href="http://www.dmsolutions.ca/">
http://www.dmsolutions.ca/</a><br><br>Phone: (613) 565-5056 (ext 14)<br>Fax:&nbsp;&nbsp; (613) 565-0925<br>----------------------------------------------------------------<br><br></blockquote></div><br>