Samuel Hiatt wrote:
Can anyone help with this last question? I'm hesitant to start hacking at this 'cause I don't really feel like re-inventing the wheel... again. Is anyone familiar with the mechanism that is used when mapserver gets a WMS request with a TIME parameter? Maybe the solution lies there.


The metadata tags required to make 4D WMS layers work all have "wms_ ..." at the beginning. I imagine that extending this functionality to any type of mapserver request (WMS, mapscript, CGI) would be very valuable (if it doesn't exist already).


As explained earlier, the wms will take the time parameter and transform it to a valid time expression and set the FILTER element of the layer with that expression.

wms_xxx tags are there to hold information so that this tarnsformation can be done (hold information such as which is the time field on the layer, extents of valid time, default valid time ...). Most of these things are specific to the wms specification

In you case, if you are using scripting, you should do the same operation of transforming the time parameter to a valid time filter and set it on the layer (time parameter like 2004-10-12 could be transformed to (`[time_field]` eq `2004-10-12). Although the underlying code exists in MapsServer to parse different kind of time values, there are no currently mapscript functions that would do that for you so you need to write your functions. You map file does not need to have any wms_xxx parameters. It is a regular map file and the time is just another type of expression that can be used on the FILTER element of the layer (or on the class object)

Hope this helps.

Best Regards,

Thanks for your help.

Sam




On 10/12/07, *Samuel Hiatt* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

Thanks for the help.
    It should be very easy to filter my files for time.  What should my
    mapfile look like for the 4D layer?  The same thing as for a 4D wms
    layer, with the tile index and wms_* metadata tags but I would use
    mapscript to screen the files?  Do you know of a way I might reuse
    the screening code that is used for 4D WMS?

    Thanks!
    Sam




    On 10/12/07, *Yewondwossen Assefa* < [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>> wrote:

        Samuel Hiatt wrote:
        >  Hi!  Thanks for the reply.
        >
        >  So I suppose when I make a WMS request with TIME Mapserver
        applies the
        >  filter behind the scenes, finding which feature in my
        tile_index.shp
        >  represents the correct time and then processes the raster
        pointed to by
        >  that feature?  So if I want to implement the same kind of
        thing with
        >  mapscript I'd have to write the filter myself?
        >
          That is correct : assuming that the underlying data can be
        filtered
        using a time field, you need to know the attribute and build the
        time
        expression and set it using mapscript.

        >  The reason I am interested in doing this is to extend temporal
        >  functionality to ka-map.  I may end up abandoning that
        approach and
        >  moving to a javascript WMS client (like OpenLayers of
        MapBuilder) instead.
        >
        >  Thanks for your help.
        >
        >  Sam
        >
        >
        >
        >  On 10/11/07, *Yewondwossen Assefa* <[EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>
        >  <mailto: [EMAIL PROTECTED]
        <mailto:[EMAIL PROTECTED]>>> wrote:
        >
        >     Hi there,
        >
        >       The Time parameter that is sent with a WMS request is simply
        >     converted
        >     to a time expression and set on the filter object of the
        layer. In the
        >     case of wms. the metadata wms_timeitem will be used for the
        >     attribute name.
        >       if you are using mapscript, you would need to build the time
        >     expression manually and set the filter parameter. Please
        refer to
        >     http://mapserver.gis.umn.edu/docs/howto/wms_time_support
        (section 2.5)
        >     to see how time parameters are interpreted.
        >
        >     Best Regards,
        >
        >
        >     Samuel Hiatt wrote:
        >      > I am excited to see that Mapserver supports 4D raster
        layers for WMS,
        >      > but I am curious if this functionality can be extended
        to mapscript
        >      > calls as well?  For example, if I set up a raster layer
        with a TIME
        >      > dimension then will it be possible for me to request an
        image for a
        >      > specific time with mapscript?  Or would I have to do
        this with a
        >     WMS call?
        >      >
        >      > Thanks!
        >      >
        >      > Sam
        >
        >
        >     --
> ----------------------------------------------------------------
        >     Assefa Yewondwossen
        >     Software Analyst
        >
        >     Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
        <mailto: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>
        >     http://www.dmsolutions.ca/
        >
        >     Phone: (613) 565-5056 (ext 14)
        >     Fax:   (613) 565-0925
> ----------------------------------------------------------------
        >
        >


-- ----------------------------------------------------------------
        Assefa Yewondwossen
        Software Analyst

        Email: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
        http://www.dmsolutions.ca/

        Phone: (613) 565-5056 (ext 14)
        Fax:   (613) 565-0925
        ----------------------------------------------------------------





--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst

Email: [EMAIL PROTECTED]
http://www.dmsolutions.ca/

Phone: (613) 565-5056 (ext 14)
Fax:   (613) 565-0925
----------------------------------------------------------------

Reply via email to