I have several issues with how temporal data is handled by WFS at the moment, which I'd like to draw your attention to and hopefully facilitate some fruitful discussion:
First issue: In several parts of the spec, e.g. OpenAPI spec and REQ_fc-time-response.adoc, it states that:
temporal information is either a date-time or a period string that adheres to RFC 3339.
Examples given are:
"2018-02-12T00:00:00Z/2018-03-18T12:31:12Z" or "2018-02-12T00:00:00Z/P1M6DT12H31M12S"
RFC3339 does not specify any of that. Those formats are specified in ISO8601.
Second issue: Open date ranges, e.g. 2018-02-12T00:00:00Z until now, are not possible throughout the spec, may it be for filtering or describing data. We have use cases where this is required as data updates very frequently and it is not really a solution to update the timestamps in the accommodating collection metadata every time. Also it seems useful to search for data that is just newer or older than a timestamp.
Third issue: The temporal filter is specified to be named time. I don't really like that, because it's not specified to be just a time, but a date and a time. That's counter-intuitive. I'd vote to call it datetime instead. This would also allow to have an extension, which would allow to just filter by time, e.g. give me all features that are available at 12:00 or between 09:00 and 12:00. There was a similar discussion on that topic by the STAC guys: radiantearth/stac-spec#130
Fourth issue: In several JSON schema and OpenAPI definitions a the format is set to dateTime, but both JSON Schema and OpenAPI propose that it should be date-time.
I have several issues with how temporal data is handled by WFS at the moment, which I'd like to draw your attention to and hopefully facilitate some fruitful discussion:
First issue: In several parts of the spec, e.g. OpenAPI spec and REQ_fc-time-response.adoc, it states that:
Examples given are:
RFC3339 does not specify any of that. Those formats are specified in ISO8601.
Second issue: Open date ranges, e.g. 2018-02-12T00:00:00Z until now, are not possible throughout the spec, may it be for filtering or describing data. We have use cases where this is required as data updates very frequently and it is not really a solution to update the timestamps in the accommodating collection metadata every time. Also it seems useful to search for data that is just newer or older than a timestamp.
Third issue: The temporal filter is specified to be named
time. I don't really like that, because it's not specified to be just a time, but a date and a time. That's counter-intuitive. I'd vote to call itdatetimeinstead. This would also allow to have an extension, which would allow to just filter by time, e.g. give me all features that are available at 12:00 or between 09:00 and 12:00. There was a similar discussion on that topic by the STAC guys: radiantearth/stac-spec#130Fourth issue: In several JSON schema and OpenAPI definitions a the
formatis set todateTime, but both JSON Schema and OpenAPI propose that it should bedate-time.