Re: Meeting about improving the GRD API.

Ian Barrodale wrote:

Hi All:

Based on your feedback (John and Ted), we've been talking and have
an interesting project idea - brought up today by Peter.

If we were able to put GRD database support into the Java netCDF
library and use THREDDS and TDS to serve data, we may also be able to provide gridded data reprojection support. What do you think of this idea please? Some details follow below.

If a grd:// URL was allowed to contain a bit of spatial reference text
so that not only did it specify the database server, login info, database
name, and variable name, but also the projection and its parameters
(sort of like an OPeNDAP subset specification) then the GRD could
reproject any of the gridded data (including satellite swath data such
as from a POES satellite) to a projection of the user's choice.  The
spatial reference text could be tacked onto the grd:// URL in the records
returned by THREDDS according to some number of pre-specified
projections that we create.
Such a capability would help to support users like Dave Foley and
Roy Mendelssohn (copied) who have expressed an interest to us in storing unmapped satellite data in a spatial database, as well as other groups such as the NOAA/NESDIS CLASS archive. According to Peter,
the NOAA CoastWatch technical group has been talking for years about
how nice it would be to be able to pull unmapped satellite data out of CLASS in a user- specified projection rather than having to create mapped products.

Have a great weekend.

Regards,
Ian
====================

Its a very interesting possibility. The core question is, how does the user specify the reprojection?

The netcdf data model doesnt allow for modifying the dataset based on user input. If there were a small set of possible projections, one could create a dataset for each possibilty, but this doesnt scale. So its important to realize that this capability takes us into extensions of the data model.

OPeNDAP has "server side functions", which would allow you to specify the reprojection, but theres no standard way to do this AFAIK, so we'd be creating one.

WCS does have standard reprojection capabilities, and this is the obvious path. But can any of the client software already talk to WCS servers? The WCS messaging XML is somewhat complicated to learn.

One  could also create a simpler REST based web service for this capability.

So the immediate question in my mind is what clients would use this capability, and how will they specify it.