Package org.geotoolkit.coverage.sql

A schema for storing coverages metadata in a SQL database.

See:
          Description

Interface Summary
CoverageDatabaseController To be implemented by objects that can determine the settings of a NewGridCoverageReference.
CoverageDatabaseListener A listener notified when a Layer or a Grid Coverage Reference is about to be added or removed.
FutureQuery<V> The result of a Coverage Database query executed in a background thread.
GridCoverageReference Reference to a GridCoverage2D.
Layer A layer of grid coverages sharing common properties.
 

Class Summary
CoverageDatabase A connection to a collection of coverages declared in a SQL database.
CoverageDatabaseEvent The event delivered when the content of a Coverage Database changes.
CoverageEnvelope An envelope holding the spatio-temporal extent and preferred resolution of a coverage.
CoverageQuery A request for data in a Coverage Database.
CoverageTableModel A Swing Table Model listing coverages entries.
CoverageTableModel.CellRenderer A Table Cell Renderer for coloring the cells in a table using the Coverage Table Model.
LayerCoverageReader A grid coverage reader for a layer.
NewGridCoverageReference A structure which contain the information to be added in the Coverage Database for a new coverage reference.
 

Exception Summary
DatabaseVetoException Thrown when a proposed change in the content of a Coverage Database is not allowed.
 

Package org.geotoolkit.coverage.sql Description

A schema for storing coverages metadata in a SQL database. The coverage sample values are stored as ordinary files encoded in arbitrary image formats (PNG, RAW, ASCII, JPEG-2000, etc. - note that the classic JPEG format is not recommended). A PostgreSQL database is used for storing coverage metadata like geographic envelopes and meaning of pixel values. The database is also used as an index for searching image files from a 2D, 3D or 4D spatio-temporal envelopes.


Installation
The current implementation requires the PostgreSQL database with the PostGIS extension. The easiest way to install the database is to run the graphical wizard. The database can also be created manually by running the SQL scripts available on the Mercurial repository.


Connection
The connection to the database is specified by a JDBC DataSource and a Properties map, which are given to the CoverageDatabase constructor. The properties map can contain the following optional entries:

KeyUsage
URL  The JDBC URL to the database (only if no DataSource is given).
user  The user name.
password  The password.
schema  The database schema to use. The default is to use the PostgreSQL "search_path" variable.
timezone  The timezone for the dates in the database. Default is UTC.
rootDirectory  The root directory of image files. Paths declared in the database are relative to that directory.


Usage
A CoverageDatabase can be used in different ways. Some methods can be invoked directly on the CoverageDatabase instance:

CoverageDatabase db = new CoverageDatabase(...);
CoverageQuery query = new CoverageQuery(db);
CoverageEnvelope env = query.getEnvelope();
env.setHorizontalRange(...); // Convenience method for setting the horizontal dimension.
env.setTimeRange(...);       // Convenience method for setting the temporal dimension.
query.setEnvelope(env);      // As a matter of principle, but actually not necessary.
query.setLayer("My Layer");
FutureQuery<GridCoverage2D> fc = db.readSlice(query);

// Do some other work here while the coverage is loaded in background.

GridCoverage2D coverage = fc.result();
It is also possible to get a LayerCoverageReader instance, which give access to the same functionalities through the GridCoverageReader API.

Since:
3.09 (derived from Seagis)
Version:
3.18
Author:
Martin Desruisseaux (IRD, Geomatys)
Module:
coverage/geotk-coverage-sql (download)


Copyright © 2009-2012 Geotoolkit.org. All Rights Reserved.