[Geoserver-devel] GSIP 177 - Support for vector custom dimensions

Hi all, Project Steering Committee,

I would like to add support for vector custom dimension on WMS service,
I wrote a GSIP document in the link:

https://github.com/geoserver/geoserver/wiki/GSIP-177

Of course, I’ll be glad to get your feedback.

Regards,

Fernando Mino

==

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

==

Fernando Mino

Software Engineer

GeoSolutions S.A.S.

Via di Montramito 3/A

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

http://www.geo-solutions.it

http://twitter.com/geosolutions_it


Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

This proposal is targeted towards 2.16? We are days away from the RC deadline …

As for the content of the proposalL

  • Technically this functionality is already available for GetMap via CQL_FILTER is it not?
  • Do you have an example of WMS 1.1 and WMS 1.3 snippet advertising custom dimensions, an identical approach as for time
  • there is a risk of conflict between dimension parameters (population=100 in the demo) and other keys, perhaps something similar to vendor options should be considered? Imagine if I had a dimension named format, angle or env?
···


Jody Garnett

This proposal is targeted towards 2.16? We are days away from the RC deadline …

As for the content of the proposalL

  • Technically this functionality is already available for GetMap via CQL_FILTER is it not?

Same goes for the existing TIME and ELEVATION support for vectors, they could be done via CQL_FILTER. But CQL_FILTER cannot be discovered by a generic OGC WMS client, custom dimensions are instead part of the WMS standard.

  • Do you have an example of WMS 1.1 and WMS 1.3 snippet advertising custom dimensions, an identical approach as for time

It’s really the same as the exiting support for raster custom dimensions (WMS does not tell you if a particular layer is vector or raster).
Here is an example taken from a GeoServer serving a raster data set with dimensions time, elevation and REFERENCE_TIME:

2016-02-23T03:00:00.000Z,2016-02-23T06:00:00.000Z,2016-02-23T09:00:00.000Z,2016-02-23T12:00:00.000Z,2016-02-23T15:00:00.000Z,2016-02-23T18:00:00.000Z,2016-02-23T21:00:00.000Z,2016-02-24T00:00:00.000Z,2016-02-24T03:00:00.000Z,2016-02-24T06:00:00.000Z,2016-02-24T09:00:00.000Z,2016-02-24T12:00:00.000Z,2016-02-24T15:00:00.000Z,2016-02-24T18:00:00.000Z,2016-02-24T21:00:00.000Z,2016-02-25T00:00:00.000Z,2016-02-25T03:00:00.000Z,2016-02-25T06:00:00.000Z,2016-02-25T09:00:00.000Z,2016-02-25T12:00:00.000Z,2016-02-25T15:00:00.000Z,2016-02-25T18:00:00.000Z,2016-02-25T21:00:00.000Z,2016-02-26T00:00:00.000Z,2016-02-26T03:00:00.000Z,2016-02-26T06:00:00.000Z,2016-02-26T09:00:00.000Z,2016-02-26T12:00:00.000Z,2016-02-26T15:00:00.000Z,2016-02-26T18:00:00.000Z,2016-02-26T21:00:00.000Z,2016-02-27T00:00:00.000Z,2016-02-27T03:00:00.000Z,2016-02-27T06:00:00.000Z,2016-02-27T09:00:00.000Z,2016-02-27T12:00:00.000Z,2016-02-27T15:00:00.000Z,2016-02-27T18:00:00.000Z,2016-02-27T21:00:00.000Z,2016-02-28T00:00:00.000Z 0.0,200.0,400.0,600.0,800.0,1000.0,1200.0,1400.0,1600.0,1800.0,2000.0,3000.0,4000.0,5000.0,6000.0,7000.0,8000.0,9000.0 2016-02-23T00:00:00.000Z,2016-02-24T00:00:00.000Z,2016-02-25T00:00:00.000Z
  • there is a risk of conflict between dimension parameters (population=100 in the demo) and other keys, perhaps something similar to vendor options should be considered? Imagine if I had a dimension named format, angle or env?

The WMS specification handle this by asking the client to add a “DIM_” prefix in the request, so if the dimension is called “REFERENCE_TIME” the client will add a parameter &DIM_REFERENCE_TIME=value in the KVP request.
Being part of the core specification, servers adding vendor parameter are forbidden to add ones starting with DIM_, thus avoiding conflicts.
Again, this is already supported for raster data, see for example this test suite:
https://github.com/geoserver/geoserver/blob/31a1aff264cac7e3db20edc776dd5a84bd58ce02/src/wms/src/test/java/org/geoserver/wms/wms_1_1_1/CustomDimensionsTest.java

Cheers
Andrea

···

== GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

On Wed, 14 Aug 2019 at 11:02, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Wed, Aug 14, 2019 at 7:49 PM Jody Garnett <jody.garnett@anonymised.com…> wrote:

This proposal is targeted towards 2.16? We are days away from the RC deadline …

Andrea did you have any feedback on this? I would expect hold off until after freeze, wait a month and back port?

Same goes for the existing TIME and ELEVATION support for vectors, they could be done via CQL_FILTER. But CQL_FILTER cannot be discovered by a generic OGC WMS client, custom dimensions are instead part of the WMS standard.

That makes perfect sense, a real gap in the standards not having a good overview of available values for attributes.

  • Do you have an example of WMS 1.1 and WMS 1.3 snippet advertising custom dimensions, an identical approach as for time

It’s really the same as the exiting support for raster custom dimensions (WMS does not tell you if a particular layer is vector or raster).
Here is an example taken from a GeoServer serving a raster data set with dimensions time, elevation and REFERENCE_TIME:

Thanks.

  • there is a risk of conflict between dimension parameters (population=100 in the demo) and other keys, perhaps something similar to vendor options should be considered? Imagine if I had a dimension named format, angle or env?

The WMS specification handle this by asking the client to add a “DIM_” prefix in the request, so if the dimension is called “REFERENCE_TIME” the client will add a parameter &DIM_REFERENCE_TIME=value in the KVP request.

Okay there is a small mistake in the proposal where &poluation=10000 was used.

I am +1 on the proposal, +0 on including it in the 2.16-RC timeframe…

+1 for me.

Ian

···

Ian Turton

Dear all,
I absolutely agree with this proposal. Since we already support custom dimensions for Raster, I don’t see why support should not be implemented for VECTORs also.

Moreover, having them advertised on the WMS GetCapa would be also very nice improvement.

Here my +1.

Not fully sure if this should be included into the RC as Jody pointed out. +0 for me also on this topic.

Alessio.

···

==

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

Ing. Alessio Fabiani

@alfa7691
Founder/Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A - 55054 Massarosa (LU) - Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 331 6233686

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

Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.

+1

It is a good occasion to align raster and vector support.

Simone.

···

Regards,
Simone Giannecchini.
GeoSolutions Director

  • sent from my mobile, apologies for brevity and typos-

Dear all,
a follow up on this one:
https://github.com/geoserver/geoserver/wiki/GSIP-177

The proposal has been updated, as suggested, to include this in 2.17-RC and in a month from now to backport to 2.16.1.

The PR for 2.17.x (master) is available here, and ready to merge:
https://github.com/geoserver/geoserver/pull/3732

Thank you all for the feedback!

On Wed, 2019-08-14 at 20:33 -0700, Jody Garnett wrote:

On Wed, 14 Aug 2019 at 11:02, Andrea Aime <andrea.aime@anonymised.com> wrote:

On Wed, Aug 14, 2019 at 7:49 PM Jody Garnett <jody.garnett@anonymised.com> wrote:

This proposal is targeted towards 2.16? We are days away from the RC deadline …

Andrea did you have any feedback on this? I would expect hold off until after freeze, wait a month and back port?

Same goes for the existing TIME and ELEVATION support for vectors, they could be done via CQL_FILTER. But CQL_FILTER cannot be discovered by a generic OGC WMS client, custom dimensions are instead part of the WMS standard.

That makes perfect sense, a real gap in the standards not having a good overview of available values for attributes.

  • Do you have an example of WMS 1.1 and WMS 1.3 snippet advertising custom dimensions, an identical approach as for time

It’s really the same as the exiting support for raster custom dimensions (WMS does not tell you if a particular layer is vector or raster).
Here is an example taken from a GeoServer serving a raster data set with dimensions time, elevation and REFERENCE_TIME:

Thanks.

  • there is a risk of conflict between dimension parameters (population=100 in the demo) and other keys, perhaps something similar to vendor options should be considered? Imagine if I had a dimension named format, angle or env?

The WMS specification handle this by asking the client to add a “DIM_” prefix in the request, so if the dimension is called “REFERENCE_TIME” the client will add a parameter &DIM_REFERENCE_TIME=value in the KVP request.

Okay there is a small mistake in the proposal where &poluation=10000 was used.

I am +1 on the proposal, +0 on including it in the 2.16-RC timeframe…

_______________________________________________
Geoserver-devel mailing list
[Geoserver-devel@anonymised.comsts.sourceforge.net](mailto:Geoserver-devel@lists.sourceforge.net)
[https://lists.sourceforge.net/lists/listinfo/geoserver-devel](https://lists.sourceforge.net/lists/listinfo/geoserver-devel)

-- 
Regards,
Nuno Oliveira
==
GeoServer Professional Services from the
experts! 
Visit http://goo.gl/it488V for more information.
==

Nuno Miguel Carvalho Oliveira
@nmcoliveira
Software Engineer

GeoSolutions S.A.S.
Via di Montramito 3/A
55054  Massarosa (LU)
Italy
phone: +39 0584 962313
fax:      +39 0584 1660272

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

-------------------------------------------------------

Con riferimento alla normativa sul trattamento dei dati 
personali (Reg. UE 2016/679 - Regolamento generale sulla 
protezione dei dati “GDPR”), si precisa che ogni 
circostanza inerente alla presente email (il suo contenuto, 
gli eventuali allegati, etc.) è un dato la cui conoscenza 
è riservata al/i solo/i destinatario/i indicati dallo 
scrivente. Se il messaggio Le è giunto per errore, è 
tenuta/o a cancellarlo, ogni altra operazione è illecita. 
Le sarei comunque grato se potesse darmene notizia.

This email is intended only for the person or entity to 
which it is addressed and may contain information that 
is privileged, confidential or otherwise protected from 
disclosure. We remind that - as provided by European 
Regulation 2016/679 “GDPR” - copying, dissemination or 
use of this e-mail or the information herein by anyone 
other than the intended recipient is prohibited. If you 
have received this email by mistake, please notify 
us immediately by telephone or e-mail.

+1

Cheers
Andrea

···

Regards, Andrea Aime == GeoServer Professional Services from the experts! Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054 Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it ------------------------------------------------------- Con riferimento alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 - Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni circostanza inerente alla presente email (il suo contenuto, gli eventuali allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le sarei comunque grato se potesse darmene notizia. This email is intended only for the person or entity to which it is addressed and may contain information that is privileged, confidential or otherwise protected from disclosure. We remind that - as provided by European Regulation 2016/679 “GDPR” - copying, dissemination or use of this e-mail or the information herein by anyone other than the intended recipient is prohibited. If you have received this email by mistake, please notify us immediately by telephone or e-mail.