[Geoserver-users] Multliple coverages in a single output NetCDF?

Does WCS 2.0.1 and (GeoServer in particular) have a mechanism to request multiple coverages in a single WCS request? NetCDF seems to be a WCS output format that could represent such a response, but I do not know if this is supported by WCS or GeoServer. I could not find anything in the WCS spec that had anything other than a single coverageid.

Kind regards,

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand

Hi Ben,
I think that the WCS 2.0.1 GetCoverage can only returns 1 coverage. It can contain multiple dimensions subset (times, elevations, ranges,…) but only 1 coverage.
Taking a look at the specification (https://portal.opengeospatial.org/files/09-110r4) the GetCoverageRequest has a single coverageId element.

Even the GetCoverageType interface in GeoServer as a get/setCoverageId(String) method defining THE coverage id.

GetCoverageType is the input of a GetCoverage.run call producing the GridCoverage for a WCS getCoverage request.

Not sure there is any WCS extension around overcoming this limit.
Hope this helps.
Cheers,
Daniele

···

On Fri, May 20, 2016 at 2:28 AM, Ben Caradoc-Davies <ben@anonymised.com1…> wrote:

Does WCS 2.0.1 and (GeoServer in particular) have a mechanism to request
multiple coverages in a single WCS request? NetCDF seems to be a WCS
output format that could represent such a response, but I do not know if
this is supported by WCS or GeoServer. I could not find anything in the
WCS spec that had anything other than a single coverageid.

Kind regards,


Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/>
New Zealand


Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j


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

==

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

Ing. Daniele Romagnoli
Senior 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


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 for the confirmation, Daniele.

I think that coverage aggregation in NetCDF might be a job for WPS.

Kind regards,
Ben.

On 20/05/16 19:29, Daniele Romagnoli wrote:

Hi Ben,
I think that the WCS 2.0.1 GetCoverage can only returns 1 coverage. It can
contain multiple dimensions subset (times, elevations, ranges,....) but
only 1 coverage.
Taking a look at the specification (
https://portal.opengeospatial.org/files/09-110r4) the GetCoverageRequest
has a single coverageId element.

Even the GetCoverageType interface in GeoServer as a
get/setCoverageId(String) method defining THE coverage id.
GetCoverageType is the input of a GetCoverage.run call producing the
GridCoverage for a WCS getCoverage request.

Not sure there is any WCS extension around overcoming this limit.
Hope this helps.
Cheers,
Daniele

On Fri, May 20, 2016 at 2:28 AM, Ben Caradoc-Davies <ben@anonymised.com>
wrote:

Does WCS 2.0.1 and (GeoServer in particular) have a mechanism to request
multiple coverages in a single WCS request? NetCDF seems to be a WCS
output format that could represent such a response, but I do not know if
this is supported by WCS or GeoServer. I could not find anything in the
WCS spec that had anything other than a single coverageid.

Kind regards,

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data
untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand

On Fri, May 20, 2016 at 10:39 PM, Ben Caradoc-Davies <ben@anonymised.com>
wrote:

Thanks for the confirmation, Daniele.

I think that coverage aggregation in NetCDF might be a job for WPS.

Ah, WPS, the one protocol to rule them all :slight_smile:
(but seriously, I agree it's the only fully compliant option, the other
potential avenue being making a vendor extension to the WCS standard)

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

*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.

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

On 21/05/16 20:41, Andrea Aime wrote:

On Fri, May 20, 2016 at 10:39 PM, Ben Caradoc-Davies <ben@anonymised.com>
wrote:

I think that coverage aggregation in NetCDF might be a job for WPS.

Ah, WPS, the one protocol to rule them all :slight_smile:

And in the darkness bind them. :slight_smile:

(but seriously, I agree it's the only fully compliant option, the other
potential avenue being making a vendor extension to the WCS standard)

Yes, that could work. Perhaps supporting a comma-separated list of coverage IDs, and then aggregating them on output? A bit fiddly if the underlying coverages have different dimensions and coordinate variables, but it could be done. Extending WCS would mean that the method for obtaining an aggregated coverage would be very similar to the method for obtaining a single coverage.

Kind regards,

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand

On Sat, May 21, 2016 at 11:59 AM, Ben Caradoc-Davies <ben@anonymised.com>
wrote:

On 21/05/16 20:41, Andrea Aime wrote:

On Fri, May 20, 2016 at 10:39 PM, Ben Caradoc-Davies <ben@anonymised.com>
wrote:

I think that coverage aggregation in NetCDF might be a job for WPS.

Ah, WPS, the one protocol to rule them all :slight_smile:

And in the darkness bind them. :slight_smile:

Muwhaahhahahahaa!!!!

(but seriously, I agree it's the only fully compliant option, the other

potential avenue being making a vendor extension to the WCS standard)

Yes, that could work. Perhaps supporting a comma-separated list of
coverage IDs, and then aggregating them on output? A bit fiddly if the
underlying coverages have different dimensions and coordinate variables,
but it could be done. Extending WCS would mean that the method for
obtaining an aggregated coverage would be very similar to the method for
obtaining a single coverage.

Right. To be honest, I'm not against the idea.
The major argument against would be, I guess, how can a client know if an
output format is multi-coverage capable, and what conditions do the
multi-coverages have to respect? (nothing, same CRS, same data type, and so
on?)
But to be honest, we go out with arcgrid, how does a client know that
arcgrid is not multiband capable?

Given that only a geoserver specific client would know that coverageid
might take a comma separate list of values,
the worry about output format seems moot, it seems to me the client would
have to be custom-made regardless.

The interesting part is imho another, how does one allow multi-coverage
without too deep changes in the WCS 2.0
machinery? I'd say, by having DefaultWebCoverageService20 loop over the
ids, getting a response out of each,
and then build a new multi-coverage response object that only netcdf knows
how to handle:
https://github.com/geoserver/geoserver/blob/master/src/wcs2_0/src/main/java/org/geoserver/wcs2_0/DefaultWebCoverageService20.java#L138

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

*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.

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

On 22/05/16 00:09, Andrea Aime wrote:

The interesting part is imho another, how does one allow multi-coverage
without too deep changes in the WCS 2.0
machinery? I'd say, by having DefaultWebCoverageService20 loop over the
ids, getting a response out of each,
and then build a new multi-coverage response object that only netcdf knows
how to handle:
https://github.com/geoserver/geoserver/blob/master/src/wcs2_0/src/main/java/org/geoserver/wcs2_0/DefaultWebCoverageService20.java#L138

That was what I was thinking: just loop over the coverages and then merge into a single NetCDF response on output. The least possible change to the rest of WCS 2.0.

Kind regards,

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand