Skip to: Site menu | Main content

GeoTools

The Open Source Java GIS Toolkit

GridAccess based on WCS Specification Print

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
  1. Define interface based from the WCS specification
  2. Produce initial prototype for world + image
  3. Roll out the above prototype for a round of community feedback and review
  4. 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

Documentation Changes

list the pages effected by this proposal