[gdal-dev] new GDAL driver: how to proceed?
Peter Baumann
p.baumann at jacobs-university.de
Mon Aug 2 14:50:46 EDT 2010
Dear GDAL maintainers,
we have written a GDAL driver to add the rasdaman database as another
"data format" that GDAL can read, and we would like to contribute this
to the GDAL project.
Rasdaman is a raster database middleware offering an SQL-style query
language on multi-dimensional arrays of unlimited size, stored in a
relational database. See www.rasdaman.org for the open-source code,
documentation, etc. Currently rasdaman is under consideration for OSGeo
incubation.
In our driver implementation, GDAL connects to rasdaman by defining a
query template which is instantiated with the concrete subsetting box
upon every access. This allows to deliver 2-D cutouts from n-D data sets
(such as hyperspectral satellite time series, multi-variable climate
simulation data, ocean model data, etc.). In particular, virtual imagery
can be offered which is derived on demand from ground truth data. Some
more technical details are given below [1].
The code compiles smoothly with the latest GDAL code and is undergoing
final tests and documentation. For a clean integration with the GDAL
code base we are asking for further advice. In particular, our Makefile
structure needs some fine tuning, we need to know intended use of some
parameters.
We hope that this contribution is of value to the community, any
comments are highly appreciated.
Thanks in advance for your assistance,
Peter & Constantin
[1] The connect string syntax follows the WKT Raster pattern and goes
like this:
rasdaman:
query='select a[$x_lo:$x_hi,$y_lo:$y_hi] from MyImages as a'
tileXSize=512 tileYSize=512
[host='localhost'] [port=7001] [database='RASBASE']
[user='rasguest'] [password='rasguest']
The rasdaman query language (rasql) string in this case only performs
subsetting. Upon image access by GDAL, the $ parameters are substituted
by the concrete bounding box computed from the input tile coordinates.
However, the query provided can include any kind of processing, as long
as it returns something 2-D. For example, this determines the average of
red and near-infrared pixels from the oldest image time series:
query='select ( a.red+a.nir ) /2 [$x_lo:$x_hi,$y_lo:$y_hi, 0 ]
from SatStack as a'
The further key-value pair parameters in brackets are optional, their
defaults are listed. BTW, the default user has read-only access to the
database as per rasdaman convention.
As rasdaman supports concurrent access with parallel query evaluation,
any number of such connections can be opened.
--
Dr. Peter Baumann
- Professor of Computer Science, Jacobs University Bremen
www.faculty.jacobs-university.de/pbaumann
mail: p.baumann at jacobs-university.de
tel: +49-421-200-3178, fax: +49-421-200-493178
- Executive Director, rasdaman GmbH Bremen (HRB 147737)
www.rasdaman.com, mail: baumann at rasdaman.com
tel: 0800-rasdaman, fax: 0800-rasdafax, mobile: +49-173-5837882
"Si forte in alienas manus oberraverit hec peregrina epistola incertis ventis dimissa, sed Deo commendata, precamur ut ei reddatur cui soli destinata, nec preripiat quisquam non sibi parata." (mail disclaimer, AD 10xx)
More information about the gdal-dev
mailing list