4D Raster access NOT via WMS?
Yewondwossen Assefa
assefa at DMSOLUTIONS.CA
Wed Oct 24 14:56:14 PDT 2007
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* <samhiatt at gmail.com
> <mailto:samhiatt at gmail.com>> 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* < assefa at dmsolutions.ca
> <mailto:assefa at dmsolutions.ca>> 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* <assefa at dmsolutions.ca
> <mailto:assefa at dmsolutions.ca>
> > <mailto: assefa at dmsolutions.ca
> <mailto:assefa at dmsolutions.ca>>> 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: assefa at dmsolutions.ca <mailto:assefa at dmsolutions.ca>
> <mailto: assefa at dmsolutions.ca <mailto:assefa at dmsolutions.ca>>
> > http://www.dmsolutions.ca/
> >
> > Phone: (613) 565-5056 (ext 14)
> > Fax: (613) 565-0925
> >
> ----------------------------------------------------------------
> >
> >
>
>
> --
> ----------------------------------------------------------------
> Assefa Yewondwossen
> Software Analyst
>
> Email: assefa at dmsolutions.ca <mailto:assefa at dmsolutions.ca>
> http://www.dmsolutions.ca/
>
> Phone: (613) 565-5056 (ext 14)
> Fax: (613) 565-0925
> ----------------------------------------------------------------
>
>
>
--
----------------------------------------------------------------
Assefa Yewondwossen
Software Analyst
Email: assefa at dmsolutions.ca
http://www.dmsolutions.ca/
Phone: (613) 565-5056 (ext 14)
Fax: (613) 565-0925
----------------------------------------------------------------
More information about the MapServer-users
mailing list