[Geoserver-devel] Re-send: WCS TIME & ELEVATION parameters in version 1.7?

I originally sent this on 7 Oct 2008 with no response. I would be grateful for a quick answer to the first question below.


From: Smith, Alan G.
Sent: Tue 10/7/2008 12:49 PM
To: geoserver-devel@lists.sourceforge.net
Subject: WCS TIME & ELEVATION parameters in version 1.7?

GeoServer Developers:

In GeoServer version 1.7, are the WCS TIME & ELEVATION parameters going to be supported as indicated by GSIP 24?

http://geoserver.org/display/GEOS/GSIP+24±+TIME-ELEVATION-BAND+parameters+parsing+for+WMS+1.1.1+WCS+1.X

If yes, do you have any sample code for a GeoTools coverage plug-in that uses the WCS TIME & ELEVATION parameters? I have checked out version 1.7-RC3 and have inspected some of the code for the EMF bindings, but I could not find an example of a plug-in that uses the EMF bindings–not that I have any real experience with EMF bindings.

My objective is to develop is to develop a GeoTools coverage plug-in for a proprietary data format where there are 2D coverages that vary in time and elevation, and I would like to only register one coverage store and coverage per data parameter using time and elevation to select the individual 2D coverages.

Thank you,

Alan Smith

Smith, Alan G. ha scritto:

I originally sent this on 7 Oct 2008 with no response. I would be grateful for a quick answer to the first question below.

In GeoServer version 1.7, are the WCS TIME & ELEVATION parameters going to be supported as indicated by GSIP 24?

  http://geoserver.org/display/GEOS/GSIP+24+-+TIME-ELEVATION-BAND+parameters+parsing+for+WMS+1.1.1+WCS+1.X

No, they won't, not in 1.7.0 at least. The work is being done in
a branch and involves ND coverages, not sure if it will ever merge
against 1.7.x or if it will be merged against 2.0.0.

My objective is to develop is to develop a GeoTools coverage plug-in for a proprietary data format where there are 2D coverages that vary in time and elevation, and I would like to only register one coverage store and coverage per data parameter using time and elevation to select the individual 2D coverages.

Hmmm... I know Simone and Alessio are working against HDF format and
that somehow that supports already ND coverages... only them can
provide details thought (I've cc'ed them).

Cheers
Andrea

--
Andrea Aime
OpenGeo - http://opengeo.org
Expert service straight from the developers.

Dear Smith,
my fault, answering your email is in the queue, but as you can imagine
we have been extremely busy these days. I am about to leave work
today, but I promise an exhaustive answer tomorrow first thing in the
morning.

Simone.

On Wed, Oct 15, 2008 at 6:00 PM, Smith, Alan G. <ALAN.G.SMITH@anonymised.com> wrote:

I originally sent this on 7 Oct 2008 with no response. I would be grateful
for a quick answer to the first question below.
________________________________
From: Smith, Alan G.
Sent: Tue 10/7/2008 12:49 PM
To: geoserver-devel@lists.sourceforge.net
Subject: WCS TIME & ELEVATION parameters in version 1.7?

GeoServer Developers:

In GeoServer version 1.7, are the WCS TIME & ELEVATION parameters going to
be supported as indicated by GSIP 24?

http://geoserver.org/display/GEOS/GSIP+24+-+TIME-ELEVATION-BAND+parameters+parsing+for+WMS+1.1.1+WCS+1.X

If yes, do you have any sample code for a GeoTools coverage plug-in that
uses the WCS TIME & ELEVATION parameters? I have checked out version
1.7-RC3 and have inspected some of the code for the EMF bindings, but I
could not find an example of a plug-in that uses the EMF bindings--not that
I have any real experience with EMF bindings.

My objective is to develop is to develop a GeoTools coverage plug-in for a
proprietary data format where there are 2D coverages that vary in time and
elevation, and I would like to only register one coverage store and coverage
per data parameter using time and elevation to select the individual 2D
coverages.

Thank you,

  Alan Smith

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
-------------------------------------------------------
Eng. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928

http://www.geo-solutions.it
http://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

During my last version update, I patched the geoserver code to use the
TIME and ELEVATION parameters. Then, I tweaked the NetCDF plugin that
Martin and Cedric authored to extract the 2D slice from a
multidimensional data file.

So, if the code for reading the TIME and ELEVATION values from a
request is already in geoserver's source tree (haven't checked
recently), you will have add Parameter Descriptors in the
WhateverProprietaryDataFormat that extends AbstractGridFormat (for
your Geotools coverage plugin), and create a GridCoverage that takes
into account the TIME and ELEVATION values in your
WhateverProprietaryDataReader's read() method.

Alex

On Wed, Oct 15, 2008 at 11:00 AM, Simone Giannecchini
<simboss1@anonymised.com> wrote:

Dear Smith,
my fault, answering your email is in the queue, but as you can imagine
we have been extremely busy these days. I am about to leave work
today, but I promise an exhaustive answer tomorrow first thing in the
morning.

Simone.

On Wed, Oct 15, 2008 at 6:00 PM, Smith, Alan G. <ALAN.G.SMITH@anonymised.com> wrote:

I originally sent this on 7 Oct 2008 with no response. I would be grateful
for a quick answer to the first question below.
________________________________
From: Smith, Alan G.
Sent: Tue 10/7/2008 12:49 PM
To: geoserver-devel@lists.sourceforge.net
Subject: WCS TIME & ELEVATION parameters in version 1.7?

GeoServer Developers:

In GeoServer version 1.7, are the WCS TIME & ELEVATION parameters going to
be supported as indicated by GSIP 24?

http://geoserver.org/display/GEOS/GSIP+24+-+TIME-ELEVATION-BAND+parameters+parsing+for+WMS+1.1.1+WCS+1.X

If yes, do you have any sample code for a GeoTools coverage plug-in that
uses the WCS TIME & ELEVATION parameters? I have checked out version
1.7-RC3 and have inspected some of the code for the EMF bindings, but I
could not find an example of a plug-in that uses the EMF bindings--not that
I have any real experience with EMF bindings.

My objective is to develop is to develop a GeoTools coverage plug-in for a
proprietary data format where there are 2D coverages that vary in time and
elevation, and I would like to only register one coverage store and coverage
per data parameter using time and elevation to select the individual 2D
coverages.

Thank you,

  Alan Smith

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
-------------------------------------------------------
Eng. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928

http://www.geo-solutions.it
http://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Dear Smith,
apologies for the late answer, and apologies in advance if the answer
will be long. :-).

We have been working since the beginning of this year (well actually a
earlier than that..) towards allowing multidmensional file formats
like HFD4, netCDF-CF, GriB1 and HDF-EOS (we are lokking at HDF5 for
cosmo-skymed just now..) to be served through the GeoServer.
Baseline goal is to be able to get "d layers out of multidimensional
sources, while the more ambitious goal is to be able to serve multidim
cubes through WCS as well as doing animations for WMS. This was for
the background.

Now the directions as well as the work done.
To achieve all this we have identified a a few areas to work on:

1> Allowing GeoServer to correctly parse the various multidim related
params like TIME, BAND, etc.
This has been implemented as part of GSIP 24. That work is actually
sitting on a branch, since we are waiting for 1.7.0 to be released in
order to merge it onto 1.7.x and trunk.
Notice that this work will only allow GeoServer to actually parse the
parameters in incoming requests, this does not involve actually
passing them to the underlying plugin.

2A> Allowing current GridCoverage plugins to actually use the new parameters.

The current GridCoverage I/O mechanism has a few limitations which
have been inherited from the GridCoverage GCE specification.
However as Alex has pointed out it is possible to use Parameters in
order to add TIME, BAND and ELEVATION to serve multidim WMS and WCS
requests pretty easiliy. As far as the assumption to have 1 coverage
for each file that can be overcome (we have done that for HDF4) same
applies to the claime impossibility to use a DBMS backed (there is a
new imagemosaic-jdbc plugin available).
This means that once GSIP 24 will be committed, it will actually be
decently easy to extract 2D slices from multidimensional source, we
will just have to agree on the Parameter semantic and add the wiring
code to the GeoServer which would forward requests down under to the
coverage plugins.

I was actually discussing this with Daniele since we have a few
plugins for HDF4 which are pretty much ready to go (they are able to
serve data as processed using APS and or TERASCAN sotware).

2B>Refactor CoverageIO and move towards GeoServer ND.
As I said above the current GridCoverage I/O framework has a few
limitations, hence in order to fully support multidimensional coverage
source we started with defining a new API for it, and we are
completely refactoring the internal of the GeoServer to support this
new API. This is an ongoing work and there is not muc documentation.
We have ported the old GeoTiff code to this new API, but our main goal
is to have an initial version for the end of the year which should be
able to server netCDF-CF, GriB1, and a few HDF sources as explained
above. We have more ambitious goal for next year, gor this email is
getting long enough already :-).

This work is now based on GeoServer 1.7.x + gsip 24 + new Coverage API
and lives in its won branch, however we should upgrade it and make it
work against GeoServer trunk in early november, since this work will
not be backported to 1.7.x since it contains so many differences. This
work should lay down the basis for future versions of GeoServer
coverage support as well as for the "ambitious" part I talked about
before.

Conclusion.
I just tried to give a (quick) and (I hope) exhaustive overview of
what we are doing, in order to trigger a discussion which wouold be
tailored to your goals.

Regards,
Simone.

On Wed, Oct 15, 2008 at 6:00 PM, Smith, Alan G. <ALAN.G.SMITH@anonymised.com> wrote:

I originally sent this on 7 Oct 2008 with no response. I would be grateful
for a quick answer to the first question below.
________________________________
From: Smith, Alan G.
Sent: Tue 10/7/2008 12:49 PM
To: geoserver-devel@lists.sourceforge.net
Subject: WCS TIME & ELEVATION parameters in version 1.7?

GeoServer Developers:

In GeoServer version 1.7, are the WCS TIME & ELEVATION parameters going to
be supported as indicated by GSIP 24?

http://geoserver.org/display/GEOS/GSIP+24+-+TIME-ELEVATION-BAND+parameters+parsing+for+WMS+1.1.1+WCS+1.X

If yes, do you have any sample code for a GeoTools coverage plug-in that
uses the WCS TIME & ELEVATION parameters? I have checked out version
1.7-RC3 and have inspected some of the code for the EMF bindings, but I
could not find an example of a plug-in that uses the EMF bindings--not that
I have any real experience with EMF bindings.

My objective is to develop is to develop a GeoTools coverage plug-in for a
proprietary data format where there are 2D coverages that vary in time and
elevation, and I would like to only register one coverage store and coverage
per data parameter using time and elevation to select the individual 2D
coverages.

Thank you,

  Alan Smith

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great
prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Geoserver-devel mailing list
Geoserver-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

--
-------------------------------------------------------
Eng. Simone Giannecchini
GeoSolutions S.A.S.
Owner - Software Engineer
Via Carignoni 51
55041 Camaiore (LU)
Italy

phone: +39 0584983027
fax: +39 0584983027
mob: +39 333 8128928

http://www.geo-solutions.it
http://www.geo-solutions.it/simone.giannecchini
http://www.linkedin.com/in/simonegiannecchini

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

Dear Simone:

Thank you for you exhaustive overview of what you are doing.

First I would like to give you a short overview of what I am trying to
accomplish using GeoServer/GeoTools then ask a couple of specific questions
about branches and versions.

Overview of what I am trying to accomplish:
Basically, I want to serve four dimensional (x, y, z and time)
meteorological and oceanographic data that is stored in a proprietary format
as OGC services. My specific objectives are to:
    Serve the 4-D data as 2D coverages (WCS) using TIME & ELEVATION
    Serve the 4-D data as WMS using TIME & ELEVATION
        The new raster symbolization is going to very helpful :slight_smile:
    Derive vector data from the 2D coverages and serve using WFS
        e.g. isopleths, point data for windbarbs, etc.
    Server the vector data as WMS using appropriate METOC symbology (e.g.
windbarb)
         The new dynamic SLD and graphic objects is going to very helpful
:slight_smile:

I want to congratulate the designers/developers of the Dynamic SLD Graphic
objects.
   http://geotools.codehaus.org/Dynamic+SLD+Graphic+objects
I found the combination of the MarkFactory with CQL to be very flexible yet
easy to use for implement a new MarkFactory.

Questions about branches and versions:
While your long range goals of "to serve multidimensional cubes through WCS
as well as doing animations for WMS" sounds great, at this time I am only
interested in serving 2D coverages from the 4D data. From your email here
are the two statements that interest me the most:
1) Alex has pointed out it is possible to use Parameters in order to add
TIME, BAND and ELEVATION to serve multidimensional WMS and WCS requests
pretty easily.
2) Our main goal is to have an initial version for the end of the year which
should be
able to server netCDF-CF, GriB1, and a few HDF sources as explained above.

If I emulate how Alex added TIME & ELEVATION (#1 above) then how compatible
will that solution be with the version of GeoServer code from #2 above? I
am fine with having to re-factor for a future version of GeoServer if I can
start developing with a branch that allows me work with TIME & ELEVATION
no--I plan on decoupling parameter handling from proprietary data format
handling so only one thin layer should have to be re-factored. As long as
the two solutions are conceptually similar then it shouldn’t be a lot of
work to re-factor for a future version of GeoServer.

Based on both yours and Alex’s response, I think I want to start by
emulating Alex’s solution for TIME & ELEVATION parameters—unless you tell me
this is a "dead end" code path. So, I would like to know which GeoServer
branch Alex used? I see both:
    1.7.x_WCS10EMF_ND/
    1.7.x_WCS10_EMF/
Also, is there code sample of Alex’s solution for adding the parameters in
Subversion?

Thank you,
    Alan

--
View this message in context: http://www.nabble.com/Re-send%3A-WCS-TIME---ELEVATION-parameters-in-version-1.7--tp19997673p20037580.html
Sent from the GeoServer - Dev mailing list archive at Nabble.com.

Based on both yours and Alex's response, I think I want to start by
emulating Alex's solution for TIME & ELEVATION parameters—unless you tell me
this is a "dead end" code path. So, I would like to know which GeoServer
branch Alex used? I see both:
   1.7.x_WCS10EMF_ND/
   1.7.x_WCS10_EMF/
Also, is there code sample of Alex's solution for adding the parameters in
Subversion?

I'd definitely avoid adding code to Geoserver that is destined to be
"dead-end"-ed. From Simone's response, it looks like the TIME and
ELEVATION parameters will need to pass their values to plugins that
indeed respect those parameters for 2D slice reading.

As far as an example for how to add parameter descriptors to your
geotools plugin, I can email you privately--my code isn't commited in
geotools' SVN.

Alex