[Geoserver-devel] Pull request adding support for time relative expressions in WMS-T

Hi,

After second reading I support Jody and the ecql syntax.

Andrea wrote:

“P standard for period, so that would not work. I guess it may may sense to use R (relative?), and get something

like R-2H/PRESENT. ”

Why would P not work because “period” and “duration” seem to be synonyms as they are used in Time/Time, Duration/Time, and Time/Duration syntax in http://docs.geoserver.org/latest/en/user/filter/ecql_reference.html#ecql-period ?

-Jukka-

···

Lähettäjä: Jody Garnett [mailto:jody.garnett@…403…]
Lähetetty: 3. joulukuuta 2014 10:17
Vastaanottaja: Andrea Aime
Kopio: Geoserver-devel
Aihe: Re: [Geoserver-devel] Pull request adding support for time relative expressions in WMS-T

That is cool, those ideas were only for another point of reference.

If we do not match ECQL exactly then it is probably not worth it. Could we skip the “prefix” and just use:

private final static String CONTINUOUS_RELATIVE_PERIOD_H = “2H/PRESENT”;

private final static String CONTINUOUS_RELATIVE_PERIOD_D = “10D/PRESENT”;

I guess I do not understand what “BACK” is needed for? I liked the ECQL technique of using “DURATION/TIME” or “TIME/DURATION”.

“BACK2H/PRESENT” is a belt and suspenders, I already know you are going to go back since the duration is before the time. It is not like you are going to say “FORWARD2H/PRESENT” (instead you would say “PRESENT/2H”).

Cheers,

Jody

Jody Garnett

On Wed, Dec 3, 2014 at 12:12 AM, Andrea Aime <andrea.aime@…1268…> wrote:

On Wed, Dec 3, 2014 at 8:43 AM, Jody Garnett <jody.garnett@…403…> wrote:

So this is for WMS-T … as in WMS Temporal.

The syntax is clear.

Here are two ideas for quick consideration:

CQL Time Duration

WFS 2.0 has temporal functions which we have dragged into CQL, any advantage to being consistent with the syntax here: http://docs.geoserver.org/latest/en/user/filter/ecql_reference.html#ecql-period

In particular the representation of time period seems nice and terse:

private final static String CONTINUOUS_RELATIVE_PERIOD_H = “P2H/PRESENT”;

private final static String CONTINUOUS_RELATIVE_PERIOD_D = “P10D/PRESENT”;

(There was no duration specified in weeks, I also did not see a representation for PRESENT, NOW … or FIRST or LATEST)

P standard for period, so that would not work. I guess it may may sense to use R (relative?), and get something

like R-2H/PRESENT.

WFS 2.0 FeatureId madness

This is probably a terrible idea, but you may wish to steal language such as FIRST and LATEST above.

The second thing WFS 2.0 has going on is the ability to query FeatureId based on previous, first or by date (see http://docs.geotools.org/latest/userguide/library/opengis/filter.html#identifer).

Any advantage to stealing the language of FIRST, PREVIOUS, etc…?

private final static String CONTINUOUS_RELATIVE_PERIOD_Y = “FIRST/P1Y”;

Hmm… I would not go there, WMS-T often works on a moving window, so FIRST and LATEST change daily or more often,

you never know what they mean.

Cheers

Andrea

==

GeoServer Professional Services from the experts! Visit

http://goo.gl/NWWaa2 for more information.

Please, notice that GeoSolutions will be closed for seasonal holidays
from December the 24th to January the 6th

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it

AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.


Thanks to everyone for the feedback.

I liked Jody's suggestion of adding support for relative data by using FIRST
/ LASTEST keywords, but I can see that really understanding the context
would be difficult.

I've been using both WMS/WCS TIME and WFS ECQL for some time and would
prefer to use the ECQL temporal filter approach in WMS TIME. I'm not sure
if that is really possible though because of the support for animation in
WMS. My understanding is that period ("P" keyword in this case) in WMS does
not mean the same thing as in WFS - it is rather a 3rd temporal interval for
chunking the data window specified in the first 2 values for animating.
Unless people don't care about breaking this support it seems like another
means of specifying relative time is required.

I chose to use "BACK" as the keyword indicating relative time as it would
not cause confusion with other existing temporal keywords, while being brief
but clear. Using "R" would be more flexible and I like that suggestion.
This would allow going forward or backward in time relative to the present.
I can't see going forward in time very often though - unless your data is
prescient. This would allow you to potentially eliminate the "PRESENT"
keyword as you could just specify R0 or R0H.

One other reason it seems there needs to be a specific way to specify truly
relative times, apart from a Duration relative to a set Time, is if you want
to specify windowed data set back from the present. Take the example of
wanting to see a week of data set back 1 week from the present. Based on
the above discussion this would be specified as below:

TIME=R-2W/R-1W

As far as I can tell, this would not be available even in the present ECQL
syntax.

Thanks again for all the feedback. Based on whatever the consensus is I can
update my pull request.

Cheers,
Jonathan

-----
Jonathan Meyer
Senior Software Engineer
Applied Information Sciences
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Pull-request-adding-support-for-time-relative-expressions-in-WMS-T-tp5175938p5176231.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

I think you are the implementor so you get to choose :slight_smile: My mission was to stick more ideas in front of you and encourage consistency if possible.

···

On Wed, Dec 3, 2014 at 6:07 AM, gisjon <jon@anonymised.com.4152…> wrote:

Thanks to everyone for the feedback.

I liked Jody’s suggestion of adding support for relative data by using FIRST
/ LASTEST keywords, but I can see that really understanding the context
would be difficult.

I’ve been using both WMS/WCS TIME and WFS ECQL for some time and would
prefer to use the ECQL temporal filter approach in WMS TIME. I’m not sure
if that is really possible though because of the support for animation in
WMS. My understanding is that period (“P” keyword in this case) in WMS does
not mean the same thing as in WFS - it is rather a 3rd temporal interval for
chunking the data window specified in the first 2 values for animating.
Unless people don’t care about breaking this support it seems like another
means of specifying relative time is required.

I chose to use “BACK” as the keyword indicating relative time as it would
not cause confusion with other existing temporal keywords, while being brief
but clear. Using “R” would be more flexible and I like that suggestion.
This would allow going forward or backward in time relative to the present.
I can’t see going forward in time very often though - unless your data is
prescient. This would allow you to potentially eliminate the “PRESENT”
keyword as you could just specify R0 or R0H.

One other reason it seems there needs to be a specific way to specify truly
relative times, apart from a Duration relative to a set Time, is if you want
to specify windowed data set back from the present. Take the example of
wanting to see a week of data set back 1 week from the present. Based on
the above discussion this would be specified as below:

TIME=R-2W/R-1W

As far as I can tell, this would not be available even in the present ECQL
syntax.

Thanks again for all the feedback. Based on whatever the consensus is I can
update my pull request.

Cheers,
Jonathan


Jonathan Meyer
Senior Software Engineer
Applied Information Sciences

View this message in context: http://osgeo-org.1560.x6.nabble.com/Pull-request-adding-support-for-time-relative-expressions-in-WMS-T-tp5175938p5176231.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.


Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Jody Garnett

Just wanted to update the list that I had made changes to this pull request to add some user documentation as requested. The usage as also been changed to make it more consistent with the ECQL temporal predicates used in WFS requests. You can see the usage examples added to the documentation at the following link:

https://github.com/gisjon/geoserver/blob/8f638c540695255d8569d758c98e7461e674d10c/doc/en/user/source/services/wms/time.rst#specifying-a-relative-interval

Andrea said he wanted to wait a little bit to see if Simone Giannecchini had any feedback as he was the primary implementor of time support and then he’d merge.

Cheers,

···

Jonathan

On Wed, Dec 3, 2014 at 4:56 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

I think you are the implementor so you get to choose :slight_smile: My mission was to stick more ideas in front of you and encourage consistency if possible.

Jody Garnett

On Wed, Dec 3, 2014 at 6:07 AM, gisjon <jon@anonymised.com.4152…> wrote:

Thanks to everyone for the feedback.

I liked Jody’s suggestion of adding support for relative data by using FIRST
/ LASTEST keywords, but I can see that really understanding the context
would be difficult.

I’ve been using both WMS/WCS TIME and WFS ECQL for some time and would
prefer to use the ECQL temporal filter approach in WMS TIME. I’m not sure
if that is really possible though because of the support for animation in
WMS. My understanding is that period (“P” keyword in this case) in WMS does
not mean the same thing as in WFS - it is rather a 3rd temporal interval for
chunking the data window specified in the first 2 values for animating.
Unless people don’t care about breaking this support it seems like another
means of specifying relative time is required.

I chose to use “BACK” as the keyword indicating relative time as it would
not cause confusion with other existing temporal keywords, while being brief
but clear. Using “R” would be more flexible and I like that suggestion.
This would allow going forward or backward in time relative to the present.
I can’t see going forward in time very often though - unless your data is
prescient. This would allow you to potentially eliminate the “PRESENT”
keyword as you could just specify R0 or R0H.

One other reason it seems there needs to be a specific way to specify truly
relative times, apart from a Duration relative to a set Time, is if you want
to specify windowed data set back from the present. Take the example of
wanting to see a week of data set back 1 week from the present. Based on
the above discussion this would be specified as below:

TIME=R-2W/R-1W

As far as I can tell, this would not be available even in the present ECQL
syntax.

Thanks again for all the feedback. Based on whatever the consensus is I can
update my pull request.

Cheers,
Jonathan


Jonathan Meyer
Senior Software Engineer
Applied Information Sciences

View this message in context: http://osgeo-org.1560.x6.nabble.com/Pull-request-adding-support-for-time-relative-expressions-in-WMS-T-tp5175938p5176231.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.


Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Hi guys,
Simone asked me to take a look to the pull request, the specs and what else to unlock the situation.
I have added my comments to the pull request and my final feedback is "OK to merge".

Here below a couple of additional comments:
The current “current” key usage is a bit weird in GeoServer (see my comments in the pull) and it also has a specific meaning in the WMS 1.3.0 Specification so that I agree with the “present” key alternative.

After the freeze, we can consider revisiting the “current” parsing/usage in GeoServer but this is unrelated with the work made by Jonathan.

Cheers,
Daniele

···

On Tue, Jan 6, 2015 at 11:28 PM, Jonathan Meyer <jon@anonymised.com> wrote:

Just wanted to update the list that I had made changes to this pull request to add some user documentation as requested. The usage as also been changed to make it more consistent with the ECQL temporal predicates used in WFS requests. You can see the usage examples added to the documentation at the following link:

https://github.com/gisjon/geoserver/blob/8f638c540695255d8569d758c98e7461e674d10c/doc/en/user/source/services/wms/time.rst#specifying-a-relative-interval

Andrea said he wanted to wait a little bit to see if Simone Giannecchini had any feedback as he was the primary implementor of time support and then he’d merge.

Cheers,


Dive into the World of Parallel Programming! The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net


Geoserver-devel mailing list
Geoserver-devel@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.

Ing. Daniele Romagnoli
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272

http://www.geo-solutions.it
http://twitter.com/geosolutions_it


AVVERTENZE AI SENSI DEL D.Lgs. 196/2003

Le informazioni contenute in questo messaggio di posta elettronica e/o nel/i file/s allegato/i sono da considerarsi strettamente riservate. Il loro utilizzo è consentito esclusivamente al destinatario del messaggio, per le finalità indicate nel messaggio stesso. Qualora riceviate questo messaggio senza esserne il destinatario, Vi preghiamo cortesemente di darcene notizia via e-mail e di procedere alla distruzione del messaggio stesso, cancellandolo dal Vostro sistema. Conservare il messaggio stesso, divulgarlo anche in parte, distribuirlo ad altri soggetti, copiarlo, od utilizzarlo per finalità diverse, costituisce comportamento contrario ai principi dettati dal D.Lgs. 196/2003.

The information in this message and/or attachments, is intended solely for the attention and use of the named addressee(s) and may be confidential or proprietary in nature or covered by the provisions of privacy act (Legislative Decree June, 30 2003, no.196 - Italy’s New Data Protection Code).Any use not in accord with its purpose, any disclosure, reproduction, copying, distribution, or either dissemination, either whole or partial, is strictly forbidden except previous formal approval of the named addressee(s). If you are not the intended recipient, please contact immediately the sender by telephone, fax or e-mail and delete the information in this message that has been received in error. The sender does not give any warranty or accept liability as the content, accuracy or completeness of sent messages and accepts no responsibility for changes made after they were sent or for other risks which arise as a result of e-mail transmission, viruses, etc.

Jonathan

On Wed, Dec 3, 2014 at 4:56 PM, Jody Garnett <jody.garnett@anonymised.com> wrote:

I think you are the implementor so you get to choose :slight_smile: My mission was to stick more ideas in front of you and encourage consistency if possible.

Jody Garnett

On Wed, Dec 3, 2014 at 6:07 AM, gisjon <jon@anonymised.com.4152…> wrote:

Thanks to everyone for the feedback.

I liked Jody’s suggestion of adding support for relative data by using FIRST
/ LASTEST keywords, but I can see that really understanding the context
would be difficult.

I’ve been using both WMS/WCS TIME and WFS ECQL for some time and would
prefer to use the ECQL temporal filter approach in WMS TIME. I’m not sure
if that is really possible though because of the support for animation in
WMS. My understanding is that period (“P” keyword in this case) in WMS does
not mean the same thing as in WFS - it is rather a 3rd temporal interval for
chunking the data window specified in the first 2 values for animating.
Unless people don’t care about breaking this support it seems like another
means of specifying relative time is required.

I chose to use “BACK” as the keyword indicating relative time as it would
not cause confusion with other existing temporal keywords, while being brief
but clear. Using “R” would be more flexible and I like that suggestion.
This would allow going forward or backward in time relative to the present.
I can’t see going forward in time very often though - unless your data is
prescient. This would allow you to potentially eliminate the “PRESENT”
keyword as you could just specify R0 or R0H.

One other reason it seems there needs to be a specific way to specify truly
relative times, apart from a Duration relative to a set Time, is if you want
to specify windowed data set back from the present. Take the example of
wanting to see a week of data set back 1 week from the present. Based on
the above discussion this would be specified as below:

TIME=R-2W/R-1W

As far as I can tell, this would not be available even in the present ECQL
syntax.

Thanks again for all the feedback. Based on whatever the consensus is I can
update my pull request.

Cheers,
Jonathan


Jonathan Meyer
Senior Software Engineer
Applied Information Sciences

View this message in context: http://osgeo-org.1560.x6.nabble.com/Pull-request-adding-support-for-time-relative-expressions-in-WMS-T-tp5175938p5176231.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.


Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk


Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel