| Motivation: | The Grid Coverage Exchange specification is dead; we need a replacement along the lines of DataStore |
|---|---|
| Contact: | aaime, jgarnett |
| Tracker: | http://jira.codehaus.org/browse/GEOT-XXXX |
| Tagline: | GCE is dead, lets move on |
This page represents the current plan; for discussion please check the tracker link above.
Description
This proposal:
- introduces GridAccess interface in a manner consistent with Data Access Design Goals
- where possible abstractions and method names are taken from the WCS specification
Status
This proposal is ready for your feedback simone!
This proposal is under construction; please help put it together and we will talk about it in early January when Martin Desruisseaux has some time. You may find the previous proposal Dry Run at DataAccess Story informative, as well as this email thread.
Voting has not started yet:
Tasks
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
| no progress | |
done | |
impeded | |
lack mandate/funds/time | |
volunteer needed |
|---|
- Define interface based from the WCS specification
- Produce initial prototype for world + image
- Roll out the above prototype for a round of community feedback and review
- Port the existing coverage formats one by one, either:
- as a wrapper around existing GridCoverageReaders / GridCoverageWriter implementations
- or direct implementation of CoverageStore / CoverageSource and CoverageStore
API
We need to create the front end to the coverage service; capturing the list of what is available and a little bit of description of the service (so user interfaces can describe what is going on):
interface GridAccessFactory { public boolean isAvailable(); InternationalString getDisplayName(); boolean canCreateGridAccess( Map<String,Serializable> connectionParams ); GridAccess createGridAccess( Map<String,Serializable> connectionParams ) throws IOException; boolean canCreateGridAccess( Map<String,Serializable> creationParams ); GridAccess createNewGridAccess( Map<String,Serializable> creationParams ); } interface GridAccess { List<Name> getNames(); ServiceInfo getInfo(); // ResourceInfo getInfo( Name name ); GridSource getGridSource( Name name ); void dispose(); }
For each resource type being managed we have the following data access api:
interface GridSource { ResourceInfo getInfo(); List<GridCoverage> getCoverages( Query query, Hints hints ); ... dispose(); } interface GridStore extends GridSource { List<GridCoverge> modifyCoverages( Query, Hints hints ); }
Query this time is based on the WCS specification:
interface Query {
...
simone help!
...
}
Out of scope
The following extentions are possible:
- GridServiceInfo - we will wait for experience to dictate what extra information is useful
- GridResourceInfo - we will wait for experience to dictate what extra information is useful


