Changes between Version 40 and Version 41 of WKTRaster/GDALDriverSpecificationWorking
- Timestamp:
- Sep 8, 2011, 5:32:24 PM (13 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
WKTRaster/GDALDriverSpecificationWorking
v40 v41 134 134 '''Jorge:''' Basically correct, but I need to add some notes here: 135 135 136 Basic GDAL I/O follow this schema: GDALDataSet::RasterIO --> GDAL RasterBand::RasterIO --> Divide requested window in blocks, matching GDAL block size, specified in band constructor --> Look for block data in cache --> (if data not in cache) ReadBlock --> IReadBlock (your driver's implementation)[[BR]]136 Basic GDAL I/O follow this schema: GDALDataSet::RasterIO --> GDALDataset::IRasterIO --> (for each band) GDALRasterBand::RasterIO --> Divide requested window in blocks, matching GDAL block size, specified in band constructor --> Look for block data in cache --> (if data not in cache) ReadBlock --> IReadBlock (your driver's implementation)[[BR]] 137 137 138 138 A lot of formats raster formats use tiles, and GDAL is prepared for that, with the ''block'' concept. So, if a raster coverage is dividied in tiles, GDAL defines ''natural block size'' as ''the block size that is most efficient for accessing the format'', understanding ''block'' as ''raster tile''. For this reason, most drivers implement its own version of IReadBlock method. They delegate the I/O system in GDAL core, and only provide blocks of data when required. GDAL, besides, provides a block cache.[[BR]]