Work done

This week:

  • I’ve fixed a bug with overviews’ dimensions.
  • I’ve successfully tested the overviews with dumpoverviews utility. I had to introduce small changes in the code to accept connections to PostgreSQL as input datasets. I created a patch for the original code, but it has no sense to use it without the rest of WKT Raster driver.
  • I’ve added support for outdb rasters. It has to be tested.
  • I’ve changed the way the driver gets the data from database. To minimize the rounds to the server, I’ve created a kind of “cache” system at Dataset’s level. After opening the dataset (establish a database connection, basically), The driver tries to fetch all the blocks covered by the whole raster’s extent. In case of success, it store all the blocks as WKTRasterWrapper objects in an array at Dataset. Then,WKTRasterRasterBand::IReadBlock method get the blocks from this array. If fails, execute a query to fetch it from database. I’m testing this cache system just now.

Planned work for next week

Next week is the last one. I’ll finish testing the tasks of this week and I’ll write final documentation and some testing scripts.

There are todo tasks, of course. But I’ve planned to continue with the project after GSoC, and my mentors think it’s a good idea.

Problems found

The way to implement the cache system. An option was to use the cache at RasterBand’s level (GDALBlocks), but one of my mentors suggested me other idea, and I adopted it.