WMS server time tests and issues

Kralidis,Tom [Burlington] Tom.Kralidis at EC.GC.CA
Tue Nov 9 10:13:07 EST 2004


> -----Original Message-----
> From: UMN MapServer Developers List 
> [mailto:MAPSERVER-DEV at LISTS.UMN.EDU] On Behalf Of 
> Kralidis,Tom [Burlington]
> Sent: Tuesday, 09 November, 2004 07:37
> To: MAPSERVER-DEV at LISTS.UMN.EDU
> Subject: Re: [UMN_MAPSERVER-DEV] WMS server time tests and issues
> 
> 
> > -----Original Message-----
> > From: UMN MapServer Developers List
> > [mailto:MAPSERVER-DEV at LISTS.UMN.EDU] On Behalf Of Havard Tveite
> > Sent: Tuesday, 09 November, 2004 05:48
> > To: MAPSERVER-DEV at LISTS.UMN.EDU
> > Subject: Re: [UMN_MAPSERVER-DEV] WMS server time tests and issues
> > 
> > 
> > Yewondwossen Assefa wrote:
> > > Kralidis,Tom [Burlington] wrote:
> > >
> > >> Hi,
> > >>
> > >> I've been testing this out on latest CVS.  Observations:
> > >>
> > >> - OS: FC2
> > >> Linux devgeo.cciw.ca 2.6.5-1.358smp #1 SMP Sat May 8 09:25:36 EDT
> > >> 2004 i686 i686 i386 GNU/Linux
> > >> - httpd: Apache 2.0.49
> > >>
> > >> I constructed a dummy .shp/.shx/.dbf with 4 columns 3
> > records with a
> > >> timefield.
> > >>
> > >> Here's a dump of what the shapefile is:
> > >>
> > >> stid | lat          | lon        | obsdate
> > >> ----------------------------------------------
> > >> tom  | 45.412766    | -71.920082 | 2004-10-12
> > >> bob  | 45.399400    | -75.704200 | 2003-09-30
> > >> joe  | 55.399400    | -95.704200 | 2002-03-17
> > >>
> > >>
> > >> ...and here's the time defines in LAYER/METADATA in mapfile:
> > >>
> > >>    "wms_timeextent" "2002-03-17/2004-10-12"
> > >>    "wms_timedefault" "2003-09-30"
> > >>    "wms_timeitem" "obsdate"
> > >>
> > >>
> > >> ...and here's my tests:
> > >>
> > >> Single value:
> > >>
> > >> 
> > 
> http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?version=1.1.1&service=WMS
> > >> &re
> > >> 
> > quest=GetMap&layers=obs&format=image/gif&srs=EPSG:4326&transpa
> > rent=TRUE&
> > >> 
> > exceptions=application%2Fvnd.ogc.se_inimage&bbox=-140.243500,2
> 8.606653,-
> > >> 
> > 51.243500,81.998653&width=500&height=300&time=2004-10-12-T00:0
> > 0:00&style
> > >> s=default
> > >>
> > >> Result: no problem, as expected
> > >>
> > >> Multple value:
> > >>
> > >> 
> > 
> http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?version=1.1.1&service=WMS
> > >> &re
> > >> 
> > quest=GetMap&layers=obs&format=image/gif&srs=EPSG:4326&transpa
> > rent=TRUE&
> > >> 
> > exceptions=application%2Fvnd.ogc.se_inimage&bbox=-140.243500,2
> 8.606653,-
> > >> 
> > 51.243500,81.998653&width=500&height=300&time=2004-10-12-T00:0
> > 0:00,2003-
> > >> 09-30-T00:00:00&styles=default
> > >>
> > >> Result: no problem, as expected
> > >>
> > >> Single range:
> > >>
> > >> 
> > 
> http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?version=1.1.1&service=WMS
> > >> &re
> > >> 
> > quest=GetMap&layers=obs&format=image/gif&srs=EPSG:4326&transpa
> > rent=TRUE&
> > >> 
> > exceptions=application%2Fvnd.ogc.se_inimage&bbox=-140.243500,2
> 8.606653,-
> > >> 
> > 51.243500,81.998653&width=500&height=300&time=2002-03-17-T00:0
> > 0:00/2004-
> > >> 10-12-T00:00:00&styles=default
> > >>
> > >>
> > >> Result: when the start time or end time is out of range of the
> > >> default. For example, if you change the start year to 
> > 2001, only one
> > >> point shows
> > >> up:
> > >>
> > >> 
> > 
> http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?version=1.1.1&service=WMS
> > >> &re
> > >> 
> > quest=GetMap&layers=obs&format=image/gif&srs=EPSG:4326&transpa
> > rent=TRUE&
> > >> 
> > exceptions=application%2Fvnd.ogc.se_inimage&bbox=-140.243500,2
> 8.606653,-
> > >> 
> > 51.243500,81.998653&width=500&height=300&time=2001-03-17-T00:0
> > 0:00/2004-
> > >> 10-12-T00:00:00&styles=default
> > >>
> > >> ...so it looks like the default is returned when the range
> > given is
> > >> outside the range defined in "wms_timeextent".
> > >>
> > >> Is this the expected behaviour?  As a WMS client, I would
> > expect that
> > >> temporal queries would return everything inside two given
> > dates, just
> > >> like a spatial query does.
> > >>
> > >> ..Tom
> > >>
> > >>
> > > I think that the specs indicates that if the given values are
> > > "incorrect" the server would return values for the default 
> > declared :
> > >
> > > Section C5.1 (Annexe C wms 1.1.1 ):
> > > " ...An OGC Web Service may declare a default for any dimension. A
> > > 'default' is optional but recommended. If a request does 
> > not include a
> > > value along this dimension, and a default has been
> > declared, then the
> > > server shall send the default value..."
> > 
> > I read the specifications as follows:
> > If a request does not specify a value for a dimension, and
> > there is a default declared, the declared should be used. The 
> > spec also says that if a default is not declared, such a 
> > request *shall* result in an exception being thrown.
> > 
> > I thought that Tom *had* specified a value (range) for the
> > dimension, and hence this rule should not apply. If the 
> > interval specified is out of the wms_timeextent range, I 
> > would guess an exception should be returned, but I could not 
> > find it documented in the WMS 1.1.1 spec.
> > 
> > If an interval *is* specified on the dimension, and the the
> > interval overlaps the range of "valid" times 
> > (wms_timeextent), I would, as Tom, expect all the data within 
> > the overlapping range to be returned. (C.3 - the value of 
> > "multipleValues" is also relevant.)
> > 
> 
> This makes sense.
> 
> Keep in mind Dimensions and Extents in WMS cover much more 
> than just time.  So let's take another example:
> 
> If I have a Dimension defined "elevation", and an extent of 
> 1000 - 3000 (in units metres), and if I query with an extent 
> of 500-2000, then I should have data returned, no?
> 
> At any rate, I've queried wms-dev, and will come back to this 
> list with an answer to this.
> 
> ..Tom

Here's Jeff DLB's response to my request:

== BEGIN ==

At 07:39 11/09/2004, Kralidis,Tom [Burlington] wrote:
>If a WMS has a time extent of:
>2001-10-30/2004-10-30
>..of, let's say, daily observations, and my time request is: 
>2000-10-30/2002-10-30 ...is this extent out of range?

If the available dates are declared as 2001-10-30/2004-10-30/P1D and the

request is for 2000-10-30/2002-10-30/P1D, then I recommend the
following:

(a) IF attribute 'nearestValue' is missing or has the value 0, then
issue 
an InvalidDimensionValue exception.

(b) ELSE return content for 2001-10-30/2002-10-30/P1D and include the
HTTP 
response header "Warning: 99 Nearest value used: 
TIME=2001-10-30/2002-10-30/P1D".

See WMS 1.1.1 Annexes C.3 & C.5.2 or WMS 1.3/ISO DIS 19128 Annexes C.2 &
C.4.3. (Note error in WMS 1.1.1, p.59 where the plural "nearestValues"
is used in 
the text.)

-Jeff DLB, Editor

== END

..Tom



More information about the mapserver-dev mailing list