Opened 18 years ago

Last modified 16 years ago

#1583 assigned defect

[WFS-Server] enable temporal support on filters

Reported by: tomkralidis Owned by: assefa
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 (1)

test.tar (10.0 KB ) - added by cplist 17 years ago.

Download all attachments as: .zip

Change History (8)

comment:1 by jmckenna, 17 years ago

Cc: jmckenna added

comment:2 by cplist, 17 years ago

Cc: cplist added

comment:3 by cplist, 17 years ago

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.

comment:4 by assefa, 17 years ago

Owner: changed from mapserverbugs to assefa
Status: newassigned

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.

by cplist, 17 years ago

Attachment: test.tar added

comment:5 by cplist, 17 years ago

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.

comment:6 by assefa, 17 years ago

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.

comment:7 by assefa, 16 years ago

Milestone: FUTURE
Note: See TracTickets for help on using tickets.