[fdo-internals] Re: Raster Resampling within FDO GDAL
trevor_wekel at otxsystems.com
Wed Apr 11 10:48:53 EDT 2012
Hi Greg, Hi Jackie,
Jackie - yes I think the changes will be limited to the GDAL configuration document and schema override classes.
Greg - I have a client interested in (and funding) the prototype work for raster resampling. If the API change is made in 3.7 then I will not have to maintain a separate patch build of the FDO GDAL provider for my client and a wider audience will have access to the additional functionality.
The resampling enhancement is not a small change. There are already 300+ lines of code change. Most of the change is layered above the FdoRfpStreamReaderGdalByTile class in a tightly coupled FdoRfpStreamReaderGdalByTileResample class. I tried to leave the existing provider code intact as much as possible so existing behaviour (and performance) remained the same if resampling was not used.
The prototype is currently using an environment variable to set the resampling method. This is ok for a basic prototype but not very useful in a production environment with different raster types. I will probably steam ahead with the schema/connection string changes so we have a better idea of the code impact for the complete feature - assuming everyone is ok with the approach.
And finally, I may also add a "ResamplingRatio" tag/property to control the size of the pixel grid used during the resampling. For example "2" would indicate a 2x2 grid for each displayed pixel, "3" would indicate a 3x3 grid for each displayed pixel, etc. I have to test this out with the bilinear transform to see if a bilinear 3x3 generates better image quality than a bilinear 2x2.
I guess I will need to write up an RFC at some point. I should be able to attach a complete code patch by the time I get to writing the RFC.
More information about the fdo-internals