Ticket #1583 (assigned defect)

Opened 3 years ago

Last modified 3 months ago

[WFS-Server] enable temporal support on filters

Reported by: tomkralidis Assigned to: assefa (accepted)
Priority: high Milestone: FUTURE
Component: WFS Server Version: unspecified
Severity: normal Keywords:
Cc: jmckenna, cplist

Description

Note: see email thread below (bottom to top)

--



Tom,

 I think that should work. I checked a bit the code and It should not be
too bad to integrate. You should post it as an enhancement for sure.

Later,

Kralidis,Tom [Burlington] wrote:

>Assefa,
>
>Thanks for the info.  What about doing it like this:
>
>- WFS filter is sent
>- mapwfs.c checks mapfile to see if LAYER/METADATA/"ows_timeitem" matches
Property element
> - if yes, do a time-enabled expression
> - if no, do a literal expression as per usual
>
>Comments?
>
>..Tom
>
>
>
>-----Original Message-----
>From:  UMN MapServer Users List on behalf of Yewondwossen Assefa
>Sent:  Tue 20-Dec-05 14:00
>To:    MAPSERVER-USERS@LISTS.UMN.EDU
>Cc:   
>Subject:       Re: [UMN_MAPSERVER-USERS] temporal queries via WFS
>Tom,
>
> This end up to be setting the expression as It was a litteral
>expression instead of setting it using the back tics that indicates to
>mapserver to do time comparing (`[time_field]` ge `2004-10-12`). There
>is no detection right now to see if the filer parameters are time values
>or not. Not even sure how we should detect it. If we can find a way or
>logic to indicate that the value is a time, setting the filter is pretty
>easy.
>
>Later,
>Kralidis,Tom [Burlington] wrote:
>
> 
>
>>Hi,
>>
>>I'd like to do a GetFeature request, something like:
>>
>>http://devgeo.cciw.ca/cgi-bin/mapserv/ecows?service=WFS&version=1.0.0&request=GetFeature&typename=obs&filter=<Filter><PropertyIsGreaterThan><Property>datetime</Property><Literal>2002-10-30T00:00:00Z</Literal></PropertyIsGreaterThan></Filter>
>>
>>The result should bring back two results (i.e. more recent than 2002), but
returned are all the records.  The data is configured for WMS Time support.
>>
>>Is it possible to do temporal slices in MapServer WFS in this fashion?
>>
>>..Tom
>>

Attachments

test.tar (10.0 kB) - added by cplist on 07/23/07 13:36:21.

Change History

07/18/07 13:14:39 changed by jmckenna

  • cc set to jmckenna.

07/18/07 14:55:49 changed by cplist

  • cc changed from jmckenna to jmckenna, cplist.

07/18/07 15:29:26 changed by cplist

Hi, all. I am wondering where this feature request fits in the release priority queue. We are working on an OGC Interoperability Experiment (http://www.oostethys.org/ogc-oceans-interoperability-experiment) that would greatly benefit from this enhancement. As well as what appears to me to be a related eventTime SOS bug fix request http://trac.osgeo.org/mapserver/ticket/2154. Of course, I'm happy to help in whatever way possible.

07/23/07 09:35:22 changed by assefa

  • status changed from new to assigned.
  • owner changed from mapserverbugs to assefa.

The work to be done on this is the following:

  • identify the expression as a time string
  • build time expressions valid for the diffrent types of underlying layers (shapefile (Mapserver time expression), Postgis, OGR (use Mapserver time expression), Orcale date expression if available)
  • test to be added in msautotest for shape files and wfs request with time

It would be ideal to have test map/data/wfs_requests data to accelerate development.

07/23/07 13:36:21 changed by cplist

  • attachment test.tar added.

07/23/07 13:36:54 changed by cplist

Adding simple test case (using a CSV). There are 2 records (for the 12th and the 15th) in the CSV. Ideally, I'd like for the following WFS query to only return 1 result.

http://localhost/cgi-bin/mapserv?map=/tmp/test.map&request=getfeature&service=wfs&version=1.0.0&typename=data_lyr&eventTime=<gml:TimePeriod><gml:beginPosition>2007-07-12</gml:beginPosition><gml:endPosition>2007-07-12</gml:endPosition></gml:TimePeriod>

Untar in /tmp to maintain dir structure.

I'd also like to see the GetCapabilities? list something about time.

07/25/07 09:43:52 changed by assefa

Charlton,

Note thate the time support in wfs would have to be through the Filter encoding as described originally in this bug. Somethink like this request=GetFeature?&typename=obs&filter=<Filter><PropertyIsGreaterThan?><Property>datetime</Property><Literal>2002-10-30T00:00:00Z</Literal></PropertyIsGreaterThan></Filter>

I will not be possible to support eventTime parameter as you decribed it here since It is not part of the wfs 1.0.0 specifications. There is also no way to adevertize the time support in the GetCapbilities?. The GetCapbilities? of wfs advertixe the support of Operators (such as comparison operators PropertyIsEqual? ...). The time is just a special case used with these operators.

05/28/08 15:13:52 changed by assefa

  • milestone set to FUTURE.