[gdal-dev] GDAL Re-engineering

Frank Warmerdam warmerda at h...
Wed Mar 1 16:06:47 EST 2000


Folks,

I am about to start a substantial round of changes to GDAL. My objectives are:

o Bring the GDAL data model into closer alignment with the OpenGIS 
grid coverages model. 

o Add support for overviews. 

o Add support for metadata / nodata / min / max on a per-band basis. 

o Possibly add color tables. 

o Implement automatic loading of drivers from .so files - plugins. 

As a result of this the GDAL source tree will see substantial activity, and
disruption. GDAL raster support may be pretty broken in a variety of ways 
over the next couple of months. 

Currently plans call for the (eventual) addition of the following methods 
on GDALRasterBand:

const char *GetDescription();
char **GetCategoryNames();
CV_ColorInterpretation GetColorInterpretation();
double GetNoDataValue( int *pbSuccess = NULL );
double GetMinimum( int *pbSuccess = NULL );
double GetMaximum(int *pbSuccess = NULL );
double GetOffset( int *pbSuccess = NULL );
double GetScale( int *pbSuccess = NULL );
const char *GetUnitType();
GDALColorTable *GetColorTable();

int GetHasArbitraryOverviews();
int GetOverviewCount();
GDALRasterBand *GetOverview(int);

Points of note:

o Category names are returned as a string list, implying that sparse category
names (ie. using class numbers like 1000, 2000, and 3000) will work very 
poorly. This is inherited from the approach in OGC Coverages. 

o Bands have a color interpretation (values like Red, Green, Blue, Greyscale, 
Unknown, Hue, ...). 

o nodata, min and max are all available, but the methods may indicate the
underlying datastore doesn't have anything by returning pbSuccess as FALSE.

o Overviews are just GDALRasterBand objects again. In GeoGateway overviews
were represented as bands on separate datasets. In GDAL I intend for the
overviews to be "freestanding" GDALRasterBands, and not regular bands on
any corresponding GDALDataset. 

Best regards,

---------------------------------------+--------------------------------------
I set the clouds in motion - turn up | Frank Warmerdam, warmerda at h...
light and sound - activate the windows | http://members.home.com/warmerda
and watch the world go round - Rush | Geospatial Programmer for Rent




More information about the Gdal-dev mailing list