Re: [GMLJP2] NetCDF <--> GML/JPEG2000

NOTE: The galeon mailing list is no longer active. The list archives are made available for historical reasons.

Hello Sean, et al:

Sean Forde wrote:

John,

Well, its been a week and there have been no takers on these questions, so I 
will weigh in with my answers and ask you a few questions. My comments are 
below. First a question.

[SPF:] What sorts of relationships do you need to define between various 
coverages? How do you express them in GML? The current state of the 
GML/JPEG2000 spec mandates that the GML instance has the following structure:

        <FeatureCollection>
                <FeatureCollection>
                        <RectifiedGridCoverage>
                                <!-- this coverage is for a particular JP2 
codestream -->
                        </RectifiedGridCoverage>
<!-- other features and metadata associated with that coverage can go here -->
                </FeatureCollection>
                <FeatureCollection>
                        <RectifiedGridCoverage>
                                <!-- this coverage is for a particular JP2 
codestream -->
                        </RectifiedGridCoverage>
<!-- other features and metadata associated with that coverage can go here -->
                </FeatureCollection>
                ...
        <FeatureCollection>

Does this structure accomodate the needs of netCDF?

I dont know at this point, ill need to study the RectifiedGridCoverage more to understand it. Perhaps Stefano has a better idea?

As stated before, we need to express time and vertical relationships between coverages. Another aspect is that models typically have quite a few variables, all on the same grid. This is why we sometimes call model data "5D". Its tedious to repeat the coverage description many times, one for each field. In principle you'd like to use the Range, but it appears to be restricted to "homogeneous quantiteis", in particular apparently all have to have same units, which makes it unusable for multiple Fields.

[SPF:] JPEG20000 is indeed integer based. There are plans to introduce floating 
point in the future, but it will be some years

ok, well we perhaps could introduce a scale and offset. in that case, 32 bits of precision would be fine.


[JC:]   4. The horizontal grid is not always evenly spaced in scientific
data. I realize that resampling is an important service, but  it would
also be useful to show the data in its native resolution. Is that
possible in JPEG2000?
[FW:] I don't think there is any standard approach to describing this in GML
coverage descriptions.  Would you essentially transmit along
geolocation layers (lat and long) as is done with some NASA HDF
products?  A set of GCPs?

Not sure what GCPs are.

Basically the grids sometimes arent regularly spaced, however they are still orthogonal. You merely need a list of the x and y coordinates (rather than start and increment). the coordinate of the i, jth point is ( x(i), y(j)) rather than (xstart + i* xincr, ystart + j * yincr)


[FW:] I would add that the description of user defined coordinate systems
(using standard projection methods like transverse mercator, but
custom parameters) has not yet really been addressed in the GML-in-
jpeg2000 IE though we hope to.  In that sense, the coordinate system
aspect of gmljp2 is still quite "green".

this is a problem; other than lat/lon, its unusual to see model data on any standard grid like EPSG. We have been working like mad to get users to document their projection parameters in a standard way, but theres probably little hope in matching these to standard grids.


I would add that one approach is encoding your entire dataset in
JPEG2000 with a GML coverage description embedded.  Another
might be to use the "same" GML coverage description but embedding
it in a netCDF attribute, and come up with a specification for a URN
format to refer to specific variables and dimensions in the netCDF
file.

Yes, this would be ideal. The question then becomes, how do you refer to the binary data? I assume JPEG is a collection of 2D arrays, while netcdf is nD. So some conventions will be needed on how that is done.

thanks for your thoughts on these matters..




  • 2005 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the galeon archives: