Changes between Version 38 and Version 39 of WKTRasterDriver
- Timestamp:
- Jul 26, 2009, 3:19:33 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WKTRasterDriver
v38 v39 4 4 5 5 6 ********** UPDATED ON 2009/07/ 19***********6 ********** UPDATED ON 2009/07/26 *********** 7 7 8 8 … … 17 17 [http://www.gis4free.org/blog/2009/07/04/gsoc-09-weekly-report-6-2606-0307/ Weekly report #6 (26/06 - 03/07)][[BR]] 18 18 [http://www.gis4free.org/blog/2009/07/13/gsoc-09-weekly-report-7-0307-1007/ Weekly report #7 (03/07 - 10/07)][[BR]] 19 [http://www.gis4free.org/blog/2009/07/20/gsoc-09-weekly-report-8-1007-1707/ Weekly report #8 (10/07 - 17/07)] 19 [http://www.gis4free.org/blog/2009/07/20/gsoc-09-weekly-report-8-1007-1707/ Weekly report #8 (10/07 - 17/07)][[BR]] 20 [http://www.gis4free.org/blog/2009/07/26/gsoc-09-weekly…report-9-1707-2407/ Weekly report #8 (17/07 - 24/07)] 20 21 21 22 == General overview == … … 83 84 I'll need more testing, anyway. 84 85 86 == Wrappers for Dataset and RasterBand == 87 88 The code was really complex after implementing fully read-only support for regular-blocking raster. And it was really inconvenient to manage with the hexwkb format in the RasterBand methods. So, I created two wrappers: WKTRasterWrapper and WKTRasterBandWrapper. 89 90 The WKTRasterWrapper represents a WKTRaster, with a raster header and an array of raster bands. The constructor of the class takes a hexwkb string as input, and fill all the raster header's properties and create the raster band wrappers. ''WKTRasterBand'' class has been declared as ''friend'' class, so, it can modify any raster field. The more important part is a method, called ''GetHexWkbRepresentation'' that returns the updated hexwkb string each time is called. It will be useful to perform the inplace update, or to update the RASTER_COLUMNS table if needed. 91 92 The WKTRasterBandWrapper represents a raster band. This class is managed by WKTRasterWrapper class. It has one method, ''SetData'', that updates the data of the band. 93 94 I think these wrappers will simplify the rest of the work. 95 85 96 == Overviews == 86 97 … … 92 103 1. Create one Dataset per overview in the Open method of WKTRasterDataset class. Is necessary to check the number of overviews of the given table, using the RASTER_OVERVIEWS metadata table. Is necessary to set the name of the overviews table in each created Dataset. 93 104 1. Create the rasterbands for each overview Dataset. Change the pixel size by using the overview factor. 105 1. Create metadata entries for each overview as elements of SUBDATASETS metadata domain in Dataset. 94 106 95 107 96 108 == Out-db rasters == 97 109 98 I'm working in the implementation of the support for out-db rasters too. The point is to read the band data from a file in the filesystem, instead of fetching it from database. I suppose that the file in the filesystem contains ONLY the raster bands data.110 I'm working in the implementation of the support for out-db rasters too. The point is to read the band data from a file in the filesystem, instead of fetching it from database. The files will be a fully-qualified raster files. Maybe TIFF files. This issue is undecided and under development just now (July 26th) 99 111 100 == Project plan ( please, edit as convenient) ==112 == Project plan (The tasks will be revised to the end of the GSoC) == 101 113 102 114 ||'''Objectives and tasks'''||'''Approx. Schedule'''||'''Status'''|| … … 108 120 ||RasterBand: Query the correct block and fetch the raster data||15th July||Done|| 109 121 ||'''Objective 1.1 - Support of different pixel data types, take care of byte swapping'''||'''17th July'''||'''Done'''|| 110 ||'''Objective 2 - Support access to overviews'''||'''26th July'''||''' On going'''||111 ||'''Objective 3 - Support for out-db rasters'''||'''26th July'''||'''On going'''||112 ||'''Objective 4 - Rasters inplace update'''||'''26th July'''||'''todo'''||122 ||'''Objective 2 - Support access to overviews'''||'''26th July'''||'''Done'''|| 123 ||'''Objective 3 - Rasters inplace update'''||'''26th July'''||'''Done'''|| 124 ||'''Objective 4 - Support for out-db rasters'''||'''2th August'''||'''On going'''|| 113 125 ||'''Objective 5 - Read only support for non-regular blocking rasters'''||'''2th-10th August'''||'''todo'''|| 114 126 ||Objective 5.1 - Block caching in Raster Band||2th-10th August||todo|| … … 124 136 The quotes of this page are taken from: 125 137 * The WKT Raster specification documents, from Pierre Racine. 126 * The GDAL Driver implementation tutorial: http://www.gdal.org/gdal_drivertut.html, from ¿Frank Warmerdam?138 * The GDAL Driver implementation tutorial: http://www.gdal.org/gdal_drivertut.html, from Frank Warmerdam 127 139 * The GDAL Data model: http://www.gdal.org/gdal_datamodel.html, from ¿Frank Warmerdam? 128 140 * Comments sent by mail or posted in my blog by Tamas Szekeres, Mateusz Loskot, Frank Warmerdam, Even Rouault, Pierre Racine.