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
