[Geoserver-devel] Optional flag to remove root Layer in WMS Capabilities documents

Hi,
to improve compatibility with some WMS clients, we would like to add an option for WMS to produce capabilities documents without the root layer tag when this is not necessary (e.g. when you ask for a virtual service, either a layergroup or a single layer, and thus you already have a single root, the group or the single layer).
This could be implemented as a global / virtual service configuration, as a query string parameter or both.

Any thought / objection?

···

Regards,

Mauro Bartolomeoli

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

Dott. Mauro Bartolomeoli
@mauro_bart
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy

mobile: +39 393 904 1756
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.

No objection to the idea, it is just very unusual to see a WMS service configured this way (with a single layer). That said, is there any reason not to do this all the time for the cases you mention (layer group and single layer)? If it really is unnecessary …

···


Jody Garnett

Hi Jody. The most interesting use case is when you are asking for a layer group and you get the group as root and the subgroups and layers as child nodes (so not really a single layer, but a tree with a single root, that is not the GS default root, but the group itself).
I would not make it active by default, because I suspect many GeoServer aware WMS clients could stop working.

Mauro

Il mar 21 mag 2019, 00:47 Jody Garnett <jody.garnett@anonymised.com> ha scritto:

No objection to the idea, it is just very unusual to see a WMS service configured this way (with a single layer). That said, is there any reason not to do this all the time for the cases you mention (layer group and single layer)? If it really is unnecessary …


Jody Garnett

On Mon, 20 May 2019 at 06:01, Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi,
to improve compatibility with some WMS clients, we would like to add an option for WMS to produce capabilities documents without the root layer tag when this is not necessary (e.g. when you ask for a virtual service, either a layergroup or a single layer, and thus you already have a single root, the group or the single layer).
This could be implemented as a global / virtual service configuration, as a query string parameter or both.

Any thought / objection?

Regards,

Mauro Bartolomeoli

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

Dott. Mauro Bartolomeoli
@mauro_bart
Technical Lead

GeoSolutions S.A.S.
Via di Montramito 3/A
55054 Massarosa (LU)
Italy

mobile: +39 393 904 1756
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.


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

Yeah, I agree with the idea in general, but best to have it off by default, don’t think I’ve seen a WMS with a single root layer so far. The layer group case should work instead, after all, it’s still a tree, but even in that case, some clients
would break on upgrade if we move from root->group->layers to just group->layers

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.

I believe most WMS clients can already handle no-root-layers, at least if they interact successfully with ArcGIS Server WMS’, which don’t always provide one. For instance try the getcap for:

https://www.geoseer.net/rl.php?ql=1c9ad6b795c81a3a

or

https://www.geoseer.net/rl.php?ql=20e92da97bb6ff7b

This seems to only be true of the /ImageServer/ endpoints. ArcGIS /MapServer/ endpoints have a root layer.

Thredds, QGIS Server and MapServer also have a root layer.

{Jody} … it is just very unusual to see a WMS service configured this way (with a single layer).

From a purely statistical perspective, most WMS services only have have a single layer. Of 116,762 public WMS services in my database, 62,442 have exactly one (1) named layer. Just 54,320 have > 1 layer. That’s across all types of WMS Server.

Note that I only keep “named layers” (layers that have a “name” set and can thus be requested via GetMap), and I don’t keep nested-layers relationships.

Cheers,

Jonathan

···

On 2019-05-21 08:32, Andrea Aime wrote:

On Tue, May 21, 2019 at 9:27 AM Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody. The most interesting use case is when you are asking for a layer group and you get the group as root and the subgroups and layers as child nodes (so not really a single layer, but a tree with a single root, that is not the GS default root, but the group itself).
I would not make it active by default, because I suspect many GeoServer aware WMS clients could stop working.

Yeah, I agree with the idea in general, but best to have it off by default, don’t think I’ve seen a WMS with a single root layer so far. The layer group case should work instead, after all, it’s still a tree, but even in that case, some clients
would break on upgrade if we move from root->group->layers to just group->layers

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.

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

That is really neat! Thanks for the background, when do we get a foss4g presentation on your database?

Based on the research do we want to have the option remove root in all cases?

root → groups → layers
group → layers
layer

I assume you are filling what was formally the root SRS list in the “top-level” layer definition in each case?

···

Jody Garnett

Hi Jody,

Thanks! Feedback is always welcome (off-list too). Unfortunately I won’t be going to Bucharest so the next FOSS4G international I’m likely to make is 2022 given I’m trying to keep my pollution footprint low by not flying. But I hope to present it at FOSS4GUK later this year.

I assume you are filling what was formally the root SRS list in the “top-level” layer definition in each case?

Layers do “inherit” the parent’s SRS, BBOX, and ScaleHint when nested if that’s what you mean. Either adding (SRS) or replacing (BBOX), as applicable.

Excepting of course that because the GeoServer default SRS list is… lengthy(!), if there are more than 30 SRS’ declared, then I keep none of them!

Cheers,

Jonathan

···

On 2019-05-29 10:36, Jody Garnett wrote:

That is really neat! Thanks for the background, when do we get a foss4g presentation on your database?

Based on the research do we want to have the option remove root in all cases?

root → groups → layers
group → layers
layer

I assume you are filling what was formally the root SRS list in the “top-level” layer definition in each case?

Jody Garnett

On Tue, 28 May 2019 at 17:08, Jonathan Moules <jonathan-lists@anonymised.com> wrote:

I believe most WMS clients can already handle no-root-layers, at least if they interact successfully with ArcGIS Server WMS’, which don’t always provide one. For instance try the getcap for:

https://www.geoseer.net/rl.php?ql=1c9ad6b795c81a3a

or

https://www.geoseer.net/rl.php?ql=20e92da97bb6ff7b

This seems to only be true of the /ImageServer/ endpoints. ArcGIS /MapServer/ endpoints have a root layer.

Thredds, QGIS Server and MapServer also have a root layer.

{Jody} … it is just very unusual to see a WMS service configured this way (with a single layer).

From a purely statistical perspective, most WMS services only have have a single layer. Of 116,762 public WMS services in my database, 62,442 have exactly one (1) named layer. Just 54,320 have > 1 layer. That’s across all types of WMS Server.

Note that I only keep “named layers” (layers that have a “name” set and can thus be requested via GetMap), and I don’t keep nested-layers relationships.

Cheers,

Jonathan

On 2019-05-21 08:32, Andrea Aime wrote:

On Tue, May 21, 2019 at 9:27 AM Mauro Bartolomeoli <mauro.bartolomeoli@anonymised.com> wrote:

Hi Jody. The most interesting use case is when you are asking for a layer group and you get the group as root and the subgroups and layers as child nodes (so not really a single layer, but a tree with a single root, that is not the GS default root, but the group itself).
I would not make it active by default, because I suspect many GeoServer aware WMS clients could stop working.

Yeah, I agree with the idea in general, but best to have it off by default, don’t think I’ve seen a WMS with a single root layer so far. The layer group case should work instead, after all, it’s still a tree, but even in that case, some clients
would break on upgrade if we move from root->group->layers to just group->layers

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.

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


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