The recent release of the 19123 primer/draft 6 has helped me solve some
problems and clarify a direction which I'd like to bounce off of you guys.

Item 1: "Geophysics" and stored portrayal
The 19123 coverage data type is not responsible for maintaining a
"rendered" version of itself.  The "geophysics" flag is likely to
disappear.  There is separate work with imagery.  (19128/19130).  If you've
rendered a coverage to an image, it should be a completely separate
coverage.  We can define an "ImageCoverage" data type which maintains an
optional reference to a "base" coverage which contains the actual data.

Item 2: GT Grid Implementations
19123 defines a Grid abstraction which is used by three coverage types.  GT
should definately offer a Grid implementation based on the standard J2SE
image objects (2 spatial dimensions + no temporal dimensions + bands; or 2
spatial dimensions + band axis is temporal).  For multidimensional
coverages, I propose that GT offer a Grid implementation based on the
Multiarray2 library distributed with Java NetCDF.

I hope this approach leverages all of Simone's existing work with JAI.
However, it may be necessary to make a 2-way adapter between J2SE images
and Grid.  This would offer a natural avenue to apply Simone's JAI work to
the netCDF/multiarray2 library; or to any future framework which supplies a
Grid implementation, for that matter.

Item 3: GT Coverage Implementations
I propose we start with the discrete grid point coverage, as this is the
simplest item with the greatest utility.  I propose that the second focus
of implementation is continuous quadrilateral grid coverage.  The
continuous coverage _implementation_ should probably be related to the
discrete coverage _implementation_, and should only add the ability to
interpolate.  I do not see an advantage to making a "special" 2D discrete
coverage.  I do think it is worthwhile to supply a "special" 2D continuous
coverage which leverages the current JAI infrastructure to interpolate.

Item 4: GT Gridded Coverage J2SE Image Portrayal
This item concerns a portrayal operation which generates a J2SE image
object from a gridded coverage, given a ColorModel (CV_Grid already
contains DataBuffer and SampleModel, e.g., "Raster").  This image may
optionally be stored in an ImageCoverage if you desire to retain the
georeferencing.

Item 5: Coverage I/O
This is not well explored.  However, it is clear that the gridded coverage
formats should all traffic in CV_Grids.  These contain the data, grid
geometry, and georeferencing transforms which can be encoded/decoded into
whatever format the I/O plugin is dealing with.  The CV_Grids returned from
a reader can be made into any of the gridded coverage types by the client
code.  Technically, Coverage I/O should be a  special case of feature I/O.
Remember, there's 10 defined coverage types and only three of them are
gridded.  Coverage I/O should not be equated with Raster I/O.

Many of these efforts can take place in parallel.  The two Grid
implementations are independent.  The two gridded coverage implementations
are independent due to the fact that they rely only on the GeoAPI
interfaces.  Ideally, gridded coverage portrayal would be independent of
either coverage implementation using the J2SE<-->Grid Adapter.  If this is
too inefficient, then portrayal can depend directly  on the J2SE Grid
implementation (but not on the gridded coverage implementation).

If Simone and Alessio are really itching to go, the J2SE based grid
implementations are the very first place to start.  I need to add three
interfaces to what we defined last spring.  Read "The Grid Abstraction"
section of the 19123 primer for more information.

I'm hitting the Coverage IWUGs when I'm done with this email, but this my
grand plan.  Before I drop this again, IWUGs will be defined for at least
items 2, 3, & 5.  I will strive to get IWUGs out there for 1 &4.  I will
not be offended if anyone else wants to contribute a partial or complete
design for any of these topics.  Even ideas are welcome!   I'd like to
start writing code someday, but I'm writing IWUGs until Xmas, at least.

Bryce


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to